[go: up one dir, main page]

0% found this document useful (0 votes)
17 views24 pages

Chapter 3 - Mobile Programming Basic (Android)

Chapter 3 covers the basics of mobile programming, focusing on Android application development, including setting up the development environment, creating a simple 'hello world' app, and understanding the Android application life cycle. It introduces the Android Open Source Project and the Open Handset Alliance, highlighting the importance of Java knowledge and the use of Eclipse for development. The chapter also provides resources for further learning and details on the structure of an Android application.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views24 pages

Chapter 3 - Mobile Programming Basic (Android)

Chapter 3 covers the basics of mobile programming, focusing on Android application development, including setting up the development environment, creating a simple 'hello world' app, and understanding the Android application life cycle. It introduces the Android Open Source Project and the Open Handset Alliance, highlighting the importance of Java knowledge and the use of Eclipse for development. The chapter also provides resources for further learning and details on the structure of an Android application.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 24

CHAPTER 3 : Mobile Programming Basic

Subtopic
• Understanding Mobile Application Development Kit
• Building your first "hello world" program
• Compiling to emulator
• Compiling to device
• Program structure explained
• Mobile Application Life Cycle
• Program debugging
Android Programming
What is Android?


Includes a Java API for developing applications

It is not a device or product
The Android Open Source Project (AOSP)
• An open source Linux-based operating system intended for mobile computing
platforms
• An initiative led by Google
– Makes the source code of the Android OS available for all
Read, review, and modify the code to your liking
• The main goals of the AOSP
– Provide a set of compatibility guidelines—for OEMs (Original Equipment
Manufacturers) and device manufacturers—for porting Android to custom
devices
– Build accessories that comply with Android’s open accessory standard Allows
OEMs and manufacturers to deliver a standard experience
• Making radical changes to that experience introduces fragmentation in the
The Open Handset Alliance
• Android, Inc
Created by Andy Rubin, Acquired by Google in 2005.
• Open Handset Alliance (OHA)
– Formed in November 2007
– Business alliance composed of mobile players
• Chip makers
• Handset manufacturers
• Software developers
• Service providers
• OHA began developing open standards based on Android, Inc. technologies. The
result is the Android project.
• Google provided the initial code, online documentation, tools, forums, and SDK.
Manufacturers: Designing Android Devices

• Samsung
• Motorola
• Dell
• Sony Ericsson
• HTC
• LG
• Amazon
• Intel
• NVIDIA
Android vs. iPhone

Java vs. Objective-C


Direct install vs. Marketplace vs. App Store


Open source?
What Should Students Already Know?

Java!
– inheritance, method overriding
– interfaces, casting
– exceptions
– debugging
– reading API documentation


Eclipse
– easy to pick up quickly, though
Do I Need Phones?

The emulator that is part of the Android toolset
for Eclipse is quite good (though a bit slow)


You may be able to get free “developer phones”
from Google
Online Resources

developer.android.com


code.google.com/p/apps-for-android/


stackoverflow.com


videos from Google I/O conferences
“Hello, Android”
Creating Your First(?) Android App

1. Set up your development environment

2. Create a new Android project in Eclipse

3. Run it in the emulator

4. Hilarity ensues
1. Set Up Your Android Environment

http://developer.android.com/sdk

Install Android Studio with Android SDK

(Android libraries)

Install JDK if it is not in your computer

Create AVD (Android virtual device)
2. Create an Android Project


File → New → Project


Select “Android Project”


Fill in Project details...
Directory
name

Android
version

Name that appears Java package


on device

Class to
automatically
create
Source
code

Auto-generated
code

String
constants
UI
layout

Configuration
3. Run the Android Application

Run → Run (or click the “Run” button)

Select “Android Application”


The emulator may take a few minutes to start, so be patient!


You don't need to restart the emulator when you have a
new version of your application
HelloAndroid.java
1 public class HelloAndroid extends Activity {
2 /** Called when the activity is first created. */
3 @Override
4 public void onCreate(Bundle savedInstanceState)
5 {
6 super.onCreate(savedInstanceState);
7 setContentView(R.layout.main);
8 }
9 }
main.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <LinearLayout
3 xmlns:android="http://schemas.android.com/apk/res/android"
4 android:orientation="vertical"
5 android:layout_width="fill_parent"
6 android:layout_height="fill_parent"
7 >
8 <TextView
9 android:layout_width="fill_parent"
10 android:layout_height="wrap_content"
11 android:text="@string/hello "
12 />
13 </LinearLayout>
strings.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <resources>
3 <string name="hello">Hello World, HelloAndroid!
4 </string>
5 <string name="app_name">Hello, Android</string>
6 </resources>
AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <manifest
3 xmlns:android="http://schemas.android.com/apk/res/android"
4 package="edu.upenn.cis542"
5 android:versionCode="1"
6 android:versionName="1.0">
7 <application android:icon="@drawable/icon"
8 android:label="@string/app_name">
9 <activity android:name=".HelloAndroid"
10 android:label="@string/app_name">
11 <intent-filter>
12 <action
13 android:name="android.intent.action.MAIN" />
14 <category
15 android:name="android.intent.category.LAUNCHER"/>
16 </intent-filter>
17 </activity>
18 </application>

You might also like