Create Android Hello World!
Step-1
• The first step is to create a simple Android
Application using Android studio. When you
click on Android studio icon, it will show
screen as shown below
Step-2
• You can start your application development by
calling start a new android studio project. in a
new installation frame should ask Application
name, package information and location of
the project.
Step-3
• After entered application name, it going to be
called select the form factors your application
runs on, here need to specify Minimum SDK,
like API23: Android 6.0(Mashmallow), 25, 26
etc.
Step-4
• The next step contains selecting the activity to
mobile, it specifies the default layout for
Applications.
Step-5
• At the final stage, it going to be open
development tool to write the application
code.
Anatomy of Android Application
• Before you run your app, you should be aware
of a few directories and files in the Android
project −
Sr.No. Folder, File & Description
Java
This contains the .java source files for your
project. By default, it includes
1 an MainActivity.java source file having an
activity class that runs when your app is
launched using the app icon.
res/drawable-hdpi
2 This is a directory for drawable objects that are
designed for high-density screens.
res/layout
3 This is a directory for files that define your
app's user interface.
res/values
This is a directory for other various XML files
4 that contain a collection of resources, such as
strings and colours definitions.
AndroidManifest.xml
This is the manifest file which describes the
5 fundamental characteristics of the app and
defines each of its components.
Build.gradle
This is an auto generated file which contains
compileSdkVersion, buildToolsVersion,
6 applicationId, minSdkVersion,
targetSdkVersion, versionCode and
versionName
The Main Activity File
• The main activity code is a Java
file MainActivity.java. This is the actual
application file which ultimately gets
converted to a Dalvik executable and runs
your application. Following is the default code
generated by the application wizard for Hello
World! application
Here, R.layout.activity_main refers to the activity_main.xml file
located in the res/layout folder. The onCreate() method is one of
many methods that are figured when an activity is loaded.
package com.example.helloworld;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
The Manifest File
• Whatever component you develop as a part of
your application, you must declare all its
components in a manifest.xml which resides at
the root of the application project directory. This
file works as an interface between Android OS
and your application, so if you do not declare
your component in this file, then it will not be
considered by the OS. For example, a default
manifest file will look like as following file
Structure of Manifest file
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.tutorialspoint7.myapplication">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label=“@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
• Here <application>...</application> tags enclosed the components related to the
application. Attribute android:icon will point to the application icon available
under res/drawable-hdpi. The application uses the image named ic_launcher.png
located in the drawable folders
• The <activity> tag is used to specify an activity and android:name attribute
specifies the fully qualified class name of the Activity subclass and
the android:label attributes specifies a string to use as the label for the activity.
You can specify multiple activities using <activity> tags.
• The action for the intent filter is named android.intent.action.MAIN to indicate
that this activity serves as the entry point for the application. The categoryfor the
intent-filter is named android.intent.category.LAUNCHER to indicate that the
application can be launched from the device's launcher icon.
• The @string refers to the strings.xml file explained below.
Hence, @string/app_name refers to the app_name string defined in the
strings.xml file, which is "HelloWorld". Similar way, other strings get populated in
the application.
• Following is the list of tags which you will use
in your manifest file to specify different
Android application components −
– <activity>elements for activities
– <service> elements for services
– <receiver> elements for broadcast receivers
– <provider> elements for content providers
The Strings File
• The strings.xml file is located in
the res/values folder and it contains all the
text that your application uses. For example,
the names of buttons, labels, default text, and
similar types of strings go into this file. This file
is responsible for their textual content. For
example, a default strings file will look like as
following file −
strings.xml
• <resources>
• <string name="app_name">HelloWorld</string>
• <string name="hello_world">Hello world!</string>
• <string name="menu_settings">Settings</string>
• <string
name="title_activity_main">MainActivity</string>
• </resources>
The Layout File
• The activity_main.xml is a layout file available
in res/layout directory, that is referenced by
your application when building its interface.
You will modify this file very frequently to
change the layout of your application. For your
"Hello World!" application, this file will have
following content related to default layout −
activity_main.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/andr
oid" xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" > <TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:padding="@dimen/padding_medium"
android:text="@string/hello_world"
tools:context=".MainActivity" /> </RelativeLayout>
• The TextView is an Android control used to
build the GUI and it have various attributes
like android:layout_width, android:layout_hei
ght etc which are being used to set its width
and height etc.. The @string refers to the
strings.xml file located in the res/values folder.
Hence, @string/hello_world refers to the hello
string defined in the strings.xml file, which is
"Hello World!".