Program: odczytujący dane z bazy danych poprzez wpisanie ID lub nazwiska, istnieje także możliwość zapisu danych do bazy.
Plik bazy danych wymagany do poprawnego działania programu.
Kompilator: Eclipse
Film:
Kod programu:
Główny program – backend:
package com.example.lab4zad1;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bID=(Button)findViewById(R.id.buttonWyszPoID);
Button bNazwisko=(Button)findViewById(R.id.buttonWyszPoNazwisku);
Button bZapisz=(Button)findViewById(R.id.buttonZapisz);
final EditText eID=(EditText)findViewById(R.id.editTextID);
final EditText eImie=(EditText)findViewById(R.id.editTextImie);
final EditText eNazwisko=(EditText)findViewById(R.id.editTextNazwisko);
final EditText eWiek=(EditText)findViewById(R.id.editTextWiek);
final Pracownicy pracownicy= new Pracownicy();
bID.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String wartosc=eID.getText().toString();
SQLiteDatabase baza=openOrCreateDatabase("osoby.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
String kolumny[]={"id_pracownicy","imie","nazwisko","wiek"};
Cursor kursor=baza.query("Pracownicy", kolumny, "id_pracownicy="+wartosc, null, null, null, null);
kursor.moveToFirst();
eImie.setText(kursor.getString(1));
eNazwisko.setText(kursor.getString(2));
eWiek.setText(kursor.getString(3));
baza.close();
kursor.close();
}
});
bNazwisko.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
String wartosc=eNazwisko.getText().toString();
SQLiteDatabase baza=openOrCreateDatabase("osoby.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
String kolumny[]={"id_pracownicy","imie","nazwisko","wiek"};
Cursor kursor=baza.query("Pracownicy",kolumny,"nazwisko=?",new String[]{wartosc}, null, null, null);
kursor.moveToFirst();
eImie.setText(kursor.getString(1));
eID.setText(kursor.getString(0));
eWiek.setText(kursor.getString(3));
baza.close();
kursor.close();
}
});
bZapisz.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase baza = openOrCreateDatabase("osoby.db", SQLiteDatabase.OPEN_READWRITE, null);
ContentValues skladowe_rekordu=new ContentValues();
pracownicy.imie=eImie.getText().toString();
pracownicy.nazwisko=eNazwisko.getText().toString();
pracownicy.wiek=eWiek.getText().toString();
skladowe_rekordu.put("imie",pracownicy.imie);
skladowe_rekordu.put("nazwisko",pracownicy.nazwisko);
skladowe_rekordu.put("wiek",pracownicy.wiek);
baza.insert("Pracownicy", null, skladowe_rekordu);
baza.close();
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
} Klasa pracownicy:
package com.example.lab4zad1;
public class Pracownicy {
String imie="";
String nazwisko="";
String wiek="";
} Layout:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<EditText
android:id="@+id/editTextImie"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextID"
android:layout_below="@+id/editTextID"
android:ems="10"
android:hint="@string/imie" />
<EditText
android:id="@+id/editTextID"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/buttonWyszPoID"
android:ems="10"
android:hint="@string/id" >
<requestFocus />
</EditText>
<Button
android:id="@+id/buttonWyszPoID"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/editTextID"
android:layout_alignBottom="@+id/editTextID"
android:layout_alignRight="@+id/editTextWiek"
android:text="@string/wysz_po_id" />
<EditText
android:id="@+id/editTextNazwisko"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextImie"
android:layout_below="@+id/editTextImie"
android:ems="10"
android:hint="@string/nazwisko" />
<EditText
android:id="@+id/editTextWiek"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/editTextNazwisko"
android:ems="10"
android:hint="@string/wiek" />
<Button
android:id="@+id/buttonWyszPoNazwisku"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextWiek"
android:layout_below="@+id/editTextWiek"
android:text="@string/wysz_po_nazwisku" />
<Button
android:id="@+id/buttonZapisz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/buttonWyszPoNazwisku"
android:layout_below="@+id/buttonWyszPoNazwisku"
android:text="@string/zapisz" />
</RelativeLayout>