Android development beginners faq

28
ANDROID DEVELOPMENT: BEGINNER’S FAQ S Slideshare.net/ khirulnizam fb.com/ khirulnizam blog.kerul.net Android Dev 101 June 23, 2012 Khirulnizam Abd Rahman

description

Several important questions an beginner Android developer must know.

Transcript of Android development beginners faq

Page 1: 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

Page 2: Android development  beginners faq

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

Page 3: Android development  beginners faq

12/04/2023 http://blog.kerul.net 3

Android Devices

Page 5: Android development  beginners faq

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;

Page 6: Android development  beginners faq

12/04/2023 http://blog.kerul.net 6

Android Architecture

Page 7: Android development  beginners faq

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)

Page 8: Android development  beginners faq

12/04/2023 http://blog.kerul.net 8

Faq3: How many versions (distributions) Android has?

Page 10: Android development  beginners faq

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.

Page 11: Android development  beginners faq

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.

Page 13: Android development  beginners faq

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).

Page 14: Android development  beginners faq

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.

Page 15: Android development  beginners faq

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

Page 16: Android development  beginners faq

12/04/2023 http://blog.kerul.net 16

IDE - Eclipse

Page 17: Android development  beginners faq

12/04/2023 http://blog.kerul.net 17

AppInventor - appinventor.mit.edu/

Page 18: Android development  beginners faq

12/04/2023 http://blog.kerul.net 18

Emulator

Page 19: Android development  beginners faq

12/04/2023 http://blog.kerul.net 19

Dalvik Debugger

Page 20: Android development  beginners faq

12/04/2023 http://blog.kerul.net 20

Faq8: Where to distribute my App?

market.android.com MobileApps.com GetJar.com

Page 21: Android development  beginners faq

12/04/2023 http://blog.kerul.net 21

Page 22: Android development  beginners faq

12/04/2023 http://blog.kerul.net 22

Page 23: Android development  beginners faq

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

Page 24: Android development  beginners faq

12/04/2023 http://blog.kerul.net 24

Page 25: Android development  beginners faq

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)

Page 26: Android development  beginners faq

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>

Page 27: Android development  beginners faq

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

Page 28: Android development  beginners faq

12/04/2023 http://blog.kerul.net 28

Q&A

TQvm