SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Android
     Framework and Application
            Overview

                   By: Ashish Agrawal
Android Overview                    19/12/12   1
Agenda
    Mobile Application Development (MAD)
    Introduction to Android platform
    Platform architecture
    Application building blocks
    Lets Debug
    Development tools.




Android Overview                            19/12/12   2
Introduction to Android
    Open software platform for mobile development
    A complete stack – OS, Middleware, Applications
    Powered by Linux operating system
    Fast application development in Java
    Open source under the Apache 2 license




Android Overview                                19/12/12   3
Android Overview   19/12/12   4
Application Framework
 • API interface
 • Activity manager – manages application
   life cycle.




Android Overview                      19/12/12   5
Applications
  • Built in and user apps
  • Can replace built in apps




Android Overview                  19/12/12   6
Application Lifecycle
    Application run in their own processes (VM, PID)
    Processes are started and stopped as needed to run
        an application's components
    Processes may be killed to reclaim resources




Android Overview                                 19/12/12
                                                            7
Application Building Blocks
    Activity
    Fragments
    Intents
    Service (Working in the background)
    Content Providers
    Broadcast receivers
    Action bar

Android Overview                           19/12/12   8
Activities
    Typically correspond to one UI screen
    Run in the process of the .APK which installed them
    But, they can:
         Be faceless
         Be in a floating window
         Return a value




Android Overview                                   19/12/12   9
Android Overview   19/12/12
                              10
Fragments
Fragment represents a behavior or a portion of user interface in an Activity.
You can combine multiple fragments in a single activity to build a multi-pane
UI and reuse a fragment in multiple activities.




 Android Overview                                            19/12/12     11
Fragments




Android Overview               19/12/12   12
Intents
    An intent is an abstract description of an operation to be performed.
    Launch an activity
    Explicit
        Ex: Intent intent = new Intent(MyActivity.this, MyOtherActivity.class)
    Implicit : Android selects the best
        Ex: Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(“tel:

                           555-2368”));
    startActivity()
    Extra parameter Ex: intent.putExtra(name, property);


Android Overview                                                   19/12/12
                                                                                 13
Intent Filter
    Register Activities, Services, and Broadcast Receivers as
        being capable of performing an action on a particular
        kind of data.
    Components that respond to broadcast ‘Intents’
    Way to respond to external notification or alarms
    Apps can invent and broadcast their own Intent




Android Overview                                      19/12/12
                                                                 14
Services
    Faceless components that run in the background
    No GUI, higher priority than inactive Activities
    Usage:  responding to events, polling for data, updating
        Content Providers.  However, all in the main thread
    E.g. music player, network download etc…
        Intent service = new Intent(context,
        WordService.class);

        context.startService(service);

Android Overview                                      19/12/12
                                                                 15
Using the Service

  Start the service
      Intent serviceIntent = new Intent();

      serviceIntent.setAction

      ("com.wissen.testApp.service.MY_SERVICE");

       startService(serviceIntent);




Android Overview                               19/12/12
                                                          16
Bind the service
  ServiceConnection conn = new ServiceConnection() {
               @Override
               public void onServiceConnected(ComponentName
  name, IBinder service) {
               }
               @Override
               public void
  onServiceDisconnected(ComponentName arg0) {
               }
       }
  bindService(new
  Intent("com.testApp.service.MY_SERVICE"), conn,
  Context.BIND_AUTO_CREATE);
  }
Android Overview                                    19/12/12
                                                             17
Async Task

   Asycn task enables easy and proper use of UI
   thread. This class allows to perform background
   operations and publish results on the main thread.




Android Overview                             19/12/12
                                                        18
Async Task (Example)
   private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
      protected Long doInBackground(URL... urls) {
       int count = urls.length;
         long totalSize = 0;
         for (int i = 0; i < count; i++) {
            totalSize += Downloader.downloadFile(urls[i]);
            publishProgress((int) ((i / (float) count) * 100));
         }
         return totalSize;
      }

      protected void onProgressUpdate(Integer... progress) {
        setProgressPercent(progress[0]);
      }

        protected void onPostExecute(Long result) {
           showDialog("Downloaded " + result + " bytes");
        }
Android Overview
    }
                                                                19/12/12
                                                                             19
