Ćwiczenie 4 - Robert Arsoba

Transkrypt

Ćwiczenie 4 - Robert Arsoba
Programowanie urządzeń mobilnych w systemie Android
dr inż. Robert Arsoba
Ćwiczenie 4
Tworzenie prostego interfejsu użytkownika
Cel ćwiczenia
Celem ćwiczenia jest praktyczne zapoznanie się z podstawowymi zasadami tworzenia
prostego interfejsu użytkownika oraz wykształcenie umiejętności wykorzystania
podstawowych kontrolek dostępnych na platformie Android.
Zakres ćwiczenia obejmuje definiowanie głównej aktywności aplikacji, wykorzystanie klasy
Activity i podstawowych kontrolek dziedziczących po klasie View (TextView,
EditText, Button, CheckBox, RadioGroup, RadioButton, Toast).
Przygotowanie się do ćwiczenia



Zapoznać się z wykładem „Interfejs użytkownika – elementy”.
 Zapoznać się z hierarchią klas kontrolek interfejsu użytkownika.
 Przestudiować zestaw kontrolek tekstu, przycisków i pól wyboru oraz
zapoznać się z obsługą tych kontrolek w podstawowym zakresie.
 Przeanalizować sposób obsługi kliknięcia przycisku przy użyciu interfejsu
nasłuchu OnClickListener (zwrócić uwagę na metodę onClick).
Na podstawie dokumentacji Android SDK:
http://developer.android.com/reference/packages.html
zapoznać się w podstawowym zakresie z klasami TextView, EditText, Button,
CheckBox, RadioGroup, RadioButton, Toast.
Zapoznać się z przykładową aplikacją zamieszczoną w opisie ćwiczenia.
 Przeanalizować kod źródłowy aplikacji.
Zadania do wykonania
1. Uruchomić przykładową aplikację zamieszczoną w opisie ćwiczenia i przetestować
jej działanie.
2. Zmodyfikować przykładową aplikację, umożliwiając przeliczanie temperatury ze
skali Celsjusza na skalę Fahrenheita i odwrotnie. Zastosować w tym celu pola
wyboru RadioButton i obsługiwać je analogicznie do przycisków Button. Stan
pól wyboru sprawdzać metodą isChecked.
3. Napisać aplikację umożliwiającą rozwiązywanie równania kwadratowego postaci:
ax2  bx  c  0
przy założeniu, że a jest różne od 0. Dla głównej aktywności aplikacji wykorzystać
obiekt klasy Activity, do wprowadzania współczynników równania użyć obiektów
klasy EditText, do wyświetlania wyników zastosować obiekty klasy TextView.
Materiały przygotowano w ramach projektu
„Inżynier pilnie poszukiwany”
Strona 1
Programowanie urządzeń mobilnych w systemie Android
dr inż. Robert Arsoba
Przykładowa aplikacja – plik źródłowy Projekt2Activity.java
Zwrócić uwagę na wykorzystanie klasy Activity i obsługę przycisków Button.
package org.przyklad;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Projekt2Activity extends Activity implements OnClickListener
{
private EditText et1, et2;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn1 = (Button) this.findViewById(R.id.button1);
Button btn2 = (Button) this.findViewById(R.id.button2);
btn1.setOnClickListener(this);
btn2.setOnClickListener(this);
et1 = (EditText) this.findViewById(R.id.editText1);
et2 = (EditText) this.findViewById(R.id.editText2);
}
public void onClick(View v)
{
if (v.getId() == R.id.button1)
{
Toast toast = Toast.makeText(Projekt2Activity.this, "Przeliczamy...",
Toast.LENGTH_SHORT);
toast.show();
przelicz();
}
else
if (v.getId() == R.id.button2)
this.finish();
}
private void przelicz()
{
CharSequence chs = et1.getText();
String s = chs.toString();
double x = Double.parseDouble(s);
double y = 9.0/5.0*x+32.0;
Double yy = new Double(y);
s = yy.toString();
et2.setText((CharSequence) s);
}
// Zwrócić uwagę na różnicę pomiędzy
// typami napisów CharSequence i String.
}
Materiały przygotowano w ramach projektu
„Inżynier pilnie poszukiwany”
Strona 2
Programowanie urządzeń mobilnych w systemie Android
dr inż. Robert Arsoba
Przykładowa aplikacja – plik zasobów main.xml
Zwrócić uwagę na sposób definiowania kontrolki TextView (etykieta tekstowa).
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/tv1tekst" />
<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned" >
<requestFocus />
</EditText>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button1tekst" />
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/tv2tekst" />
<EditText
android:id="@+id/editText2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="numberSigned" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button2tekst" />
</LinearLayout>
Materiały przygotowano w ramach projektu
„Inżynier pilnie poszukiwany”
Strona 3
Programowanie urządzeń mobilnych w systemie Android
dr inż. Robert Arsoba
Wygląd interfejsu użytkownika zdefiniowanego w pliku main.xml
Przykładowa aplikacja – plik zasobów strings.xml
Zwrócić uwagę na sposób definiowania napisów w węzłach <string>.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string
<string
<string
<string
<string
name="tv1tekst">Podaj temperaturę Celsjusza:</string>
name="tv2tekst">Przeliczona temperatura Fahrenheita:</string>
name="button1tekst">Przelicz</string>
name="button2tekst">Koniec</string>
name="app_name">Przelicznik temperatury</string>
</resources>
Materiały przygotowano w ramach projektu
„Inżynier pilnie poszukiwany”
Strona 4

Podobne dokumenty