1Quick StartAnuchit Chalothornanoochit@gmail.comLicensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.
About MeCurrent● Senior Software Engineer @ SIPA● Writer @ thaiopensource.org● Open Source Contributor
Prerequisites● Java Programming Language● Database Management System● Web Service● Web Application Programming● Version Control System
Smartphone● Mobile phone that offer more advanced computing ability, feature and connectivity● Handheld computer integrated with mobile telephone● They also provide their own operating system with application development frameworkRef: http://en.wikipedia.org/wiki/Smartphone
Application PlatformsPlatforms Language RemarkAndroid Java, C, C++ http://developer.android.comiOS Object-C,HTML5 http://developer.apple.comBlackberry C/C++,Java,HTML5,Air http://developer.blackberry.comWindows C# http://dev.windowsphone.com/Tizen C++ https://developer.tizen.org/SailFish C++ https://sailfishos.org/develop.htmlUbuntu Touch QML, HTML5 https://wiki.ubuntu.com/Touch
What is Android ?Android is a Linux-based operating systemdesigned primarily for touchscreen mobiledevices such as smartphones and tabletcomputers.
Why Android ?Technical advantage ● No need to pay, you can develop and test in your own device ● Open Source Platform ● Java programming language ● Rich and easy to integrate feature set ● Development environment support in Windows, Mac, Linux
Why Android ?Business advantage ● Google Play ○ Integrated market app ○ One time low registration fee ($25) ● Many Distribution Channel ● Low Barrier to Market ○ No approval process ○ Less restriction copyright issue
Opportunities● Google Play● Amazon Appstore for Android● Cisco Enterprise Market● Blackberry App World● 3th party distribution channel ○ Andspot ○ Handango ○ Getjar ○ SlideMe ○ AppBrain ○ etc
Developer Tools● Java SDK (6 is better)● Eclipse or ADT bundle● Android Development Toolkit (ADT)● Android SDK● Smartphone or Tablet (optional)● Install emulator images a.k.a AVD* If you want to use an emulator your machine must have at least 4GB of ram, atom image and intelhardware accelerator software.
Design Tools● Pencil● Fluid UI● Device Art Generator● Google Play Badge● Android Asset Studio● Font Awesome
30 Minutes install software● Java SDK● Eclipse or ADT bundle● Install ADT● Install Android SDK Tools● Install Android Platform Tools● SDK Platform & Google APIs (10,17)● Install System images (Atom)● Android Support Library● Google Admob Ads SDK● Intel x86 Emulator Accelerator (HAMX)
Create your first App● Create new Android project...● Identify project name or application name● Identify package name usually use reverse domain name eg: com.example.appname● Select Minimum API Level● Select Target API Level● Select Compile with API Level● Theme
Running your AppOnly 2 ways to test your application● Running on your device ○ this is better way but dont forget to install USB driver for debugging and set your device to USB debugging● Running on your emulator ○ very slow, you should accept this issue T_T
Project structure● src● gen● assets● libs● res ○ drawable ○ layout ○ menu ○ values● AndroidManifest.xml
Building simple UI● Play with UI designer● Put some widgets to your activity ○ Label ○ Text Editor ○ Button ○ etc● Run your app again...