Programmierung
                                     von Apps
                               Android Application Framework
Danny Fürniß, 28.10..2012, 1
Die Studierenden
                                  kennen die Bausteine des
                               Android Application Framework
                               und verstehen, wie sich daraus
                                eine Android App zusammen-
                                        bauen lässt.
Danny Fürniß, 28.10..2012, 2
Android
                               Application Framework
Danny Fürniß, 28.10..2012, 3




                               Bildquelle: http://s31.a2zinc.net/clients/ezlandscape/congress12/public/Content.aspx?ID=3577&sortMenu=104000
BAUSTEINE
Danny Fürniß, 28.10..2012, 4




                                Bildquelle: http://developer.android.com/guide/basics/what-is-android.html
Woraus besteht eine
                                 Android App?
Danny Fürniß, 28.10..2012, 5




                               Bildquelle: http://ecom-software.com/2114-android-mega-games-pack-87-games-july-2011-pdu.html
Danny Fürniß, 28.10..2012, 6




                               Sicht
                               Kontext
Danny Fürniß, 28.10..2012, 7




                               Black Box Sicht
Black Box Sicht
                                                    ContentProviders




                               BroadcastReceivers                         AndroidManifest.xml




                                                    Activities/Services
Danny Fürniß, 28.10..2012, 8
Black Box Sicht
                                                    ContentProviders




                               BroadcastReceivers                         AndroidManifest.xml




                                                    Activities/Services
Danny Fürniß, 28.10..2012, 9
AndroidManifest.xml
                                <manifest
                                       package=„com.dfuerniss.app“
                                       <uses-permission>
                                       <uses-feature>
                                       <supports-screens>
                                       <application>
                                              <activitiy>
                                              <service>
                                              <receiver>
                                              <provider>
Danny Fürniß, 28.10..2012, 10




                                       <uses-sdk>
                                       …
<manifest>
                                package
                                xmlns:android
                                versionCode
                                versionName
                                installLocation
                                …
Danny Fürniß, 28.10..2012, 11




                                     http://developer.android.com/guide/topics/m
                                     anifest/manifest‐intro.html
<uses-permission>
                                android.permission.INTERNET
                                android.permission.ACCESS_NETWORK_STATE
                                android.permission.USE_CREDENTIALS
                                android.permission.AUTHENTICATE_ACCOUNTS
                                android.permission.READ_CONTACTS
                                android.permission.WRITE_CONTACTS
                                android.permission.WRITE_EXTERNAL_STORAGE
                                …
Danny Fürniß, 28.10..2012, 12




                                  http://developer.android.com/reference
                                     /android/Manifest.permission.html
Application Object




                                                       Klasse
                                public class PVAUebungApplication extends application…
Danny Fürniß, 28.10..2012, 13




                                                 AndroidManifest.xml
                                 <application android:name=„PVAUebungApplication“…
Danny Fürniß, 28.10..2012, 14




                                Resources
Resource Types

                                                      res/animator
                                                          res/anim
                                                          res/color
                                                       res/drawable
                                                         res/layout
                                                         res/menu
                                                           res/raw
                                                         res/values
                                                           res/xml
Danny Fürniß, 28.10..2012, 15




                                Quelle: http://developer.android.com/guide/topics/resources/providing-resources.html
Resource Qualifiers

                                Language/Region                                            /values‐en‐rUS

                                Screen‐Size                                                /layout‐xlarge

                                Screen‐Orientation                                         /layout‐land

                                Platform‐Version                                           /color‐v13

                                etc.                                                       etc.
Danny Fürniß, 28.10..2012, 16




                                       Quelle: http://developer.android.com/guide/topics/resources/providing-resources.html
R.java (generated)
                                public final class R {
                                  public static final class color {
                                    public static final int background_gradient_66=0x7f060001;
                                    public static final int bar_color=0x7f060003;
                                  }
                                  public static final class dimen {
                                    public static final int text_size_large=0x7f070004;
                                    public static final int text_size_small=0x7f070002;
                                  }
                                  public static final class drawable {
                                    public static final int chart_bar_gradient_co2=0x7f020001;
                                    public static final int chart_bar_gradient_gp=0x7f020002;
                                    public static final int chart_bar_gradient_ht=0x7f020003;
Danny Fürniß, 28.10..2012, 17




                                    public static final int chart_bar_gradient_nt=0x7f020004;
                                  }
                                }
Danny Fürniß, 28.10..2012, 18




                                Activities
Activity
                                Lifecycle
