1 / 13

Activity og GUI Android Brugergrænseflade

Activity og GUI Android Brugergrænseflade. Android Application Class. Svarer ”nogenlunde” til J2ME Midlet

michi
Download Presentation

Activity og GUI Android Brugergrænseflade

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Activity og GUI Android Brugergrænseflade

  2. Android Application Class • Svarer ”nogenlunde” til J2ME Midlet • “Base class for those who need to maintain global application state. You can provide your own implementation by specifying its name in your AndroidManifest.xml's <application> tag, which will cause that class to be instantiated for you when the process for your application/package is created.” • Kan håndtereronCreate, onTerminate, onLowMemoryogonConfigurationChanged events

  3. Eksempel Applicationclass // ** The ApplicationClass *************************************** // // ******************************************************************* // ** Listing 3-7: Skeletonapplicationclass // ApplictionClassExtenstion import android.app.Application; import android.content.res.Configuration; public classMyApplicationextendsApplication { private staticMyApplication singleton; // Returns the applicationinstance public staticMyApplicationgetInstance() { return singleton; } @Override public final voidonCreate() { super.onCreate(); singleton = this; } } // Manifest entry <application android:icon="@drawable/icon" android:name="MyApplication"> [... Manifestnodes ...] </application>

  4. Android Activity Class (Android Activities) • Brugergrænseflade og brugeraktioner er en aktivitet // ** The ActivityClass ****************************************** // packagecom.paad.myapplication; import android.app.Activity; import android.os.Bundle; public classMyActivityextendsActivity { /** Calledwhen the activity is firstcreated. */ @Override public voidonCreate(BundlesavedInstanceState) { super.onCreate(savedInstanceState); } } // ** Activity layout in XML <activityandroid:label="@string/app_name" android:name=".MyActivity"> </activity>

  5. Activity bruger View og Layout til UI og interaktion med brugeren • Activity og Form svarer til hinanden: Præsentere et skærmbillede 1:1 • Activity bruger Views, Layout og Widgets/Controls (Standard eller egne) • Der findes en sæt af specielt designede Activities i forhold til standard widgets • MapActivty, List Activty, ExpandableListActivty og TabActivity • Tilstand styret af Android Framework. • Mange Activities i en applikation kan give behov for eget Application objekt. Screen Layout “This hierarchy tree can be as simple or complex as you need it to be, and you can build it up using Android's set of predefined widgets and layouts, or with custom Views that you create yourself”.

  6. Klassehieraki

  7. Activity ->Layout-> View -> Widget &| ->UI Control • View er adgangen til skærmressourcen på enheden • Layout er manageren, der kontrollere View opsætningen • Widget er en kontrol i View, og som ligner den rigtige verdens ting. Et ur eller et kompas. Kan også være et View • UI control er grafiske enheder som knapper eller ”gestures” // ** Listing 4-2: Creating a UI layout in code @Override public voidonCreate(Bundleicicle) { super.onCreate(icicle); TextViewmyTextView = new TextView(this); setContentView(myTextView); myTextView.setText("Hello, Android"); } // ** Listing 4-1: Inflating an Activity layout @Override public voidonCreate(Bundleicicle) { super.onCreate(icicle); setContentView(R.layout.main); TextViewmyTextView = (TextView)findViewById(R.id.myTextView); }

  8. Klassediagram Et eksempel Fra http://www.droidnova.com/playing-with-graphics-in-android-part-i,147.html

  9. Layout hvordan XML ogkode <?xml version="1.0" encoding="utf-8"?> <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="EnterTextBelow" /> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="TextGoesHere!" /> </LinearLayout> LinearLayoutll = new LinearLayout(this); ll.setOrientation(LinearLayout.VERTICAL); TextViewmyTextView = new TextView(this); EditTextmyEditText = new EditText(this); myTextView.setText("EnterTextBelow"); myEditText.setText("TextGoesHere!"); intlHeight = LinearLayout.LayoutParams.FILL_PARENT; intlWidth = LinearLayout.LayoutParams.WRAP_CONTENT; ll.addView(myTextView, new LinearLayout.LayoutParams(lHeight, lWidth)); ll.addView(myEditText, new LinearLayout.LayoutParams(lHeight, lWidth)); setContentView(ll);

  10. Hvad er der så at holde styr på i GUI’en?http://developer.android.com/guide/topics/ui/index.html • View http://developer.android.com/reference/android/view/View.html • ViewGrouphttp://developer.android.com/reference/android/view/ViewGroup.html • Layout http://developer.android.com/reference/android/widget/LinearLayout.html • Widget Package http://developer.android.com/reference/android/widget/package-summary.html • Menu http://developer.android.com/guide/topics/ui/menus.html(Menu knappen) • View properties: Statiskog/ellerdynamisk. • UI Events • Define an event listener and register it with the View • Override an existing callback method for the View (Custom Views) • Menu Events

  11. Event Listnershttp://tseng-blog.nge-web.net/blog/2009/02/14/implementing-listeners-in-your-android-java-application/ • Inline ClasImplementation • Bruge “Implements” metoden • Bruge en variabeltil en listnermetode • XML attribute android:onClick="click1” • Sørg for at have en void click1(View v){ …} i Activity

  12. Event Listnershttp://tseng-blog.nge-web.net/blog/2009/02/14/implementing-listeners-in-your-android-java-application/ • Inline ClasImplementation • Bruge “Implements” metoden • Bruge en variabeltil en listnermetode • XML attribute android:onClick="click1” • Sørg for at have en void click1(View v){ …} i Activity

More Related