• Min and target API version • Special hardware requests (Camera, Bluetooth, …) • Some custom Google tools (Play Services, Google Maps) • Definition of Activities and Services 17
source code • Unique integer ID will be generated for each resource name which could be used as a constant • You can supply alternative resource with the same name to specific folders indicating screen size, locale, screen rotation etc 19
<TextView android:id="@+id/text" android:layout_width="120dp" android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:text="I am a TextView"/> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="I am a Button"/> </LinearLayout>
for SQL • All data for the app is stored in one file (if wasn’t configured separately) • Cross-platform – also used in iOS and Blackberry 35 http://www.grokkingandroid.com/sqlite-in-android/
doesn’t use encryption • By default is stored in the app folder, could be opened by external tools on rooted devices: /data/data/<package-name>/databases 36 SQLite in Android
is not a floating point number REAL Floating-point numbers (8-Byte IEEE 754 – i.e. double precision) TEXT Any String and also single characters (UTF-8, UTF-16BE or UTF-16LE) BLOB A binary blob of data 38 http://www.grokkingandroid.com/sqlite-in-android/
or more tables like in a relational database • System-provided Content providers examples: Contacts, list of music tracks, list of gallery images • Thread safe 39
events • Operates with Intent which is a lightweight messaging object • Could be Asynchronous - all receivers of the broadcast are run in an undefined order, often at the same time or Ordered 40
Power got connected to the device Intent.ACTION_POWER_DISCONNECTED Power got disconnected to the device Intent.ACTION_BATTERY_LOW Triggered on low battery. Typically used to reduce activities in your app which consume power Intent.ACTION_PHONE_STATE_CHANGED The call state (cellular) on the device has changed 41
the separate thread - OR use external library (Retrofit, Volley, Enroscar) • Parse result (for json - GSON is de-facto standard) • Post result to the UI 42
publishing rights • Application is available in Play Store in 3-6 hours after being published • Auto-moderation in general, manual post- moderation could be applied in some cases 50
alpha- and beta test modes • Customization of app visibility for different countries and devices • User could rate the app and leave a feedback, developer could respond to this feedback 51
target version • Special UI design for tablets • Availability of mockups and flow explanation • Amount of non-standard UI elements • UI will be outdated in 0.5-2 years 53