Danny Fürniß, 28.10..2012, 19




                                Siehe auch „Learning Android“, S. 29
onSaveInstanceState()



                                   onCreate(Bundle
                                 savedInstanceState)
Danny Fürniß, 28.10..2012, 20
Danny Fürniß, 28.10..2012, 21




                                Fragments
Danny Fürniß, 28.10..2012, 22




                                Lifecycle
                                Fragment
Danny Fürniß, 28.10..2012, 23




                                Loaders
Danny Fürniß, 28.10..2012, 24




                                Intents
Danny Fürniß, 28.10..2012, 25




                                Explizite Intents
Danny Fürniß, 28.10..2012, 26




                                Implizite Intents
PendingIntent
                                Intent intent = new Intent(context, DashboardActivity.class)

                                PendingIntent pendingIntent =
                                  PendingIntent.getActivity(context, 0, intent,
                                    PendingIntent.FLAG_ONE_SHOT)
Danny Fürniß, 28.10..2012, 27
Danny Fürniß, 28.10..2012, 28




                                startActivityForResult()
Danny Fürniß, 28.10..2012, 29




                                Services
Services
Danny Fürniß, 28.10..2012, 30




                                Threading berücksichtigen!
Danny Fürniß, 28.10..2012, 31




                                Local Service
Danny Fürniß, 28.10..2012, 32




                                Remote Service
Intent Service
Danny Fürniß, 28.10..2012, 33




                                public class FetchDataService extends IntentService
Danny Fürniß, 28.10..2012, 34




                                Receivers
                                Broadcast
Konfiguration über
                                   Intent-Filter
Danny Fürniß, 28.10..2012, 35




                                    Permission ACCESS_NETWORK_STATE notwendig
Danny Fürniß, 28.10..2012, 36




                                Content Providers
Danny Fürniß, 28.10..2012, 37




                                ContentProvider
Portions of this presentation
                                are modifications based on
                                work created and shared by
                                Google and used according
                                    to terms described in
                                 the Creative Commons 3.0
                                     Attribution License.
Danny Fürniß, 28.10..2012, 38

Weitere ähnliche Inhalte

PDF
Broadcast Receivers in Android
PDF
Android User Interface
PDF
Android System Services
PPT
Android Development
PDF
Android Entwicklung
PDF
Android Persistence and Networking
PDF
Android Ice Cream Sandwich WJAX 2011
PDF
Die Android Plattform
Broadcast Receivers in Android
Android User Interface
Android System Services
Android Development
Android Entwicklung
Android Persistence and Networking
Android Ice Cream Sandwich WJAX 2011
Die Android Plattform

Ähnlich wie Android Application Framework (12)

PDF
Android Apps mit Xamarin entwickeln
PPTX
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
PPTX
Mobile App Entwicklung
PPT
Android Entwicklung GTUG München 2009
PDF
Smartphone Betriebssysteme Android
PDF
Einführung in die Android Applikationsentwicklung
PDF
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
PDF
Smartphone Betriebssysteme Windows Phone
ODP
Applikationsentwicklung für Android
PDF
Android doc
PDF
App vs. Widget (HTML5 Apps) - WebTechCon 2010
PDF
Android Share A Run
Android Apps mit Xamarin entwickeln
Android Entwicklung (App Entwickler Konferenz 2010 der Telekom)
Mobile App Entwicklung
Android Entwicklung GTUG München 2009
Smartphone Betriebssysteme Android
Einführung in die Android Applikationsentwicklung
Einstieg in Xamarin und Xamarin.Forms, DDC 2018
Smartphone Betriebssysteme Windows Phone
Applikationsentwicklung für Android
Android doc
App vs. Widget (HTML5 Apps) - WebTechCon 2010
Android Share A Run
Anzeige

