2. About Me
Current
● Senior Software Engineer @ SIPA
● Writer @ thaiopensource.org
● Open Source Contributor
3. Prerequisites
● Java Programming Language
● Database Management System
● Web Service
● Web Application Programming
● Version Control System
4. 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
framework
Ref: http://en.wikipedia.org/wiki/Smartphone
7. Application Platforms
Platforms Language Remark
Android Java, C, C++ http://developer.android.com
iOS Object-C,HTML5 http://developer.apple.com
Blackberry C/C++,Java,HTML5,Air http://developer.blackberry.com
Windows C# http://dev.windowsphone.com/
Tizen C++ https://developer.tizen.org/
SailFish C++ https://sailfishos.org/develop.html
Ubuntu Touch QML, HTML5 https://wiki.ubuntu.com/Touch
8. What is Android ?
Android is a Linux-based operating system
designed primarily for touchscreen mobile
devices such as smartphones and tablet
computers.
9. 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
10. 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
11. Opportunities
● Google Play
● Amazon Appstore for Android
● Cisco Enterprise Market
● Blackberry App World
● 3th party distribution channel
○ Andspot
○ Handango
○ Getjar
○ SlideMe
○ AppBrain
○ etc
33. 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 intel
hardware accelerator software.
34. Design Tools
● Pencil
● Fluid UI
● Device Art Generator
● Google Play Badge
● Android Asset Studio
● Font Awesome
35. 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)
36.
37.
38. 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
42. Running your App
Only 2 ways to test your application
● Running on your device
○ this is better way but don't 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
43.
44. Project structure
● src
● gen
● assets
● libs
● res
○ drawable
○ layout
○ menu
○ values
● AndroidManifest.xml
45. Building simple UI
● Play with UI designer
● Put some widgets to your activity
○ Label
○ Text Editor
○ Button
○ etc
● Run your app again...