Your SlideShare is downloading. ×
0
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Android Lab
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Android Lab

822

Published on

Android Lab …

Android Lab
http://leonguyen.com

Published in: Technology, Art & Photos
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
822
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
601
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. LeoNguyen.com
  • 2. Outline - Lab 01: An introduction to Android - Lab 02.1: Linear Layout - Lab 02.2: Layout - Lab 02.3: List View Layout - Lab 02.4: Menu - Lab 02.5: Dialog - Lab 02.6: Widget - Lab 03.1: Shares Preferences - Lab 03.2: SQLite - Lab 03.3: Internal and External - Lab 04.1: Intent - Lab 04.2: Content Provider - Lab 04.3: Broadcast Receiver
  • 3. Outline (cont) - Lab 05: An introduction to PhoneGap
  • 4. References - Developer Android (developer.android.com) - Mobile Tus (mobile.tutsplus.com) - Androidhive (www.androidhive.info) - Code Of A Ninja (www.codeofaninja.com) - Vogella (www.vogella.com/android.html) - Java Papers (www.javapapers.com) - Android-er (android-er.blogspot.com) - Mkyong (http://bit.ly/12XCJOW) - Java2s (www.java2s.com) - Dan Clarke (dan.clarke.name) - My Sample Code (www.mysamplecode.com) - Android Design Patterns (www.androiddesignpatterns.com) - Wagied Davids (w2davids.wordpress.com)
  • 5. References (cont) - MyDoople (www.mydoople.com) - Android Dev (http://bit.ly/10IFFRm) - Viralpatel (http://bit.ly/18ICNZd) - Scaloid (blog.scaloid.org) - Android UI (androiduiux.com) - Android Begin (http://bit.ly/11f1Lri) - Android Exp (http://bit.ly/Zm0ktu) - Developer Feed (http://bit.ly/11MY1lR) - Programmer Guru (android.programmerguru.com) - Suvendu (http://bit.ly/10IHKge) - Xamarin (http://bit.ly/15sGkpW) - Marakana (http://bit.ly/13vM0y6) - Grokking Android (www.grokkingandroid.com)
  • 6. References (cont) - Android Mobile Develope (http://bit.ly/148e7Wr) - Android Patterns (www.androidpatterns.com) - Tutorial Point (http://bit.ly/13vMmF9) - Android Education (android-ed.blogspot.com) - Tech Blog On (http://bit.ly/11f2Wa5) - Android App Market (www.android-app-market.com) - Java Code Geeks (http://bit.ly/18IFOsh) - New Think Tank (http://bit.ly/13cXN5G) - Android Aspect (www.androidaspect.com) - Android Hub 4 You (www.androidhub4you.com) - Surviving With Android (www.survivingwithandroid.com) - Sachin Shelke (http://bit.ly/10R5kUG) - Knowledge of Experience (http://bit.ly/13vNLv7)
  • 7. References (cont) - Android For Beginners (http://bit.ly/Zm2wRS) - Clean Code (http://bit.ly/19yBbzX) - Think Android (thinkandroid.wordpress.com) - Romain Guy (http://bit.ly/13vOc91) - Mr Bool (mrbool.commrbool.com) - Android Guide Tips (http://bit.ly/Zm2Rns) - The Android (http://bit.ly/12XIJHl) - Android Tuts (androidituts.com) - Traintelco (bit.ly/15YprUo) - Pavand (bit.ly/15sWbqS)
  • 8. Lab 01 An introduction to Android
  • 9. Outline - Download and install JDK - Download Android Developer Tools (ADT) - Write a Helloworld program (Use ADT) - Download Android Studio - Write a Helloworld program (Use AS)
  • 10. Exercise 1 Download and install JDK
  • 11. JDK & JRE
  • 12. Task 1 - Download JDK - Goto Java download site http://www.oracle. com/technetwork/java/javase/downloads/index.html
  • 13. Task 1 - Download JDK (cont) - Select Java Platform (JDK), choose your operation platform (eg Window X86) and download it
  • 14. Task 2 - Install JDK - Run the downloaded installer, which installs both the JDK (Java Development Kit) and JRE (Java Runtime). By default the JDK and JRE will be installed into directories C:Program FilesJava
  • 15. Task 3 - Config PATH environment variables - Windows Operating System searches the current directory and the directories listed in the PATH environment variable for executable programs invoked from the CMD shell. It helps programmer can compile Java code in CMD shell. - Click the "Start" button > "Control Panel" > "System" > (Vista/7 only) "Advanced system settings"
  • 16. Task 3 - Config PATH .. (cont)
  • 17. Task 4 - Verify the JDK Installation - Launch a CMD shell > type java –version to check that JDK is properly installed and display its version, and javac to check Path work properly too.
  • 18. Exercise 2 Download ADT
  • 19. Task 1: Download ADT - Go to: http://developer.android.com/sdk/index.html
  • 20. Task 2: Open Android SDK Manager - Install Android API
  • 21. Task 3: Create Android Virtual Device - Goto Tools > Manage AVDs
  • 22. Task 3: Create Android Virtual Device (cont) - Choose New.
  • 23. Task 3: Create Android Virtual Device (cont) - Choose Start.
  • 24. Exercise 3 Write a Helloworld program (Use ADT)
  • 25. Task 1: Run Eclipse ADT - Open eclipse.exe
  • 26. Task 2: Create Android Application - Go to File > New > Android Application Project
  • 27. Task 2: Create Android Application (cont)
  • 28. Task 2: Create Android Application (cont) - The Main XML Layout: https://gist.github. com/leonguyen/5351679
  • 29. Task 3: Write a MainActivity program - Open MainActivity.java: https://gist.github. com/leonguyen/5351695
  • 30. Task 3: Write a MainActivity program (cont) - Enter code: https://gist.github.com/leonguyen/5301102
  • 31. Task 4: Execute your program - Choose "Run As" > "Android Application"
  • 32. Task 4: Execute your program (cont) - Select and start AVD.
  • 33. Task 4: Execute your program (cont) - Choose running Android device.
  • 34. Task 4: Execute your program (cont) - Choose AndroidLab.
  • 35. Exercise 4 Download AS
  • 36. Task 1: Download AS - Go to: http://developer.android.com/sdk/installing/studio.html
  • 37. Exercise 5 Write a Helloworld program (Use AS)
  • 38. Task 1: Run AS - Open Android Studio shortcut.
  • 39. Task 2: Create Android Application - Select New Project...
  • 40. Task 2: Create Android Application (cont) - Input Android application name.
  • 41. Task 2: Create Android Application (cont) - Input Android application icon.
  • 42. Task 2: Create Android Application (cont) - Select Android application activity.
  • 43. Task 2: Create Android Application (cont) - Input Android application activity name.
  • 44. Lab 02.1 Linear Layout
  • 45. Outline - Linear Layout - Linear Layout - Message - Linear Layout - Quiz - Linear Layout - Login - Linear Layout - Register - Linear Layout - Home
  • 46. Exercise 1 Linear Layout
  • 47. Linear Layout - A layout is a view group that aligns all children in a single direction, vertically or horizontally. - All children of a LinearLayout are stacked one after the other, so a vertical list will only have one child per row, no matter how wide they are, and a horizontal list will only be one row high (the height of the tallest child, plus padding). A LinearLayout respects margins between children and the gravity (right, center, or left alignment) of each child.
  • 48. Layout weight - To create a linear layout in which each child uses the same amount of space on the screen, set the android:layout_height of each view to "0dp" (for a vertical layout) or the android: layout_width of each view to "0dp" (for a horizontal layout). Then set the android:layout_weight of each view to "1".
  • 49. Task 1: Create XML Layout - Right click on the res/layout folder.
  • 50. Task 2: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5308746
  • 51. Task 3: Execute your program - Choose "Run As" > "Android Application"
  • 52. Exercise 2 Linear Layout - Message
  • 53. Task 1: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5325407
  • 54. Task 2: Execute your program - Choose "Run As" > "Android Application"
  • 55. Exercise 3 Linear Layout - Quiz
  • 56. Task 1: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5325424
  • 57. Task 2: Execute your program - Choose "Run As" > "Android Application"
  • 58. Exercise 4 Linear Layout - Login
  • 59. Task 1: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5329665
  • 60. Task 2: Execute your program - Choose "Run As" > "Android Application"
  • 61. Exercise 5 Linear Layout - Register
  • 62. Task 1: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5329865
  • 63. Task 2: Execute your program - Choose "Run As" > "Android Application"
  • 64. Exercise 6 Linear Layout - Home
  • 65. Task 1: Create XML Drawable - Right click on the res folder.
  • 66. Task 2: Defining an XML Drawable - Enter code: https://gist.github.com/leonguyen/5516102
  • 67. Task 3: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5515898
  • 68. Task 4: Execute your program - Choose "Run As" > "Android Application"
  • 69. Lab 02.2 Layout
  • 70. Outline - Relative Layout - Relative Layout - Reminder - Relative Layout - Work - Table Layout - Table Layout - Weather - Scroll View
  • 71. Exercise 1 Relative Layout
  • 72. Relative Layout - A layout is a view group that displays child views in relative positions.
  • 73. Positioning Views - Some of the many layout properties available to views in a RelativeLayout include: android:layout_alignParentTop If "true", makes the top edge of this view match the top edge of the parent. android:layout_centerVertical If "true", centers this child vertically within its parent. android:layout_below Positions the top edge of this view below the view specified with a resource ID. android:layout_toRightOf Positions the left edge of this view to the right of the view specified with a resource ID. These are just a few examples. All layout attributes are documented at RelativeLayout.LayoutParams.
  • 74. Task 1: Create XML Layout - Right click on the res/layout folder.
  • 75. Task 2: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5309283
  • 76. Task 3: Execute your program - Choose "Run As" > "Android Application"
  • 77. Exercise 2 Relative Layout - Reminder
  • 78. Task 1: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5325475
  • 79. Task 2: Execute your program - Choose "Run As" > "Android Application"
  • 80. Exercise 3 Relative Layout - Work
  • 81. Task 1: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5329563
  • 82. Task 2: Execute your program - Choose "Run As" > "Android Application"
  • 83. Exercise 4 Table Layout
  • 84. Table Layout - A layout that arranges its children into rows and columns. A TableLayout consists of a number of TableRow objects, each defining a row (actually, you can have other children, which will be explained below). TableLayout containers do not display border lines for their rows, columns, or cells. Each row has zero or more cells; each cell can hold one View object. The table has as many columns as the row with the most cells. A table can leave cells empty. Cells can span columns, as they can in HTML.
  • 85. Task 1: Create XML Layout - Right click on the res/layout folder.
  • 86. Task 2: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5325531
  • 87. Task 3: Execute your program - Choose "Run As" > "Android Application"
  • 88. Exercise 5 Table Layout - Weather
  • 89. Task 1: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5325537
  • 90. Task 2: Execute your program - Choose "Run As" > "Android Application"
  • 91. Exercise 6 Scroll View
  • 92. Task 1: Create XML Layout - Right click on the res/layout folder.
  • 93. Task 1: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5331192
  • 94. Task 2: Execute your program - Choose "Run As" > "Android Application"
  • 95. Lab 02.3 List View Layout
  • 96. Outline - List View - List View with Custom Layout - List View with Context Menu - List View with Custom Adapter - List View with Custom ArrayList - List View with Activity - List View with Activity and Custom Main Layout - List View with Thread
  • 97. Exercise 1 List View
  • 98. List View - A view group that displays a list of scrollable items. The list items are automatically inserted to the list using an Adapter that pulls content from a source such as an array or database query and converts each item result into a view that's placed into the list.
  • 99. ArrayAdapter - Use this adapter when your data source is an array. By default, ArrayAdapter creates a view for each array item by calling toString() on each item and placing the contents in a TextView.
  • 100. Task 1: Create ListView Activity - Enter code: https://gist.github.com/leonguyen/5335106
  • 101. Task 2: Execute your program - Choose "Run As" > "Android Application"
  • 102. Exercise 2 List View with Custom Layout
  • 103. Task 1: Create XML Layout - Right click on the res/layout folder.
  • 104. Task 2: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5335460
  • 105. Task 3: Create ListView Activity - Enter code: https://gist.github.com/leonguyen/5335493
  • 106. Task 4: Execute your program - Choose "Run As" > "Android Application"
  • 107. Exercise 3 List View with Context Menu
  • 108. Task 1: Create ListView Activity - Enter code: https://gist.github.com/leonguyen/5335493
  • 109. Task 2: Register ListView for ContextMenu - Enter code.
  • 110. Task 3: Create Context Menu XML - Right click on the res/menu folder.
  • 111. Task 4: Defining an Context Menu XML - Enter code: https://gist.github.com/leonguyen/5345210
  • 112. Task 3: Create onCreateContextMenu() - Right click on editor.
  • 113. Task 4: Create onContextItemSelected() - Right click on editor.
  • 114. Task 5: Add menu - Enter code: https://gist.github.com/leonguyen/5344253
  • 115. Task 6: Execute your program - Choose "Run As" > "Android Application"
  • 116. Exercise 3 List View with Custom Adapter
  • 117. Task 1: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5335460
  • 118. Task 2: Create Custom Adapter class - Enter code: https://gist.github.com/leonguyen/5450429
  • 119. Task 3: Create List View Activity - Enter code: https://gist.github.com/leonguyen/5450482
  • 120. Task 4: Execute your program - Choose "Run As" > "Android Application"
  • 121. Exercise 4 List View with Custom ArrayList
  • 122. Task 1: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5632592
  • 123. Task 2: Create Custom Adapter class - Enter code: https://gist.github.com/leonguyen/5632608
  • 124. Task 3: Create List View Activity - Enter code: https://gist.github.com/leonguyen/5632651
  • 125. Task 4: Execute your program - Choose "Run As" > "Android Application"
  • 126. Loader - Using a CursorLoader is the standard way to query a Cursor as an asynchronous task in order to avoid blocking your app's main thread with the query. - When the CursorLoader receives the Cursor result, the LoaderCallbacks receives a callback to onLoadFinished(), which is where you update your Adapter with the new Cursor and the list view then displays the results.
  • 127. SimpleCursorAdapter - Use this adapter when your data comes from a Cursor. When using SimpleCursorAdapter, you must specify a layout to use for each row in the Cursor and which columns in the Cursor should be inserted into which views of the layout.
  • 128. Lab 02.4 Menu
  • 129. Outline - Option Menu
  • 130. Exercise 1 Option Menu
  • 131. Task 1: Create Dialog XML Layout - Right click on the res/menu folder.
  • 132. Task 3: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5353541
  • 133. Task 3: Create onCreateContextMenu() - Right click on editor.
  • 134. Task 4: Add Option Menu - Enter code: https://gist.github.com/leonguyen/5353562
  • 135. Task 4: Execute your program - Choose "Run As" > "Android Application"
  • 136. Lab 02.5 Dialog
  • 137. Outline - Alert Dialog - Dialog with Custom Layout
  • 138. Exercise 1 Alert Dialog
  • 139. Task 1: Create Button in Main Layout - Edit file res/layout/activity_main.xml: https://gist.github. com/leonguyen/5351375
  • 140. Task 2: Create Alert Dialog program - Enter code: https://gist.github.com/leonguyen/5353961
  • 141. Task 3: Execute your program - Choose "Run As" > "Android Application"
  • 142. Exercise 2 Dialog with Custom Layout
  • 143. Task 1: Create Button in Main Layout - Edit file res/layout/activity_main.xml: https://gist.github. com/leonguyen/5351375
  • 144. Task 2: Create Dialog XML Layout - Right click on the res/layout folder.
  • 145. Task 3: Defining an XML Layout - Enter code: https://gist.github.com/leonguyen/5351420
  • 146. Task 3: Create Custom Dialog program - Enter code: https://gist.github.com/leonguyen/5351822
  • 147. Task 4: Execute your program - Choose "Run As" > "Android Application"
  • 148. Lab 02.6 Widget
  • 149. Outline - Widget
  • 150. Widget - App Widgets are miniature application views that can be embedded in other applications (such as the Home screen) and receive periodic updates. - To create an App Widget, you need the following: + AppWidgetProviderInfo object Describes the metadata for an App Widget, such as the App Widget's layout, update frequency, and the AppWidgetProvider class. + AppWidgetProvider class implementation Defines the basic methods that allow you to programmatically interface with the App Widget, based on broadcast events. + View layout Defines the initial layout for the App Widget, defined in XML.
  • 151. Exercise 1 Widget
  • 152. Task 1: Defining an Widget Drawable - Enter code: https://gist.github.com/leonguyen/5667758
  • 153. Task 2: Defining an Widget XML Layout - Enter code: https://gist.github.com/leonguyen/5667769
  • 154. Task 3: Create AppWidgetProviderInfo Metadata - Right click on the res/xml folder.
  • 155. Task 4: Defining AppWidgetProviderInfo Metadata - Enter code: https://gist.github.com/leonguyen/5667832
  • 156. Task 5: Create Widget Provider program - Enter code: https://gist.github.com/leonguyen/5667853
  • 157. Task 6: Declaring an App Widget in the Manifest - Enter code: https://gist.github.com/leonguyen/5667862
  • 158. Task 7: Execute your program - Choose "Run As" > "Android Application": http://youtu.be/LTsvhrDoDg
  • 159. Lab 03.1 Shared Preferences
  • 160. Outline - Shared Preferences - Shared Preferences - Preference Activity
  • 161. Shared Preferences - The SharedPreferences class provides a general framework that allows you to save and retrieve persistent key-value pairs of primitive data types. You can use SharedPreferences to save any primitive data: booleans, floats, ints, longs, and strings. This data will persist across user sessions (even if your application is killed). + getSharedPreferences() - Use this if you need multiple preferences files identified by name, which you specify with the first parameter. + getPreferences() - Use this if you need only one preferences file for your Activity. Because this will be the only preferences file for your Activity, you don't supply a name.
  • 162. Exercise 1 Shared References
  • 163. Task 1: Defining Main XML Layout - Edit file res/layout/activity_main.xml: https://gist.github. com/leonguyen/5402754
  • 164. Task 2: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5402780
  • 165. Task 3: Execute your program - Choose "Run As" > "Android Application": http://youtu. be/Gj2VkO8zxaM
  • 166. Exercise 2 Shared References - Reference Activity
  • 167. Task 1: Defining Main XML Menu - Edit file res/menu/main.xml: https://gist.github. com/leonguyen/5409423
  • 168. Task 2: Create Array XML Value - Right click on the res/values folder.
  • 169. Task 3: Defining Array XML Value - Edit file res/xml/arrays.xml: https://gist.github.com/leonguyen/5409973
  • 170. Task 4: Create Preference XML - Right click on the res/xml folder.
  • 171. Task 5: Defining Preference XML - Edit file res/xml/preferences.xml: https://gist.github.com/leonguyen/5409597
  • 172. Task 6: Create PreferenceActivity - Enter code: https://gist.github.com/leonguyen/5409613
  • 173. Task 7: Defining Android Manifest - Enter code: https://gist.github.com/leonguyen/5409836
  • 174. Task 8: Write MainActivity program - Enter code: https://gist.github.com/leonguyen/5410070
  • 175. Task 9: Execute your program - Choose "Run As" > "Android Application": http://youtu. be/CDyIaC3woZU
  • 176. Task 9: Execute your program (cont)
  • 177. Task 9: Execute your program (cont)
  • 178. Lab 03.2 SQLite
  • 179. Outline - SQLite - SQLite with Multiple Tables - SQLite with CRUD - SQLite with Multiple Tables CRUD - SQLite with Design Pattern
  • 180. Exercise 1 SQLite
  • 181. Task 1: Create Database class - Enter code: https://gist.github.com/leonguyen/5425508
  • 182. Task 2: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5425557
  • 183. Task 3: Execute your program - Choose "Run As" > "Android Application"
  • 184. Exercise 2 SQLite with Multiple Tables
  • 185. Task 1: Create Entity class - Enter code: https://gist.github.com/leonguyen/5425418
  • 186. Task 2: Create Database Object class - Enter code: https://gist.github.com/leonguyen/5524350
  • 187. Task 3: Create Database Helper class - Enter code: https://gist.github.com/leonguyen/5524390
  • 188. Task 4: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5524451
  • 189. Task 5: Execute your program - Choose "Run As" > "Android Application"
  • 190. Exercise 3 SQLite with CRUD
  • 191. Task 1: Create User Entity class - Enter code: https://gist.github.com/leonguyen/5425418
  • 192. Task 2: Create UserDA class with CRUD - Enter code: https://gist.github.com/leonguyen/5425683
  • 193. Task 3: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5425704
  • 194. Task 4: Execute your program - Choose "Run As" > "Android Application"
  • 195. Exercise 4 SQLite with Multiple Tables CRUD
  • 196. Task 1: Create User Entity class - Enter code: https://gist.github.com/leonguyen/5425418
  • 197. Task 2: Create UserDA class with CRUD - Enter code: https://gist.github.com/leonguyen/5524722
  • 198. Task 3: Create Database Helper class - Enter code: https://gist.github.com/leonguyen/5525519
  • 199. Task 4: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5525541
  • 200. Task 5: Execute your program - Choose "Run As" > "Android Application"
  • 201. Exercise 5 SQLite with Design Pattern
  • 202. UML Diagram
  • 203. Task 1: Create Person Abstract class - Enter code: https://gist.github.com/leonguyen/5683910
  • 204. Task 2: Create User Entity class - Enter code: https://gist.github.com/leonguyen/5683921
  • 205. Task 3: Create DB Config Enum - Enter code: https://gist.github.com/leonguyen/5683976
  • 206. Task 4: Create Table Helper class - Enter code: https://gist.github.com/leonguyen/5684167
  • 207. Task 5: Create User Table class - Enter code: https://gist.github.com/leonguyen/5684181
  • 208. Task 6: Create Data Manipulation Object class - Enter code: https://gist.github.com/leonguyen/5684403
  • 209. Task 7: Create Database class - Enter code: https://gist.github.com/leonguyen/5684414
  • 210. Task 8: Create UserDA class - Enter code: https://gist.github.com/leonguyen/5692560
  • 211. Task 9: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5692570
  • 212. Lab 03.3 Internal.External
  • 213. Outline - Internal.External with File - External with SQLite
  • 214. Storage - Internal storage are private to your application and other applications cannot access them (nor can the user). When the user uninstalls your application, these files are removed. - External storage such as SD card can also store application data, there's no security enforced upon files you save to the external storage. All applications can read and write files placed on the external storage and the user can remove them.
  • 215. Exercise 1 Internal.External with File
  • 216. Task 1: Defining Main XML Layout - Enter code: https://gist.github.com/leonguyen/5452672
  • 217. Task 2: Register Storage permission - Enter code: https://gist.github.com/leonguyen/5452728
  • 218. Task 3: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5452749
  • 219. Task 4: Execute your program - Choose "Run As" > "Android Application": http://youtu. be/6BE2BEnoZKM
  • 220. Task 4: Execute your program (cont)
  • 221. Exercise 2 External with SQLite
  • 222. Task 1: Create Database class - Enter code: https://gist.github.com/leonguyen/5465834
  • 223. Task 3: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5425557
  • 224. Task 3: Execute your program - Choose "Run As" > "Android Application"
  • 225. Lab 04.1 Intent
  • 226. Outline - Intent - Intent Explicit
  • 227. Intent - Intents are system messages, running around the inside of the device, notifying applications of various events, from hardware state changes (e.g.,an SD card was inserted), to incoming data (e.g., an SMS message arrived),to application events (e.g., your activity was launched from the device’s main menu). - Not only can you respond to intents, but you can create your own, to launch other activities, or to let you know when specific situations arise (e.g., raise such-and-so intent when the user click this button). - Intents are asynchronous messages which allow Android components to request functionality from other components of the Android system. For example an Activity can send an Intents to the Android system which starts another Activity. - Three of the core components of an application — activities, services, and broadcast receivers — are activated through messages, called intents.
  • 228. Explicit and Implicit - Explicit intents designate the target component by its name (the component name field, mentioned earlier, has a value set). Since component names would generally not be known to developers of other applications, explicit intents are typically used for application-internal messages. - Implicit intents do not name a target (the field for the component name is blank). Implicit intents are often used to activate components in other applications.
  • 229. Exercise 1 Intent
  • 230. Task 1: Defining Main XML Layout - Enter code: https://gist.github.com/leonguyen/5473266
  • 231. Task 2: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5473386
  • 232. Task 3: Execute your program - Choose "Run As" > "Android Application": http://youtu. be/tJaNGzoGUG4
  • 233. Exercise 2 Intent Explicit
  • 234. Task 1: Defining Main XML Layout - Enter code: https://gist.github.com/leonguyen/5486271
  • 235. Task 2: Defining Second XML Layout - Enter code: https://gist.github.com/leonguyen/5486303
  • 236. Task 3: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5486377
  • 237. Task 4: Write a SecondActivity program - Enter code: https://gist.github.com/leonguyen/5486384
  • 238. Task 5: Execute your program - Choose "Run As" > "Android Application": http://youtu.be/7ewZXibMFy4
  • 239. Lab 04.2 Content Provider
  • 240. Outline - Content Provider - Content Provider with Contact, Call Log Picker - Content Provider with Settings - Content Provider Custom
  • 241. Content Provider - ContentProvider manage access to a structured set of data. The main methods are Query, Insert, Update and Delete. - ContentResolver is a static proxy that communicates with a ContentProvider to access its data, either from within the same application or from another application.
  • 242. Built-In Provider - Android offers access to a wide range of system and user data using ContentProviders. - Browser – bookmarks and browser history (requires permission READ_HISTORY_BOOKMARKS and/or WRITE_HISTORY_BOOKMARKS). - CallLog – recent calls made or received with the device. - Contacts – detailed information from the user’s contact list, including people, phones, photos & groups. - MediaStore – contents of the user’s device: audio (albums, artists, genres, playlists), images (including thumbnails) & video. - Settings – system-wide device settings and preferences. - UserDictionary – contents of the user-defined dictionary used for predictive text input. - Voicemail – history of voicemail messages.
  • 243. Exercise 1 Content Provider
  • 244. Task 1: Defining Main XML Layout - Enter code: https://gist.github.com/leonguyen/5487428
  • 245. Task 2: Register Contact permission - Enter code: https://gist.github.com/leonguyen/5487519
  • 246. Task 3: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5487527
  • 247. Task 4: Execute your program - Choose "Run As" > "Android Application": http://youtu. be/21AQ5NFtv-w
  • 248. Exercise 2 Content Provider with Contact, Call Log Picker
  • 249. Task 1: Defining Main XML Layout - Enter code: https://gist.github.com/leonguyen/5519593
  • 250. Task 2: Register Contact permission - Enter code: https://gist.github.com/leonguyen/5487519
  • 251. Task 3: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5519616
  • 252. Task 4: Execute your program - Choose "Run As" > "Android Application": http://youtu. be/CzhJTPPx6oI
  • 253. Exercise 3 Content Provider with Settings
  • 254. Task 1: Defining Main XML Layout - Enter code: https://gist.github.com/leonguyen/5489929
  • 255. Task 2: Defining Item XML - Enter code: https://gist.github.com/leonguyen/5489952
  • 256. Task 3: Set Contact permission - Enter code: https://gist.github.com/leonguyen/5487519
  • 257. Task 4: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5489972
  • 258. Task 5: Execute your program - Choose "Run As" > "Android Application": http://youtu.be/q--akeZkw8
  • 259. Lab 04.3 Broadcast Receiver
  • 260. Outline - Broadcast Receiver - Broadcast Receiver with Custom Intent - Broadcast Receiver with Incoming SMS - Broadcast Receiver with Incoming Phone Call
  • 261. Broadcast Receiver - Broadcast Receiver simply respond to broadcast messages from other applications or from the system itself. These messages are sometime called events or intents.
  • 262. System Events Event Constant Description android.intent.action.BATTERY_CHANGED Sticky broadcast containing the charging state, level, and other information about the battery. android.intent.action.BATTERY_LOW Indicates low battery condition on the device. android.intent.action.BATTERY_OKAY Indicates the battery is now okay after being low. android.intent.action.BOOT_COMPLETED This is broadcast once, after the system has finished booting. android.intent.action.BUG_REPORT Show activity for reporting a bug. android.intent.action.CALL Perform a call to someone specified by the data. android.intent.action.CALL_BUTTON The user pressed the "call" button to go to the dialer or other appropriate UI for placing a call. android.intent.action.DATE_CHANGED The date has changed. android.intent.action.REBOOT Have the device reboot.
  • 263. Exercise 1 Broadcast Receiver
  • 264. Task 1: Create Broadcast Receiver class - Enter code: https://gist.github.com/leonguyen/5500078
  • 265. Task 2: Register Broadcast Receiver permission - Enter code: https://gist.github.com/leonguyen/5500092
  • 266. Task 3: Execute your program - Choose "Run As" > "Android Application": http://youtu. be/CuF9IakbEl0
  • 267. Exercise 2 Broadcast Receiver with Custom Intent
  • 268. Task 1: Defining Main XML Layout - Enter code: https://gist.github.com/leonguyen/5500996
  • 269. Task 2: Create Broadcast Receiver class - Enter code: https://gist.github.com/leonguyen/5501217
  • 270. Task 3: Register Broadcast Receiver permission - Enter code: https://gist.github.com/leonguyen/5501232
  • 271. Task 4: Write a MainActivity program - Enter code: https://gist.github.com/leonguyen/5501294
  • 272. Task 5: Execute your program - Choose "Run As" > "Android Application": http://youtu. be/SyLzgtC0Rgw
  • 273. Exercise 3 Broadcast Receiver with Incoming SMS
  • 274. Task 1: Create Broadcast Receiver class - Enter code: https://gist.github.com/leonguyen/5506820
  • 275. Task 2: Register Broadcast Receiver permission - Enter code: https://gist.github.com/leonguyen/5506839
  • 276. Task 3: Execute your program - Choose "Run As" > "Android Application": http://youtu.be/CEKaJUV5ZM
  • 277. Exercise 4 Broadcast Receiver with Incoming Phone Call
  • 278. Task 1: Create Broadcast Receiver class - Enter code: https://gist.github.com/leonguyen/5506917
  • 279. Task 2: Register Broadcast Receiver permission - Enter code: https://gist.github.com/leonguyen/5506953
  • 280. Task 3: Execute your program - Choose "Run As" > "Android Application": http://youtu.be/Rj1I04fsQQk
  • 281. Lab 05 An introduction to PhoneGap
  • 282. References - Getting started with PhoneGap in Eclipse for Android (adobe. ly/H0NyLg) - PhoneGap From Scratch (bit.ly/H0NDOW) - Build a Feed Reader (bit.ly/1bDCxsZ)
  • 283. Outline - Download and install - Configure the project - Write a Hellworld program
  • 284. Exercise 1 Download and install
  • 285. Overview
  • 286. Task 1 - Download - Goto download site http://phonegap.com/install/
  • 287. Exercise 2 Configure the project
  • 288. Task 1: Create ‘www’ folder - Create the ‘www’ folder under assets folder.
  • 289. Task 2: Copy PhoneGap libraries - Copy ‘cordova.js’ and ‘cordova.js’ to Android project.
  • 290. Exercise 3 Write a Helloworld program
  • 291. Task 1: Create index.html - Create the ‘index.html’ under ‘assets/www’ folder then enter code: gist.github.com/leonguyen/7036244
  • 292. Task 2: Add to Build Path - Right click on ‘cordova.jar’ then select Add to Build Path
  • 293. Task 3: Update Activity class - Enter code: gist.github.com/leonguyen/7036322
  • 294. Task 4: Configure the project metadata - Enter code: gist.github.com/leonguyen/7036370
  • 295. Task 4: Configure the project metadata (2)
  • 296. Task 5: Run - Choose "Run As" > "Android Application".

×