Android Application Framework

  • 1. Programmierung von Apps Android Application Framework Danny Fürniß, 28.10..2012, 1
  • 2. Die Studierenden kennen die Bausteine des Android Application Framework und verstehen, wie sich daraus eine Android App zusammen- bauen lässt. Danny Fürniß, 28.10..2012, 2
  • 3. Android Application Framework Danny Fürniß, 28.10..2012, 3 Bildquelle: http://s31.a2zinc.net/clients/ezlandscape/congress12/public/Content.aspx?ID=3577&sortMenu=104000
  • 4. BAUSTEINE Danny Fürniß, 28.10..2012, 4 Bildquelle: http://developer.android.com/guide/basics/what-is-android.html
  • 5. Woraus besteht eine Android App? Danny Fürniß, 28.10..2012, 5 Bildquelle: http://ecom-software.com/2114-android-mega-games-pack-87-games-july-2011-pdu.html
  • 7. Danny Fürniß, 28.10..2012, 7 Black Box Sicht
  • 8. Black Box Sicht ContentProviders BroadcastReceivers AndroidManifest.xml Activities/Services Danny Fürniß, 28.10..2012, 8
  • 9. Black Box Sicht ContentProviders BroadcastReceivers AndroidManifest.xml Activities/Services Danny Fürniß, 28.10..2012, 9
  • 10. AndroidManifest.xml <manifest package=„com.dfuerniss.app“ <uses-permission> <uses-feature> <supports-screens> <application> <activitiy> <service> <receiver> <provider> Danny Fürniß, 28.10..2012, 10 <uses-sdk> …
  • 11. <manifest> package xmlns:android versionCode versionName installLocation … Danny Fürniß, 28.10..2012, 11 http://developer.android.com/guide/topics/m anifest/manifest‐intro.html
  • 12. <uses-permission> android.permission.INTERNET android.permission.ACCESS_NETWORK_STATE android.permission.USE_CREDENTIALS android.permission.AUTHENTICATE_ACCOUNTS android.permission.READ_CONTACTS android.permission.WRITE_CONTACTS android.permission.WRITE_EXTERNAL_STORAGE … Danny Fürniß, 28.10..2012, 12 http://developer.android.com/reference /android/Manifest.permission.html
  • 13. Application Object Klasse public class PVAUebungApplication extends application… Danny Fürniß, 28.10..2012, 13 AndroidManifest.xml <application android:name=„PVAUebungApplication“…
  • 15. Resource Types res/animator res/anim res/color res/drawable res/layout res/menu res/raw res/values res/xml Danny Fürniß, 28.10..2012, 15 Quelle: http://developer.android.com/guide/topics/resources/providing-resources.html
  • 16. Resource Qualifiers Language/Region /values‐en‐rUS Screen‐Size /layout‐xlarge Screen‐Orientation /layout‐land Platform‐Version /color‐v13 etc. etc. Danny Fürniß, 28.10..2012, 16 Quelle: http://developer.android.com/guide/topics/resources/providing-resources.html
  • 17. R.java (generated) public final class R { public static final class color { public static final int background_gradient_66=0x7f060001; public static final int bar_color=0x7f060003; } public static final class dimen { public static final int text_size_large=0x7f070004; public static final int text_size_small=0x7f070002; } public static final class drawable { public static final int chart_bar_gradient_co2=0x7f020001; public static final int chart_bar_gradient_gp=0x7f020002; public static final int chart_bar_gradient_ht=0x7f020003; Danny Fürniß, 28.10..2012, 17 public static final int chart_bar_gradient_nt=0x7f020004; } }
  • 19. Activity Lifecycle Danny Fürniß, 28.10..2012, 19 Siehe auch „Learning Android“, S. 29
  • 20. onSaveInstanceState() onCreate(Bundle savedInstanceState) Danny Fürniß, 28.10..2012, 20
  • 22. Danny Fürniß, 28.10..2012, 22 Lifecycle Fragment
  • 25. Danny Fürniß, 28.10..2012, 25 Explizite Intents
  • 26. Danny Fürniß, 28.10..2012, 26 Implizite Intents
  • 27. PendingIntent Intent intent = new Intent(context, DashboardActivity.class) PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_ONE_SHOT) Danny Fürniß, 28.10..2012, 27
  • 28. Danny Fürniß, 28.10..2012, 28 startActivityForResult()
  • 30. Services Danny Fürniß, 28.10..2012, 30 Threading berücksichtigen!
  • 31. Danny Fürniß, 28.10..2012, 31 Local Service
  • 32. Danny Fürniß, 28.10..2012, 32 Remote Service
  • 33. Intent Service Danny Fürniß, 28.10..2012, 33 public class FetchDataService extends IntentService
  • 34. Danny Fürniß, 28.10..2012, 34 Receivers Broadcast
  • 35. Konfiguration über Intent-Filter Danny Fürniß, 28.10..2012, 35 Permission ACCESS_NETWORK_STATE notwendig
  • 36. Danny Fürniß, 28.10..2012, 36 Content Providers
  • 37. Danny Fürniß, 28.10..2012, 37 ContentProvider
  • 38. Portions of this presentation are modifications based on work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License. Danny Fürniß, 28.10..2012, 38