Your SlideShare is downloading. ×
Android Bootstrap Developing Android applications with         open-source tools.
about me
What is it?         &Why is it needed?
expectations• Installed IntelliJ or know how to use  Maven with Eclipse• Have an emulator or device to test with• Intermed...
HistoryAndroid Bootstrap’s Beginning
Data
 driv                          en
 from
 an
   API
 on
 Parse.com
 
Features Included•   RoboGuice               •   Fragments•   ActionBarSherlock       •   View Pager•   Maven Build       ...
Setup Time                     (For all the tools and frameworks listed previously)                                       ...
 is
 what
 tIn my experience: 3~5days                                         usually
 looks
 l                                       he
 cycle
 of
 dev                                                                                                                      ...
 over
 the
 c                                        elopment
                                                                                                                          ...
 days/weFor a beginner: 1~3 weeks                                                                                         ...
Where’s the code?
AndroidBootstrap.com  Generate your app with the correct app nameand package name. Coming in the next two weeks.
Until then, get it here:github.com/donnfelker/android-bootstrap
Building the App
What is Maven?A build/project/dependency tool (and more!).       All defined in the pom.xml file.
Maven App Arch    Parent and Child POM’s
Building with Maven            You will need Maven 3.0.3 (or greater) to run this.    Open your command prompt.Navigate to...
 the
 app   (10 Min. Cap)             this
 bu
Upcoming SlideShare
Loading in...5
×

Android Bootstrap

9,161

Published on

Deck for Android Bootstrap presented at HDC12.

Published in: Technology
1 Comment
18 Likes
Statistics
Notes
No Downloads
Views
Total Views
9,161
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
0
Comments
1
Likes
18
Embeds 0
No embeds

No notes for slide
  • This is basically a show and tell where you’re going to be able to change things on the fly. \n
  • \n
  • * Inspired by Twitter Bootstrap and iOS Boilerplate and uses code from Github Gauges and the Github androia pp. \n* Needed because getting set up with ALL of these frameworks and tools is a royal pain.\n\n\n\n
  • \n
  • \n
  • \n
  • * Note that there is no content resolver, YET, but there will be soon with examples of how to write and reas from teh underlying SQLite database. \n
  • \n
  • Next slide shows URL of the site.\n
  • Open browser if needed. \n
  • Next slide shows URL of the site.\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • * Show how the code has to be reimplemented by combining the libraries. \n
  • Next up Account Manager\n
  • Next up Account Manager\n
  • Next up: HTTP Communication\n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • \n
  • Transcript of "Android Bootstrap"

    1. 1. Android Bootstrap Developing Android applications with open-source tools.
    2. 2. about me
    3. 3. What is it? &Why is it needed?
    4. 4. expectations• Installed IntelliJ or know how to use Maven with Eclipse• Have an emulator or device to test with• Intermediate level
    5. 5. HistoryAndroid Bootstrap’s Beginning
    6. 6. Data
    7. 7.  driv en
    8. 8.  from
    9. 9.  an
    10. 10.   API
    11. 11.  on
    12. 12.  Parse.com
    13. 13.  
    14. 14. Features Included• RoboGuice • Fragments• ActionBarSherlock • View Pager• Maven Build • View Pager Indicator• Custom Theme • Http-Request Support• HTTP Communication • Custom List Items• Consume JSON Endpoint • Remote Image Download File Caching• Account Manager • RoboAsyncTask• GSON • ... and more
    15. 15. Setup Time (For all the tools and frameworks listed previously) this
    16. 16.  is
    17. 17.  what
    18. 18.  tIn my experience: 3~5days usually
    19. 19.  looks
    20. 20.  l he
    21. 21.  cycle
    22. 22.  of
    23. 23.  dev ike
    24. 24.  over
    25. 25.  the
    26. 26.  c elopment
    27. 27.   ourse
    28. 28.  days/weFor a beginner: 1~3 weeks eks 10% 20%Analysis/ResearchGetting it to work/Smashing face into deskProcrastination 70%
    29. 29. Where’s the code?
    30. 30. AndroidBootstrap.com Generate your app with the correct app nameand package name. Coming in the next two weeks.
    31. 31. Until then, get it here:github.com/donnfelker/android-bootstrap
    32. 32. Building the App
    33. 33. What is Maven?A build/project/dependency tool (and more!). All defined in the pom.xml file.
    34. 34. Maven App Arch Parent and Child POM’s
    35. 35. Building with Maven You will need Maven 3.0.3 (or greater) to run this. Open your command prompt.Navigate to /path/to/android-bootstrap Run this command: mvn clean package ilds
    36. 36.  the
    37. 37.  app (10 Min. Cap) this
    38. 38.  bu
    39. 39. IntelliJ (Our IDE) Open IntelliJ File Open ProjectNavigate to /path/to/android-bootstrap Open pom.xml (20 Min. Cap)
    40. 40. Maven Settings• Force Import• Check download sources in settings
    41. 41. IntelliJMavenSettings
    42. 42. Import Maven Projects
    43. 43. You Should See ... (In the project window, left hand side of screen)
    44. 44. Run Configuration Run Edit Configurations Create a new Maven configuration:
    45. 45. Run Configuration Run Edit Configurations important basical ly
    46. 46.  says
    47. 47.  ... nd
    48. 48.  at
    49. 49.  this
    50. 50.  location” en,
    51. 51.  run
    52. 52.  this
    53. 53.  comma“hey
    54. 54.  mav
    55. 55. Build in IntelliJ?• Sometimes can get wonky.• Always default to command line.
    56. 56. IntelliJ Shortcuts Change keymapping: File Preferences• OSX (OSX Keymapping) • CMD + N: Go to Class • CMD + SHIFT + N: Go to file • CMD + B: Go to definition• Windows/Linux • CTRL + N: Go to Class • CTRL + SHIFT + N: Go to file • CTRL + B: Go to definition
    57. 57. App Architecture
    58. 58. Bootstrap Architecture • parent • app • integration tests
    59. 59. Action Bar Sherlock RoboGuice uice
    60. 60.  
    61. 61.  RoboG ABS
    62. 62.   ed
    63. 63.  ...notice
    64. 64.  
    65. 65.  combin are
    66. 66. Custom Theme Theme.Bootstrap.Dark
    67. 67. Account Manager Implemented so you don’t have to (thank goodness)
    68. 68. Account Manager Gotchas Different Process - Hard to debugMost of the time - don’t access the main UI thread Can access via the Android settings
    69. 69. HTTP CommunicationService Layer / JSON Consumption w/ GSON
    70. 70. Parse Using the Parse.com REST APIExample request: curlcurl -X GET -H X-Parse-Application-Id: zHb2bVia6kgilYRWWdmTiEJooYA17NnkBSUVsr4H -H X-Parse-REST-API-Key: N2kCY1T3t3Jfhf9zpJ5MCURn3b25UpACILhnf5u9 https://api.parse.com/1/classes/ Example response: { results: [ { location: { __type: GeoPoint, latitude: 33.379530000000003, longitude: -111.94038999999999 }, name: Free Range CrossFit, createdAt: 2012-09-03T23:49:31.055Z, updatedAt: 2012-09-03T23:49:44.065Z, objectId: NuomvMZ91i }, ... }
    71. 71. View Pager Indicator Understanding the framework
    72. 72. Understanding Fragments Reusable components Framework Fragments - Fragment - List Fragment App Types - ItemListFragmentT
    73. 73. Create a new Fragment
    74. 74. The Other Great StuffBasic Android Examples in the App• Serializable Objects• Starting Activities• The Intent Chooser
    75. 75. Hack Session
    76. 76. Thanks!

    ×