Presentation is loading. Please wait.

Presentation is loading. Please wait.

10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Introduction to Android Overview of Android System Android Components Component.

Similar presentations


Presentation on theme: "10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Introduction to Android Overview of Android System Android Components Component."— Presentation transcript:

1 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Introduction to Android Overview of Android System Android Components Component lifecycles Slides rely heavily on http://developers.android.com http://developers.android.com

2 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Android Introduction F Android OS is based the Linux Kernel F Aimed at small-scale devices –Phones, tablets, TVs, games consoles… –Touch screen or mouse/pointer –Small internal memory (256Mbyte to 3GB) –Usually low power devices F Access to multiple sensors –Accelerometers (up down etc) –Proximity, Light, Magnetic –Geo location (GPS etc) F Resources defined in XML documents rather than inside code

3 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Android OS Features F Application framework enabling reuse and replacement of components F Dalvik virtual machine optimized for mobile devices F Integrated browser based on the open source WebKit engineWebKit F Optimized graphics powered by a custom 2D graphics library; 3D graphics based on (at least) OpenGL ES 1.0 specification, hardware acceleration optional but common F SQLite for structured data storage F Media support for common audio, video, and still image formats F Telephony, Bluetooth and WiFi (hardware dependent) F Camera, GPS, compass, and accelerometer (hardware dependent) F Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE

4 Android OS Structure

5 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Android Application Components F Components –Activities – most important for us –Services, “Broadcast Receivers”, “Content Providers” F “Intents” are used to activate components –Can use existing apps within your app, very easy to do F Intent Filters define what a component can do F The Manifest file is where most app capabilities are declared

6 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Activity F A visual user interface for one action ( Activity base class ) Activity –Eg a Text messaging app might have activities to show list of contacts write message review old messages change settings –They work together but each is independent F One of the activities in identified as the first to be launched. F Moving from one activity to another is accomplished by the current activity starting the next one. F Each activity has a default window to draw in.

7 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Views F Content of a window is a hierarchy of views (View Class ).View F Each view controls a rectangular space within the window. F Parent view contain children views. F Ready made views to use include:- –Buttons –Text Fields –Scroll bars –Menu items –Check boxes etc F Build in the GUI designer! A contains B ContainsC Contains D detail E detail Fdetail G detail H detail K detail I detail J detail LM

8 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Services F A service does not have a visual user interface F Runs in the background for an indefinite period –Eg service might play background music as user does something else. –Might fetch data over the network –Calculate something –Provide a result to an activity F Each service extends the Service base class Service F Services run in the main thread of the application process. –Don’t block other components or user interface –Often spawn another thread for time consuming tasks

9 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Broadcast Receivers F A component that does nothing but receive and react to broadcast announcements. F Many broadcasts originate in system code –Eg timezone change announcement –Battery low announcement –Picture has been taken announcement F Applications can initiate broadcasts –Data has been downloaded and ready to use F An application can have any number of broadcast receivers F Receivers extend the BroadcastReceiver base class. BroadcastReceiver F Notifications are often used by them.

10 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Content Providers F A content provider makes a specific set of the application’s data to another application.content provider F The data can be stored –in the file system –In an SQLite databaseSQLite –Some other manner that makes sense. F The content provider extends the ContentProvider base class.ContentProvider F Applications use a ContentResolver object to get at a content provider.ContentResolver

11 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Intents F Intents are asynchronous messages that activate Intents – activities, services and broadcast receivers. F For activities and services it –Names the action being requested –Specifies the URI of the data to act on Allow user to edit some specific text F Each type of component is activated by sending an intent object to –Activity - Context.startActivity() or Activity.startActivityForResult()- Context.startActivity()Activity.startActivityForResult() Android calls the activity’s onNewIntent() method and passes it the intent objectonNewIntent() –Service – Context.startService()Context.startService() Android calls the services OnStart() method and passes it the intent objectOnStart() –Broadcast Receiver – Context.sendBroadcast()Context.sendBroadcast() Android delivers the intent to all interested broadcast receivers by calling their Onreceive() method. Onreceive()

12 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing The Manifest File F Applications declare their components in a manifest file bundled in the Android package.apk F The manifest is an XML file. F It also –Names any libraries needed to run app –Identify any permissions the app needs –Declares intent filters (what can the app do)

13 Example Manifest document F...

14 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Activity Lifecycle F An activity has three states – Active or running when in the foreground ie has the focus for the user’s actions – Paused if it has lost focus but is still visible A paused activity is completely alive Can be killed by the system in extreme low memory situations – Stopped if completely obscured by another activity. It still retains all state and member information Often killed by the system when memory needed elsewhere F As activity state changes various methods called:- –onCreate(), onStart(), –onRestart(), onResume(), –onPause(), onStop(), –onDestroy()

15 Activity Starts Process is killed Activity is running Activity is no longer visible Activity is shut down OnCreate() OnResume() OnDestroy() OnStop() OnStart() OnPause() Another Activity in front Activity comes to the Foreground User navigates back to the activity Other Applications need memory OnRestart() Activity Lifecycle

16 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Service and Broadcast Receiver Lifecycle F A service –can be started or stopped Methods available –onCreate() –onStart() –onDestroy() If the service permits others to bind it additional methods are –onBind() –onUnbind() –onRebind() F A Broadcast receiver has on one callback method –onReceive()

17 Service is started by startService() Service is running Service is shut down OnCreate() OnDestroy() OnStart() The dervice is stopped (no callback) Service Lifecycle Service is started by bindService() Service is shut down OnCreate() OnDestroy() OnBind() Client interacts with the service OnUnbind() OnRebind()

18 10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Summary F Android is open source – anyone can join in! F Fairly radical change in perspective making programming interesting! F Apps can use other apps as content providers F Very powerful emulator to develop on, integrated with Eclipse IDE or Android Studio. F MIT has the AppInventor2 site – interesting way to get started F Battle for dominance between iPhone and Android ? –Anybody else in the running?


Download ppt "10/10/2015 E.R.Edwards 10/10/2015 Staffordshire University School of Computing Introduction to Android Overview of Android System Android Components Component."

Similar presentations


Ads by Google