• Nie Znaleziono Wyników

Tworzenie aplikacji mobilnych

N/A
N/A
Protected

Academic year: 2021

Share "Tworzenie aplikacji mobilnych"

Copied!
21
0
0

Pełen tekst

(1)

Tworzenie aplikacji mobilnych

Android

(2)
(3)

Widgety

• Widget = kontrolka

• Dziedziczą od klasy View

(4)

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns: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="@string/hello"

/>

</LinearLayout>

(5)

Przycisk

<Button

xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/button"

android:text=""

android:layout_width="fill_parent"

android:layout_height="fill_parent"/>

(6)

Identyfikator obiektu

• android:id="@+id/button"

• android:text="@string/hello"

(7)

Inicjalizacja

@Override

public void onCreate(Bundle icicle) { super.onCreate(icicle);

setContentView(R.layout.main);

btn=(Button)findViewById(R.id.button);

btn.setOnClickListener(this);

updateTime();

}

(8)

Przypisanie zdarzenia w xml

<Button

android:onClick="someMethod"

...

/>

W pliku .java

public void someMethod(View theButton) { // kod funkcji

}

(9)

TextView

<TextView

xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="Text wyswietlany przez obiekt TextView"

/>

(10)

Inne atrybuty dla TextView

• android:typeface:

ustawia typeface etykiety (np.,monospace)

• android:textStyle: Styl textu pogrubienie (bold), pochylenie (italic), lub pogurbione i pochylone (bold_italic)

• android:textColor: Ustawiw kolor textu w

formacie RGB (np., #FF0000 - czerwony)

(11)

ImageView, ImageButton

<ImageView

xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/icon"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:adjustViewBounds="true"

android:src="@drawable/molecule"

/>

(12)

EditText

• android:autoText: Ustawia automatyczną kontrolę poprawności pisania

• android:capitalize: Ustawienie pisania pierwszej litery jako Kapitalika

• android:digits: Ustawia pole w tryb liczbowy (akceptuje tylko liczby)

• android:singleLine: Ustwienie trybu pojedynczej linii tekstu

(true/false)

(13)

EditText

<EditText xmlns:android="http://schemas.android.com/apk/res/android"

android:id="@+id/field"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:singleLine="false"

/>

public class FieldDemo extends Activity {

@Override

public void onCreate(Bundle icicle) { super.onCreate(icicle);

setContentView(R.layout.main);

EditText fld=(EditText)findViewById(R.id.field);\

fld.setText("Licensed under the Apache License, Version 2.0 " +

"(the \"License\"); you may not use this file " +

"except in compliance with the License. You may " +

"obtain a copy of the License at " +

"http://www.apache.org/licenses/LICENSE-2.0");

} }

(14)

CheckBox

• <?xml version="1.0" encoding="utf-8"?>

• <CheckBox

xmlns:android="http://schemas.android.com/apk/re s/android"

• android:id="@+id/check"

• android:layout_width="wrap_content"

• android:layout_height="wrap_content"

• android:text="Ten checkbox jest niezaznaczony" />

(15)

CheckBox Obsluga zdarzeń

public class CheckBoxDemo extends Activity

implements CompoundButton.OnCheckedChangeListener { CheckBox cb;

@Override

public void onCreate(Bundle icicle) { super.onCreate(icicle);

setContentView(R.layout.main);

cb=(CheckBox)findViewById(R.id.check);

cb.setOnCheckedChangeListener(this);

}

public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) {

cb.setText("This checkbox is: checked");

} else {

cb.setText("This checkbox is: unchecked");

} } }

(16)

RadioButton, RadioGroup

• check(): Sprawdza wybrany radio button z wykorzystaniem jego id

(np. group.check(R.id.radio1))

• clearCheck(): „czyści” wszystkie radiobuttony w grupie

• getCheckedRadioButtonId(): Pobiera id

zaznaczonego radio buttona (-1 jeśli żaden nie

został wybrany)

(17)

<?xml version="1.0" encoding="utf-8"?>

<RadioGroup

xmlns:android="http://schemas.android.com/apk/res/android"

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

<RadioButton android:id="@+id/radio1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Rock" />

<RadioButton android:id="@+id/radio2"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Scissors" />

<RadioButton android:id="@+id/radio3"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="Paper" />

</RadioGroup>

(18)

Inne właściwości widgetów

• android: visibility: Kontroluje widoczność widgetu

• android:nextFocusDown, android:nextFocusLef,

• android:nextFocusRight, android:nextFocusUp:

Kontrilują kolejność uzyskiwania fokusa w przypadku użycia D-Pada, trackaball itp.

• android:contentDescription: Może być wykorzystywane przez narzędzia dla osób niewidomych odpowiednik atrybutu alt w znaczniki <img> w html

(19)

Metody Widgetów

• setEnabled(), isEnabled()

• requestFocus(), isFocused()

(20)

Nawigacja po drzewie widgetów

• getParent(): Odnajduje rodzica widgetu lub kontener w którym się on znajduje

• findViewById(): Znajduje widget potomny (umieszczony w danym kotenerze) dla

zadanego ID

• getRootView(): Znajduje główny kontener całego activity ustawiony przez

setContentView()

(21)

Cytaty

Powiązane dokumenty

Stanie się to dlatego, że istnieje wiele systemów, których przerabianie na nową technologię tylko dlatego, że jest nowocześniejsza nie jest ekonomicznie uzasadnione..

Celem studiów jest zapoznanie Cię z najważniejszymi technologiami, narzędziami oraz zasadami tworzenia aplikacji internetowych, intranetowych i mobilnych, a także przygotowanie

Tworzenie stron internetowych z wykorzystaniem HTML i CSS (22 godz.) Tworzenie struktury witryn internetowych w oparciu o język HTML.. Najważniejsze

LinearLayout (horizontal) – układ liniowy, w którym kolejne elementy stanowią nowe kolumny LinearLayout(vertical) – układ liniowy, w którym kolejne elementy stanowią nowe wiersze

• android:layout_alignTop: Określa, że widget powinien być wyrównany swoją górną krawędzią z górną krawędzią widgetu, na który wskazuje znacznik.

• Odpowiadają zarówno za dostęp do danych ja i za konwersje do odpowiednich

Należy skopiować potrzebne pliki na flash dysk używając dostarczonego przez producenta dysku skryptu copy2doc. Przygotowanie pliku inicjacji systemu sysinit dla systemu docelowego

Gdy pamięć NAND podłączona jest bezpośrednio do procesora do obsługi tej pamięci stosuje się specjalny system plików dla pamięci (ang. Flash File System).. 5 Instalacja