ContentProviders
    Enables sharing of data across applications
         E.g. address book, photo gallery
    Provides uniform APIs for:
         querying
         delete, update and insert.
    Content is represented by URI and MIME type




Android Overview                                   19/12/12
                                                              20
Example
    private void displayRecords() {
         String columns[] = new String[] { People.NAME,
   People.NUMBER };
        Uri mContacts = People.CONTENT_URI;
        Cursor cur = managedQuery(mContacts, columns, null, null,
   null );
         if (cur.moveToFirst()) {
             String name = null;
             String phoneNo = null;
             do {
    name = cur.getString(cur.getColumnIndex(People.NAME));
               phoneNo =
   cur.getString(cur.getColumnIndex(People.NUMBER));
   } while (cur.moveToNext());
         }
      }

Android Overview                                         19/12/12
                                                                    21
Broadcast Receivers
 A broadcast receiver is a class which extends
  BroadcastReceiver and which is registered as a receiver in an
  Android Application via the AndroidManifest.xml file(or via
  code).
 <receiver android:name="MyPhoneReceiver">
    <intent-filter>
       <action

   android:name="android.intent.action.PHONE_STATE">
        </action>
     </intent-filter>
   </receiver>
Android Overview                                  19/12/12
                                                             22
Broadcast Receivers
 public class MyBroadcastReceiver extends BroadcastReceiver
   {
     @Override
     public void onReceive(Context context, Intent intent) {
        Toast.makeText(context,
   ”BR.”,Toast.LENGTH_LONG).show();
     }
   }




Android Overview                                   19/12/12
                                                               23
ActionBar




Android Overview               19/12/12
                                          24
ActionBar
 Home Icon area: The icon on the top left-hand side of the action
  bar is sometimes called the “Home” icon.
 Title area: The Title area displays the title for the action bar.
 Tabs area: The Tabs area is where the action bar paints the list
  of tabs specified. The content of this area is variable.
 Action Icon area: Following the Tabs area, the Action Icon area
  shows some of the option menu items as icons.
 Menu Icon area: The last area is the Menu area. It is a single
  standard menu icon.



Android Overview                                     19/12/12
                                                                25
