1. Sessão Técnica Portugal GTUG
Como fazer boas aplicações para Android
Diogo Júnio - @drjunior
Bernardo Pina - @bioblink
Manuel Silva - @manuelvsc
2. What’s a GTUG?
GTUG stand for Google Technology Users Group
GTUGs are user groups for people who are
interested in Google's developer technology
3. What is Android?
Is a mobile operating system
Run on the Linux kernel
Developed by Google and the Open Handset Alliance
(a consortium of 48 hardware, software, and telecom companies )
Was announced publicly on 5 November 2007
First mobile device, the G1, was announced on
September 2008
4. What is Android?
An open source, open platform for mobile development
All the SDK, API and platfrom source is available
No licensing, no app review
Replace any system app with your own
5. Programming Android Applications
Written in Java
Run in Dalvik Virtual Machine (optimized for mobile devices)
Uses its own bytecode, not Java Bytecode
7. Resources –Hardware Independent
Integrated Browser based on WebKit Engine
Graphics 2d and 3d optimized(OpenGL ES 1.0)
SQLite to save structured data
Multimedia support
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
8. What is an application ? (1/2)
Application package file : myapplication.apk
Composed by one or more activities
AndroidManifest.xml
Activities
- A single screen in your application
Views
- Object who know how to draw itself on the screen
- ListView, MapView, WebView, TextView, EditText…
9. What is an application ? (2/2)
Layouts
- Views Containers
- RelativeLayout, Linearlayout, FrameLayout…
Permissions
- Low level access to features(GSM, Internet, GPS, SMS…)
- Declared by the developer
- User prompt on the market at installation
Services
- Background services
Notifications
- Receive and react to broadcasted events
10. How to code ?
Java SDK
Android SDK
- Android Emulator – Linux, Windows , Mac
- Command Line Tools
- adb - Android Debug Bridge
Eclipse
Eclipse Plugin - ADT
12. Documentation/Help
Android Developers website
http://developer.android.com
Android Developers Google Group
http://groups.google.com/group/android-developers
Twitter
http://twitter.com/androiddev
AndroidpPT– Android programming section
http://www.androidpt.com/index.php?option=com_kunena&func=listcat&catid=40
&Itemid=31
13. User Interface Guidelines
Icon Design Guidelines
- The Icon Guidelines describe each kind of icon in detail, with
specifications for the size, color, shading, and other details for making
all your icons fit in the Android system.
Activity and Task Design Guidelines
- These guidelines describe how activities work, illustrates them
with examples, and describes important underlying principles and
mechanisms, such as multitasking, activity reuse, intents, the activity
stack, and tasks. It covers this all from a high-level design perspective.
Menu Design Guidelines
- These guidelines describe the difference between Options and
Context menus, how to arrange menu items, when to put commands
on-screen, and other details about menu design.
http://developer.android.com/guide/practices/ui_guidelines/index.htm
l
16. Best practices for UI features and
behavior patterns
http://android-developers.blogspot.com/2010/05/twitter-for-android-closer-look-at.html
17. Dashboard
Dashboard
- The dashboard pattern serves as a home orientation activity for your users.
- It is meant to include the categories or features of your application.
18. Actionbar
ActionBar
- The Action bar gives your users onscreen access to the most frequently
used actions in your application.
- It works with the Dashboard, as the upper left portion of the Action bar
is where we recommend you place a quick link back to the dashboard
or other app home screen.