Android Development
Android Architecture
1) Applications (Home, Contacts, Browsers, etc.) 2) Application Framework (Managers, Providers, Systems) 3) Libraries (SQLite, SGL, SSL, etc. (Lots of data things)) 4) Android Runtime (Core Libraries, Dalvik Virtual Machine) 5) Linux Kernel (All drivers such as Display, Camera, WiFi)
Action Bar (Terminology)
A menu of common actions at the top of an app
Activity (Terminology)
A single screen of UI that appears in your app. The fundamental units of GUI in an Android app.
Event (Terminology)
Action that occurs when user interacts with widgets (Scroll, Click, Type, etc.) An external stimulus your program responds to.
Android Studio Replaced...?
Android Studio replaced the previous environment, Eclipse, in November 2014. Based on IntelliJ IDEA editor.
Properties (Terminology)
Android term for the attributes of an object (Ex. TextSize or ID)
Project Structure Overview
AndroidManifest.xml src/java/... res/... Gradle
Benefits of using Android vs. a website
Better UI Different kinds of widgets and tools More direct access to hardware (Cameras, GPS, etc.) More preferable on mobile devices
Common Widgets
Digital Clock, Button, Checkbox, Date/Time, RadioButton, Spinners, Textview, MapView/WebView
Reasons for a non-up-to-date device?
Google, Phone manufacturer, Service Provider, etc.
View (Terminology)
Items that appear onscreen in an activity. Divided into: Widgets: GUI control such as a button or text field Layout: Invisible container that manages positions/sizes of the widgets
What is Android based on (made with)?
Java (Developer Language) and Linux (Kernel)
Benefits of Android vs. IOS (Apple)?
Languages: Java vs. Obj-C or Swift Free development tools More liberated app store Larger install base
Android
Mobile operating system maintained by Google (Purchased from Android, Inc. in 2005)
Event Driven Programming (Terminology)
Overall execution of your program is largely dictated by user events. Common in graphical programs.
AndroidManifest.xml
Place for overall config and settings
Res/...
Resource files (Many of which are XML) Includes: Drawable/ - Images Layout/ - Descriptions of GUI format Menu/ - Overall app menu options Values/ - Constant values and arrays Strings - Localization data (Stores strings for diff. places) Styles - General appearance styling
src/java/...
Source code for all of your java classes (Src = Source, Java = Java)
Version History
Start: Sept 2008 (No Name) then continued with different candies. Cupcake (2009) - Lollipop (2014)
Gradle
The build and compile management system for Java Build.gradle is the main build config file
View Object
The parent class of many widgets such as Button, TextView, EditText, etc. Many get and set methods that help them with the Design view. Ex. GetText/SetText.
Notification Area (Terminology)
Topmost system menu and icons
App Building Process
Turns res/ (resources) and AndroidManifest.xml to Compiled Resources. Converts src/ (source code) folder into Dalvik compilation code. Builds both Compiled Resources and Dalvik into an Android Package (.apk) and runs it.