Lecture 4 - Android - Hello World Example
Lecture 4 - Android - Hello World Example
Example
Dr. Fareed Ahmed Jokhio
Hello World Example
• Let us start actual programming with Android Framework.
Before you start writing your first example using Android SDK,
you have to make sure that you have set-up your Android
development environment properly.
• I also assume that you have a little bit working knowledge with
Android studio.
• So let us proceed to write a simple Android Application which
will print "Hello World!".
Create Android Application
• 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
Create Android Application
Create Android Application
• 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.−
Create Android Application
Create Android Application
• After entered application name, it going to be called select the
form factors your application runs on, here need to specify
Minimum SDK, in our tutorial, I have declared as API23: Android
6.0(Mashmallow) −
Create Android Application
Create Android Application
• The next level of installation should contain selecting the activity
to mobile, it specifies the default layout for Applications.
Create Android Application
Create Android Application
• At the final stage it going to be open development tool to write
the application code.
Create Android Application
Anatomy of Android Application
• Before you run your app, you should be aware of a few
directories and files in the Android project −
Anatomy of Android Application
Anatomy of Android Application
• 1. Java
• This contains the .java source files for your project. By default,
it includes an MainActivity.java source file having an activity
class that runs when your app is launched using the app icon.
• 2. res/drawable-hdpi
• This is a directory for drawable objects that are designed for
high-density screens.
Anatomy of Android Application
• 3. res/layout
• This is a directory for files that define your app's user interface.
• 4. res/values
• This is a directory for other various XML files that contain a
collection of resources, such as strings and colours definitions.
• 5. AndroidManifest.xml
• This is the manifest file which describes the fundamental
characteristics of the app and defines each of its components.
Anatomy of Android Application
• 5. Build.gradle
• This is an auto generated file which contains
compileSdkVersion, buildToolsVersion, applicationId,
minSdkVersion, targetSdkVersion, versionCode and
versionName
• Following section will give a brief overview of the important
application files.
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 −
The Main Activity File
• package com.example.helloworld;
• import android.support.v7.app.AppCompatActivity;
• import android.os.Bundle;
• <application
• android:allowBackup="true"
• android:icon="@mipmap/ic_launcher"
• android:label="@string/app_name"
• android:supportsRtl="true"
• android:theme="@style/AppTheme">
The Manifest File
•
• <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>
The Manifest File
• 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 Manifest File
• 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 Manifest File
• 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 category for
the intent-filter is named android.intent.category.LAUNCHER to
indicate that the application can be launched from the device's
launcher icon.
The Manifest File
• 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.
The Manifest File
• 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 −
The Manifest File
• <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 −
The Layout File
• <RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
• xmlns:tools="http://schemas.android.com/tools"
• android:layout_width="match_parent"
• android:layout_height="match_parent" >
The Layout File
•
• <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>
• This is an example of simple RelativeLayout which we will study
in a separate chapter. The TextView is an Android control used
to build the GUI and it have various attributes
like android:layout_width, android:layout_height 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!".
Running the Application
• Let's try to run our Hello World! application we just created. I assume
you had created your AVD while doing environment set-up. To run the
app from Android studio, open one of your project's activity files and
click Run Eclipse Run Icon from the tool bar. Android studio installs
the app on your AVD and starts it and if everything is fine with your
set-up and application, it will display following Emulator window −
Running the Application
• Congratulations!!! you have developed your first Android
Application and now just keep following rest of the tutorial step
by step to become a great Android Developer. All the very best.