Professional Documents
Culture Documents
Ahsanul Karim
ahsanul.karim@sentinelbd.com
http://www.sentinelbd.com http://androidstream.wordpress.com
Before Introduction
But, let me try after all its a free seminar. No ones going to kill me.
5. It might get a little more interesting if the attendants are allowed to have the opportunity to play or use some of the android apps themselves.
Can you suggest how can we do that? May be next time well try. We may review some good apps today.
7. You can give us some video about mobile application programming which can help us.
Well provide you complete course content with video tutorials we did in BASIS (Bangladesh Association of Software & Information Services)
So Today
1. Get Basic Idea on Mobile and Smartphone Applications 2. Get Basic Idea on Mobile, Smartphone & Tablet Platforms 3. Identify the Position of Android Platform 4. Background and History of Android 5. Get the Idea: Why Should We Learn Android Platform 6. Opportunities 7. Some App Demos 8. System Architecture 9. Environment Setup to Kick-start 10. Application Structure 11. Cross-platform development 12. Resources
Youll get detailed history about how this technology evolved over the years
Another example can be: Daily Planner Application Possible Features: 1. Task List 2. Reminder 3. Appointment etc.
2.
Devices are one kind of such systems) . Target devices range from industrial controls to mobile phones with Java (KVM support). Formerly known as Java 2 Platform, Micro Edition (J2ME). For details: http://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition
Nokia, Samsung, Sony Ericsson and many other vendors supports J2ME for applications and games development
2. 3. 4.
Device Compatibility Issues Not enough Access to Core System of the Phone Vendor Specific Implementation of KVM
3.
To learn about smart phones in details: http://en.wikipedia.org/wiki/Smartphone Youll get detailed history about how this technology evolved over the years
Language (s)
Java, C, C++ C, C++
Remarks
Open Source OS (Based on Linux) http://developer.android.com Samsungs mobile platform running on Linux or RealTime OS http://developer.bada.com Java, Web Apps, Java ME compatible, extensions enable tighter integration http://na.blackberry.com/eng/developers Requires Apple Developer Account http://developer.apple.com/iphone Intel and Nokia guided open source OS (based on Linux) http://meego.com/developers OS built from the ground up for mobile devices http://www.forum.nokia.com/symbian
BlackBerry
iOS MeeGo
Symbian
Language (s)
HTML, CSS, JavaScript, C C#, C
Remarks
Supports widget style programming (based on Linux) http://developer.palm.com .NET CF or Windows Mobile API, most devices ship with Java ME compatible JVM http://developer.windowsmobile.com Silverlight, XNA Frameworks http://create.msdn.com
C#, VB.NET
Source: http://mobileplatforms.wikidot.com/
Application Platforms
Why Android
They say a picture is worth a thousand words!!
Mobile Operators
Markets: Distribution
Java programming language Rich and easy to integrate feature sets Easy, effective and cost-effective prototyping for research and business
Development Environment Support in Windows, Mac & Linux (Ubuntu)
Android market:
Integrated market app One time low registration fee
Enterprise Market:
https://marketplace.cisco.com/
Enterprise Market:
$ $
Similar trend is seen in other freelancing sites Can be a good source of income to support your own product development or research
It gave us Googles Device Seeding Program Award Features: 1. Support for wide range of languages 2. Share translated text (Email,SMS,twitter,facebook) Pronounciation and speech output 3. Website translation Document translation and share via email 4. Auto-prompt to translate SMS received 5. Optimized for all Android devices
mHealth
eMOCA (www.emocha.org) Developed by the Johns Hopkins Center for Clinical Global Health Education, eMOCHA uses video, audio, touchscreen quizzes, GPS and SMS to collect and analyze large amounts of data.
mHealth
ClickDiagnostics
http://clickdiagnostics.com/
Developed by ClickDiagnostics, uses video, audio, touchscreen Quizzes to upload data to server to reach the consultants.
http://www.youtube.com/watch?v=REsEgrhmMjc
What is Android
Android is a software stack for mobile devices that includes an
Google describes Android as: The first truly open and comprehensive platform for mobile devices, all of the software to run a mobile phone but without the proprietary obstacles that have hindered mobile innovation.
Android Features
Features
1. Application framework 2. Dalvik virtual machine 3. Integrated browser 4. Optimized graphics 5. SQLite Storage 6. Media support 7. GSM Telephony 8. Bluetooth, EDGE, 3G, and WiFi 9. Camera, GPS, compass, and accelerometer 10.Rich development environment
Thermal Sensor
+
Gyroscope
TTS
Android Architecture
Supported Development Environment (Eclipse IDE based) 1. Eclipse 3.4 (Ganymede) or greater/Eclipse Classic (versions 3.5.1 and higher) 2. JDK 1.5 or 1.6 3. ADT Plugin
Download and Install the SDK starter package from the table above (Highlighted)
ADT Plugin:
Android Development Tools (ADT) is a plugin for the Eclipse IDE for 1. 2. 3. 4. 5. extending the capabilities of Eclipse to set up new Android projects creating an application UI adding components based on the Android Framework API debugging your applications using the Android SDK tools exporting signed (or unsigned) APKs in order to distribute your application
You have already seen this for previous case Helios Expecting a question
Well become familiar to our new IDE gradually and I swear youll start loving it
So, we have to set the location of Android SDK and show it to our IDE To do so.
Lets say Hello to the Android World! Now that our development environment is ready, well build our first Android application.
In the subsequent slides: 1. Well create an application step by step using the help of IDE and ADT. 2. Well then explain application structure and identify the building blocks. 3. Well experiment with components and learn to convert our innovative ideas into neat apps.
Lets Go Deep
Created Project has the following structure Project Structure
-Source (src) -Generated Class (gen) -Android 1.6 library -Assets (assets) -Resource(res) -drawable-hdpi -drawable-ldpi -drawable-mdpi -layout -values -AndroidMenifest.xml -default.properties
Project Structure
Created Project has the following structure Project Structure
-Source (src) -Generated Class (gen) -Android 1.6 library -Assets (assets) -Resource(res) -drawable-hdpi -drawable-ldpi -drawable-mdpi -layout -values -AndroidMenifest.xml -default.properties
In the HelloActivity class the view of the Activity is set from main.xml given below
-assets
Holds other static files you wish packaged with the application for deployment onto the device. In this project, we have none
-gen/R.java
-values/strings.xml
XML file describing the application being built and what components activities, services, etc. are being supplied by that application
Cross-platform Development
1. RhoMobile
http://rhomobile.com/
2. Appcelerator
http://www.appcelerator.com/
3. PhoneGap
http://www.phonegap.com/
Resources: DVD
DVD Content
Tutorials
Day Content
1. Video Tutorials 2. PPT Slides
Ebooks
Tools
1. 2. 3. 4.
Tutorials & Design Guidelines SDK References Articles on Pragmatic & Good Practices & anything youll need including Google IO Videos
Questions?