Debugging

   •Reading and Writing Logs
        Log.d("MyActivity”, position);

   •adb logcat
   • Toast :
         Toast toast = Toast.makeText(context, text, duration);

         toast.show();

Android Overview                                     19/12/12
                                                                26
Debugging Cont.

   •Hierarchy Viewer
   •Connect your device or launch an emulator.
   •If you have not done so already, install the application
   you want to work with.
   •Run the application, and ensure that its UI is visible.
   •From a terminal, launch hierarchyviewer




Android Overview                                     19/12/12
                                                                27
Debugging Cont.

      adb shell dumpsys activity




Android Overview                     19/12/12
                                                28
Debugging Cont.
   Profiling for memory




Android Overview                     19/12/12
                                                29
Development Tools

       Eclipse

       developer.android.com




Android Overview                   19/12/12
                                              30
Thank You.




Android Overview                19/12/12
                                           31

Weitere ähnliche Inhalte

Ähnlich wie Android overview

Android应用开发简介
Android应用开发简介Android应用开发简介
Android应用开发简介easychen
 
Android developer interview questions with answers pdf
Android developer interview questions with answers pdfAndroid developer interview questions with answers pdf
Android developer interview questions with answers pdfazlist247
 
android-tutorial-for-beginner
android-tutorial-for-beginnerandroid-tutorial-for-beginner
android-tutorial-for-beginnerAjailal Parackal
 
Android activity, service, and broadcast recievers
Android activity, service, and broadcast recieversAndroid activity, service, and broadcast recievers
Android activity, service, and broadcast recieversJagdish Gediya
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorialAbid Khan
 
Android studio
Android studioAndroid studio
Android studioAndri Yabu
 
Android interview questions and answers
Android interview questions and answersAndroid interview questions and answers
Android interview questions and answerskavinilavuG
 
ハンズオン資料 電話を作ろう(v2.x用)
ハンズオン資料 電話を作ろう(v2.x用)ハンズオン資料 電話を作ろう(v2.x用)
ハンズオン資料 電話を作ろう(v2.x用)Kenji Sakashita
 
Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesAhsanul Karim
 
Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesAhsanul Karim
 
Android best training-in-mumbai
Android best training-in-mumbaiAndroid best training-in-mumbai
Android best training-in-mumbaivibrantuser
 
Getting Started with Android 1.5
Getting Started with Android 1.5Getting Started with Android 1.5
Getting Started with Android 1.5Gaurav Kohli
 
Android Development project
Android Development projectAndroid Development project
Android Development projectMinhaj Kazi
 

Ähnlich wie Android overview (20)

Android应用开发简介
Android应用开发简介Android应用开发简介
Android应用开发简介
 
Android developer interview questions with answers pdf
Android developer interview questions with answers pdfAndroid developer interview questions with answers pdf
Android developer interview questions with answers pdf
 
android-tutorial-for-beginner
android-tutorial-for-beginnerandroid-tutorial-for-beginner
android-tutorial-for-beginner
 
Android activity, service, and broadcast recievers
Android activity, service, and broadcast recieversAndroid activity, service, and broadcast recievers
Android activity, service, and broadcast recievers
 
Android tutorial
Android tutorialAndroid tutorial
Android tutorial
 
Android studio
Android studioAndroid studio
Android studio
 
Android interview questions and answers
Android interview questions and answersAndroid interview questions and answers
Android interview questions and answers
 
android.ppt
android.pptandroid.ppt
android.ppt
 
Lecture-3.ppt
Lecture-3.pptLecture-3.ppt
Lecture-3.ppt
 
Android beginners David
Android beginners DavidAndroid beginners David
Android beginners David
 
Unit I- ANDROID OVERVIEW.ppt
Unit I- ANDROID OVERVIEW.pptUnit I- ANDROID OVERVIEW.ppt
Unit I- ANDROID OVERVIEW.ppt
 
Android the future
Android  the futureAndroid  the future
Android the future
 
ハンズオン資料 電話を作ろう(v2.x用)
ハンズオン資料 電話を作ろう(v2.x用)ハンズオン資料 電話を作ろう(v2.x用)
ハンズオン資料 電話を作ろう(v2.x用)
 
All about android
All about androidAll about android
All about android
 
Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through Activities
 
Day 3: Getting Active Through Activities
Day 3: Getting Active Through ActivitiesDay 3: Getting Active Through Activities
Day 3: Getting Active Through Activities
 
Android best training-in-mumbai
Android best training-in-mumbaiAndroid best training-in-mumbai
Android best training-in-mumbai
 
Getting Started with Android 1.5
Getting Started with Android 1.5Getting Started with Android 1.5
Getting Started with Android 1.5
 
Android Development project
Android Development projectAndroid Development project
Android Development project
 
Best android classes in mumbai
Best android classes in mumbaiBest android classes in mumbai
Best android classes in mumbai
 

Mehr von Ashish Agrawal

Difference between product manager, program manager and project manager.
Difference between product manager, program manager and project manager.Difference between product manager, program manager and project manager.
Difference between product manager, program manager and project manager.Ashish Agrawal
 
5 management &amp; leadership lessons from movie mission mangal
5 management &amp; leadership lessons from movie mission mangal5 management &amp; leadership lessons from movie mission mangal
5 management &amp; leadership lessons from movie mission mangalAshish Agrawal
 
7 factors determining deeper impact of ar based mobile application on user ex...
7 factors determining deeper impact of ar based mobile application on user ex...7 factors determining deeper impact of ar based mobile application on user ex...
7 factors determining deeper impact of ar based mobile application on user ex...Ashish Agrawal
 
E paper-IOT based-medical-emergency-detection-and-rescue
E paper-IOT based-medical-emergency-detection-and-rescueE paper-IOT based-medical-emergency-detection-and-rescue
E paper-IOT based-medical-emergency-detection-and-rescueAshish Agrawal
 
Gcm and share point integration
Gcm and share point integrationGcm and share point integration
Gcm and share point integrationAshish Agrawal
 
Odata batch processing
Odata batch processingOdata batch processing
Odata batch processingAshish Agrawal
 
Client certificate validation in windows 8
Client certificate validation in windows 8Client certificate validation in windows 8
Client certificate validation in windows 8Ashish Agrawal
 
Lync integration with metro app
Lync integration with metro appLync integration with metro app
Lync integration with metro appAshish Agrawal
 
E learning-for-all-devices
E learning-for-all-devicesE learning-for-all-devices
E learning-for-all-devicesAshish Agrawal
 

Mehr von Ashish Agrawal (11)

Difference between product manager, program manager and project manager.
Difference between product manager, program manager and project manager.Difference between product manager, program manager and project manager.
Difference between product manager, program manager and project manager.
 
5 management &amp; leadership lessons from movie mission mangal
5 management &amp; leadership lessons from movie mission mangal5 management &amp; leadership lessons from movie mission mangal
5 management &amp; leadership lessons from movie mission mangal
 
7 factors determining deeper impact of ar based mobile application on user ex...
7 factors determining deeper impact of ar based mobile application on user ex...7 factors determining deeper impact of ar based mobile application on user ex...
7 factors determining deeper impact of ar based mobile application on user ex...
 
E paper-IOT based-medical-emergency-detection-and-rescue
E paper-IOT based-medical-emergency-detection-and-rescueE paper-IOT based-medical-emergency-detection-and-rescue
E paper-IOT based-medical-emergency-detection-and-rescue
 
Gcm and share point integration
Gcm and share point integrationGcm and share point integration
Gcm and share point integration
 
Agile QA process
Agile QA processAgile QA process
Agile QA process
 
Odata batch processing
Odata batch processingOdata batch processing
Odata batch processing
 
Side loading
Side loadingSide loading
Side loading
 
Client certificate validation in windows 8
Client certificate validation in windows 8Client certificate validation in windows 8
Client certificate validation in windows 8
 
Lync integration with metro app
Lync integration with metro appLync integration with metro app
Lync integration with metro app
 
E learning-for-all-devices
E learning-for-all-devicesE learning-for-all-devices
E learning-for-all-devices
 

Kürzlich hochgeladen

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 

Kürzlich hochgeladen (20)

The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 

Android overview

  • 1. Android Framework and Application Overview By: Ashish Agrawal Android Overview 19/12/12 1
  • 2. Agenda  Mobile Application Development (MAD)  Introduction to Android platform  Platform architecture  Application building blocks  Lets Debug  Development tools. Android Overview 19/12/12 2
  • 3. Introduction to Android  Open software platform for mobile development  A complete stack – OS, Middleware, Applications  Powered by Linux operating system  Fast application development in Java  Open source under the Apache 2 license Android Overview 19/12/12 3
  • 4. Android Overview 19/12/12 4
  • 5. Application Framework • API interface • Activity manager – manages application life cycle. Android Overview 19/12/12 5
  • 6. Applications • Built in and user apps • Can replace built in apps Android Overview 19/12/12 6
  • 7. Application Lifecycle  Application run in their own processes (VM, PID)  Processes are started and stopped as needed to run an application's components  Processes may be killed to reclaim resources Android Overview 19/12/12 7
  • 8. Application Building Blocks  Activity  Fragments  Intents  Service (Working in the background)  Content Providers  Broadcast receivers  Action bar Android Overview 19/12/12 8
  • 9. Activities  Typically correspond to one UI screen  Run in the process of the .APK which installed them  But, they can:  Be faceless  Be in a floating window  Return a value Android Overview 19/12/12 9
  • 10. Android Overview 19/12/12 10
  • 11. Fragments Fragment represents a behavior or a portion of user interface in an Activity. You can combine multiple fragments in a single activity to build a multi-pane UI and reuse a fragment in multiple activities. Android Overview 19/12/12 11
  • 13. Intents  An intent is an abstract description of an operation to be performed.  Launch an activity  Explicit Ex: Intent intent = new Intent(MyActivity.this, MyOtherActivity.class)  Implicit : Android selects the best Ex: Intent intent = new Intent(Intent.ACTION_DIAL, Uri.parse(“tel: 555-2368”));  startActivity()  Extra parameter Ex: intent.putExtra(name, property); Android Overview 19/12/12 13
  • 14. Intent Filter  Register Activities, Services, and Broadcast Receivers as being capable of performing an action on a particular kind of data.  Components that respond to broadcast ‘Intents’  Way to respond to external notification or alarms  Apps can invent and broadcast their own Intent Android Overview 19/12/12 14
  • 15. Services  Faceless components that run in the background  No GUI, higher priority than inactive Activities  Usage:  responding to events, polling for data, updating Content Providers.  However, all in the main thread  E.g. music player, network download etc… Intent service = new Intent(context, WordService.class); context.startService(service); Android Overview 19/12/12 15
  • 16. Using the Service Start the service Intent serviceIntent = new Intent(); serviceIntent.setAction ("com.wissen.testApp.service.MY_SERVICE"); startService(serviceIntent); Android Overview 19/12/12 16
  • 17. Bind the service ServiceConnection conn = new ServiceConnection() { @Override public void onServiceConnected(ComponentName name, IBinder service) { } @Override public void onServiceDisconnected(ComponentName arg0) { } } bindService(new Intent("com.testApp.service.MY_SERVICE"), conn, Context.BIND_AUTO_CREATE); } Android Overview 19/12/12 17
  • 18. Async Task Asycn task enables easy and proper use of UI thread. This class allows to perform background operations and publish results on the main thread. Android Overview 19/12/12 18
  • 19. Async Task (Example) private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> { protected Long doInBackground(URL... urls) { int count = urls.length; long totalSize = 0; for (int i = 0; i < count; i++) { totalSize += Downloader.downloadFile(urls[i]); publishProgress((int) ((i / (float) count) * 100)); } return totalSize; } protected void onProgressUpdate(Integer... progress) { setProgressPercent(progress[0]); } protected void onPostExecute(Long result) { showDialog("Downloaded " + result + " bytes"); } Android Overview } 19/12/12 19
  • 20. ContentProviders  Enables sharing of data across applications  E.g. address book, photo gallery  Provides uniform APIs for:  querying  delete, update and insert.  Content is represented by URI and MIME type Android Overview 19/12/12 20
  • 21. Example private void displayRecords() { String columns[] = new String[] { People.NAME, People.NUMBER }; Uri mContacts = People.CONTENT_URI; Cursor cur = managedQuery(mContacts, columns, null, null, null ); if (cur.moveToFirst()) { String name = null; String phoneNo = null; do { name = cur.getString(cur.getColumnIndex(People.NAME)); phoneNo = cur.getString(cur.getColumnIndex(People.NUMBER)); } while (cur.moveToNext()); } } Android Overview 19/12/12 21
  • 22. Broadcast Receivers  A broadcast receiver is a class which extends BroadcastReceiver and which is registered as a receiver in an Android Application via the AndroidManifest.xml file(or via code).  <receiver android:name="MyPhoneReceiver"> <intent-filter> <action android:name="android.intent.action.PHONE_STATE"> </action> </intent-filter> </receiver> Android Overview 19/12/12 22
  • 23. Broadcast Receivers  public class MyBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { Toast.makeText(context, ”BR.”,Toast.LENGTH_LONG).show(); } } Android Overview 19/12/12 23
  • 25. ActionBar  Home Icon area: The icon on the top left-hand side of the action bar is sometimes called the “Home” icon.  Title area: The Title area displays the title for the action bar.  Tabs area: The Tabs area is where the action bar paints the list of tabs specified. The content of this area is variable.  Action Icon area: Following the Tabs area, the Action Icon area shows some of the option menu items as icons.  Menu Icon area: The last area is the Menu area. It is a single standard menu icon. Android Overview 19/12/12 25
  • 26. Debugging •Reading and Writing Logs Log.d("MyActivity”, position); •adb logcat • Toast : Toast toast = Toast.makeText(context, text, duration); toast.show(); Android Overview 19/12/12 26
  • 27. Debugging Cont. •Hierarchy Viewer •Connect your device or launch an emulator. •If you have not done so already, install the application you want to work with. •Run the application, and ensure that its UI is visible. •From a terminal, launch hierarchyviewer Android Overview 19/12/12 27
  • 28. Debugging Cont. adb shell dumpsys activity Android Overview 19/12/12 28
  • 29. Debugging Cont. Profiling for memory Android Overview 19/12/12 29
  • 30. Development Tools Eclipse developer.android.com Android Overview 19/12/12 30

Hinweis der Redaktion

  1. Dalvik VM Dex files Compact and efficient than class files Limited memory and battery power Core Libraries Java 5 Std edition Collections, I/O etc…