Android development beginners faq

Post on 12-May-2015

5.468 views 1 download

Tags:

description

Several important questions an beginner Android developer must know.

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