Odczyt z bazy danych

Odczyt z bazy danych

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>