Programowanie dla technologii bezprzewodowych Programowanie dla technologii bezprzewodowych Laboratorium 2 Cele: 佛 Baza danych SQLite Zadania Materia艂y do zadao znajduj膮 si臋 na dysku wsp贸lnym w katalogu PCudek\ Programowanie dla technologii bezprzewodowych\Lab 3. Obraz wirtualnego systemu operacyjnego Win XP na kt贸rym nale偶y wykonad zadania znajduje si臋 w katalogu PCudek\ Programowanie dla technologii bezprzewodowych\ Win_XP_Android 1. Skopiuj i uruchom wirtualn膮 maszyn臋. Po uruchomieniu zmieo nazw臋 komputera w sieci na wNUMER_INDEKSU (Start->M贸j komputer- >W艂a艣ciwo艣ci ->Nazwa komputera->Zmie艅) 2. Uruchom program Eclipse wpisuj膮c w adresie obszaru roboczego (workspace) D:\@projekty\lab3 . Sprawdz czy 艣rodowisko programistyczne jest przygotowane do uruchomienia projektu wykonuj膮c nast臋puj膮ce czynno艣ci: a) Window ->Preferences->Android->SDK Location: C:\PROGRA~1\Android\android-sdk UWAGA!!! Pami臋taj aby nazw臋 Program Files zamienid na PROGRA~1 lub w przypadku Program Files (86) na PROGRA~2 b) Window ->Android SDK and AVD Manager: sprawdz czy na li艣cie wirtualnych urz膮dzeo znajduje si臋 urz膮dzenie, kt贸re zamierzasz wykorzystad w projekcie 3. Wybieraj膮c File->New->Other utw贸rz nowy Android project z nast臋puj膮cymi ustawieniami: Project name: database Build Target: Android 2.1 Aplication name: Database Package name: pl.wsiz.database Craeate Activity: DatabaseActivity Min SDK Version: 7 4. W pliku DatabaseActivity.java utw贸rz baz臋 danych SQLite dodaj膮c nast臋puj膮ce linie kodu: import android.database.sqlite.SQLiteDatabase; //zmienna stanowi膮ca uchwyt do bazy danych private SQLiteDatabase sampleDB; W metodzie onCreate dodaj kod //utworzenie bazy danych w pliku o nazwie sampleDB sampleDB = this.openOrCreateDatabase("sampleDB", SQLiteDatabase.CREATE_IF_NECESSARY, null); //ustawienia bazy sampleDB.setVersion(1); sampleDB.setLocale(Locale.getDefault()); mgr Pawe艂 Cudek Programowanie dla technologii bezprzewodowych sampleDB.setLockingEnabled(true); //zapytanie tworz膮ce tabele String createTable= "CREATE TABLE IF NOT EXISTS USER (id int, name varchar, password varchar);"; //wykonanie zapytania sampleDB.execSQL(createTable); 5. Przygotuj konfiguracj臋 uruchomieniow膮 I uruchom emulator. Po wy艣wietleniu ekranu naszej aplikacji przejdz do perspektyw DDMS (Window->Open perspective- >DDMS). Dla uruchomionego emulatora otw贸rz zak艂adk臋 File Explorer i sprawdz czy istnieje plik bazy danych sampleDB w lokalizacji /data/data/pl.wsiz.database/database 6. Po艂膮cz si臋 z baz膮 danych wykorzystuj膮c narz臋dzia SDK Uruchom wiersz poleceo Start->Uruchom->cmd Sprawdz nazw臋 emulatora w perspektywie DDMS (prawdopodobnie b臋dzie to emulator-5554) i uruchom aplikacje adb.exe wpisuj膮c: 艢cie偶ka do Android SDK\platform-tools\adb.exe s emulator-5554 shell Wywo艂anie tego polecenie pozwoli nam poruszad si臋 w systemie naszego emulatora. Wywo艂aj polecenie listuj膮ce zawarto艣d katalogu: ls /data/data/pl.wsiz.database/databases Uruchom program do obs艂ugi bazy wpisuj膮c sqlite3 /data/data/pl.wsiz.database/databases/sampleDB. Poleceniem .table sprawdz czy na li艣cie tabel widnieje tabela o nazwie USER. 7. Przygotuj nowe Activity w nast臋puj膮cych krokach a) w res/layout utw贸rz plik insert.xml b) w src/pl.wsiz.database utw贸rz plik InsertActivity.java dziedzicz膮cy z klasy android.app.Activity, kt贸ry b臋dzie wczytywa艂 zawarto艣c pliku insert.xml package pl.wsiz.database; import android.app.Activity; import android.os.Bundle; public class InsertActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.insert); } } c) Powt贸rz kod zwi膮zany z utworzeniem obiektu bazy. (bez tworzenia tabeli) d) Zarejestruj nowe activity w pliku AndroidManifest.xml dopisuj膮c: 8. W pliku main.xml dodaj nowy przycisk: