Android development beginners faq
-
Upload
khirulnizam-abd-rahman -
Category
Technology
-
view
5.468 -
download
1
description
Transcript of Android development beginners faq
ANDROID DEVELOPMENT:
BEGINNER’S FAQSSlideshare.net/khirulnizam
fb.com/khirulnizam
blog.kerul.net
Android Dev 101
June 23, 2012
Khirulnizam Abd Rahman
12/04/2023 http://blog.kerul.net 2
Agenda Intro Demo 1: New Android project
Properties windowAndroid EmulatorDDMS - Dalvik Debug MonitorDemo 2: Widgets and Interactions
Day 2 - 24-06-2013 (8.30am - 4pm)Demo 3: HTML and WebviewDemo 4: Audio
Demo 5: VideoSigning APK
Uploading to Google Play
12/04/2023 http://blog.kerul.net 3
Android Devices
12/04/2023 http://blog.kerul.net 4
Android Story
http://www.techsavys.info/2011/07/the-android-story-an-android-infographic-discussing-about-its-beginning-on-going-changes-and-worldwide-market-shares.html
12/04/2023 http://blog.kerul.net 5
Faq1: What is Android? Android is a software stack for mobile devices
that includes an operating system, middleware and key applications (platform). The Android SDK provides the tools and APIs necessary to begin developing applications on the Android platform using the Java programming language.
The kernel of most Android version is based on Linux 2.6 (3.0 for ICS).
Android architecture;
12/04/2023 http://blog.kerul.net 6
Android Architecture
12/04/2023 http://blog.kerul.net 7
Faq2: Who develop Android?
Initially developed by Andrew (Andy) Rubin and his team in Android Inc.
Google acquired Android Inc. in 2005.
Now, it is developed by Google under Andy Rubin (Senior Vice President of Mobile)
12/04/2023 http://blog.kerul.net 8
Faq3: How many versions (distributions) Android has?
12/04/2023 http://blog.kerul.net 9
Source: http://developer.android.com/resources/dashboard/platform-versions.html
12/04/2023 http://blog.kerul.net 10
Faq4: What is API Level? API Level is an integer value that uniquely
identifies the framework API revision offered by a version of the Android platform.
The Android platform provides a framework API that applications can use to interact with the underlying Android system.
12/04/2023 http://blog.kerul.net 11
Faq5: What is Android app? Developer can develop application that runs
on top of Android. App is actually a simpler version of
application. Uses *.apk for the installer file extension.
12/04/2023 http://blog.kerul.net 12
App samples
12/04/2023 http://blog.kerul.net 13
Faq6: What is the language used to develop Android app?
Java compiled into Dalvik Bytecode (NOTJava
bytecode). Android provides Dalvik virtual machine-
DVM inside Android (NOT Java virtual machine-JVM)
Using Android API – (with some Java APIs).
12/04/2023 http://blog.kerul.net 14
Faq7: What is Dalvik Virtual Machine, is it similar as JVM?
Author - Dan Bornstein Dalvik VM implementing slightly different
architecture to JVM. Dalvik VM is a register-based
architecture. Being optimized for low memory and
slower processing speed. The VM was slimmed down to use less
space.
12/04/2023 http://blog.kerul.net 15
Faq8: What are tools needed to develop Android App?
Latest JDK – version 6 - http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u27-download-440405.html (not yet tested against JDK 7)
Eclipse (as the IDE) - http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/indigor
Android Development Toolkit (ADT 12) for Eclipse - http://developer.android.com/sdk/eclipse-adt.html
Android SDK - http://developer.android.com/sdk/ Installation guide - http://
blog.kerul.net/2011/06/eclipse-helios-android-development.html
Third parties: Titanium, PhoneGap, Unity3D
12/04/2023 http://blog.kerul.net 16
IDE - Eclipse
12/04/2023 http://blog.kerul.net 17
AppInventor - appinventor.mit.edu/
12/04/2023 http://blog.kerul.net 18
Emulator
12/04/2023 http://blog.kerul.net 19
Dalvik Debugger
12/04/2023 http://blog.kerul.net 20
Faq8: Where to distribute my App?
market.android.com MobileApps.com GetJar.com
12/04/2023 http://blog.kerul.net 21
12/04/2023 http://blog.kerul.net 22
12/04/2023 http://blog.kerul.net 23
Android Project Structure Inside Android Project, there should be;
/src – the Java codes are here/gen – generated automatically/assets – put your fonts, videos, sounds here/res – images, layout and global variables /drawable-hdpi –for high spec phones /drawable-ldpi –for low spec phones /drawable-mdpi –for medium spec phones /layout – all XML file for the screen(s) layout /values – global constant variables
12/04/2023 http://blog.kerul.net 24
12/04/2023 http://blog.kerul.net 25
AndroidManifest
AndroidManifest.xml – app’s permissions need to be registered here – (eg: app can access Internet, phone contacts, camera, etc must be mentioned here)
12/04/2023 http://blog.kerul.net 26
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
android:versionCode="7"
android:versionName="1.7"
package="net.kerul.mMathurat">
<application android:icon="@drawable/icon" android:label="@string/app_name"
android:taskAffinity=".mMathuratActivity">
<activity android:name=".mMathuratActivity"
android:label="@string/app_name"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Aboutus" class=".Aboutus"
android:label="Mengenai kami..." android:screenOrientation="portrait">
</activity>
<activity android:name=".Berterusan" class=".Berterusan"
android:label="Mod pemanduan..." android:screenOrientation="portrait">
</activity>
</application>
<uses-sdk android:minSdkVersion="7" />
<receiver android:name=".DetectIncomingCall">
<intent-filter>
<action android:name="android.intent.action.PHONE_STATE" />
</intent-filter>
</receiver>
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.VIBRATE"></uses-permission>
</manifest>
12/04/2023 http://blog.kerul.net 27
DEMO
Demo 0: The IDE (Eclipse + ADT) Demo 1: Creating a new Android Project
(and the project structure). Demo 2: Widgets and interaction –
Textbox and Button. Demo 3: HTML and WebView Demo 4: APK and Distribution
12/04/2023 http://blog.kerul.net 28
Q&A
TQvm