Upload
drjuniornet
View
1.553
Download
2
Tags:
Embed Size (px)
Citation preview
Sessão Técnica Portugal GTUG Como fazer boas aplicações para Android
Diogo Júnio - @drjunior Bernardo Pina - @bioblink Manuel Silva - @manuelvsc
GTUG stand for Google Technology Users Group
GTUGs are user groups for people who are
interested in Google's developer technology
What’s a GTUG?
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
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
Programming Android Applications
Written in Java
Run in Dalvik Virtual Machine (optimized for mobile devices)
Uses its own bytecode, not Java Bytecode
Resources –Hardware Dependent
GSM Bluetooth, 3G, WIFI
Touchscreen, keypad, Trackball
Camera, GPS, Compass and Accelerometer NFC…
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)
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…
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
How to code ?
Java SDK Android SDK - Android Emulator – Linux, Windows , Mac - Command Line Tools - adb - Android Debug Bridge
Eclipse Eclipse Plugin - ADT
Tools ADT Android Emulator
Android Virtual Device Hierarchy Viewer
Layoutopt Draw 9-Patch Dalvik debug Monitor Service
Android Debug Bridge Android Asset Packaging Tool
Android interface definition language Sqlite3 Traceview
Mksdcard Dx
Ui/Aplication Exerciser Monkey Android
zipalign
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
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
http://speckyboy.com/2010/05/10/android-app-developers-gui-kits-icons-fonts-and-tools/
Android App Developers GUI Kits, Icons, Fonts and Tools
Android Asset Studio
Android Icon Templates
http://j.mp/androidassetstudio
http://developer.android.com/guide/practices/ui_guidelines/icon_design.html#templatespack
UI Prototyping Stencils
http://android-developers.blogspot.com/2010/05/twitter-for-android-closer-look-at.html
Best practices for UI features and behavior patterns
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.
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.