Android Development

429 views

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
429
On SlideShare
0
From Embeds
0
Number of Embeds
8
Actions
Shares
0
Downloads
15
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Android Development

  1. 1. ANDROID DEVELOPMENTPaulo Hecht
  2. 2. AGENDA Android Android SDK Android ADT Android Studio Android NDK Emuladores Publishing Core Concepts of SDK API Activity Intent Context Resources Architecture Patterns Agile Development Test Driven Development HTML5 Games?2
  3. 3. ANDROID Open-Source Linux Based Android Inc. aquired by Google in 2005 First device released with Android in 2008 Samsung, Motorola, HTC, LG, etc. Mobile Phones, Tablets, Tvs, Ouya 3034 different devices.3
  4. 4. MARKET SHARE4
  5. 5. ANDROID SDK SDK Manager QEMU Emulator AVD Manager ADB Fastboot Any IDEMay use Apache Ant5
  6. 6. ANDROID ADT Eclipse Plugin / Bundle6
  7. 7. ANDROID STUDIO IntelliJ Idea Community Refactoring, Fixes, Multiple Config Preview7
  8. 8. ANDROID NDK Native Code using C/C++ Java Native Interface (JNI) Android 2.2 Dalvik has a just-in-time compiler CPU Intensive applications I mean really INTENSIVE… Reuse C/C++ code Did I mention how INTENSIVE it must be?8
  9. 9. EMULADORES QEMU Virtual Box VMware9
  10. 10. PUBLISHING10
  11. 11. CORE CONCEPTS Activity Lifecycle The OS is who decidesif your activity willbe closed or not.11
  12. 12. CORE CONCEPTS Activity Single focused thing the user is doing. It’s generally a whole window. A canvas where you layout the app. Now, there are Activity Groups. Design for Micro-tasks in mobiles.12
  13. 13. CORE CONCEPTS Context Application Environment Language Resolution/Density Orientation Resources Strings, Images, Layouts, Colors All have specific context13
  14. 14. CORE CONCEPTS Intent Denotes the intention to open another activity. Stack another activity in your app. Opens a registered Intent: Share Something Capture a Picture Get a Bar/QR Code Send a Text14
  15. 15. CORE CONCEPTS Intent Examples: Launch Camera:Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);startActivityForResult(cameraIntent, CAMERA_PIC_REQUEST); Launch Share:Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);sharingIntent.setType("text/plain");sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "Subject Here");sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "Text Here");startActivity(Intent.createChooser(sharingIntent, "Share via")); Launch Other Activity:Intent openActivityIntent = new Intent(getApplicationContext(), NextScreen.class);startActivity(openActivityIntent);15
  16. 16. ARCHITECTURE PATTERNS MVC (Model-View-Controller) Views are activities Controllers are handlers Models are domainobjects16ModelView Controllershowuser input
  17. 17. ARCHITECTURE PATTERNS MVP (Model-View-Presenter) Views are activities. Presenters retrieve data,format, display and receiveevents. Models are strictlydomain objects.17PresenterViewModel
  18. 18. AGILE DEVELOPMENT18
  19. 19. TTD19 QUALITY Focus Continuous Deployement Android testing framework Roboelectric DDD and BDD
  20. 20. HTML520 UIView Wrapper (PhoneGape, Titanium) Access to sensors Some mobile look-and-feel frameworks:Jquery Mobile Sencha Touch
  21. 21. GAMES?21 AndEngine Cocos2D Corona SDK NME Haxe Unity3D Unreal

×