Program: pobierający dane wprowadzone przez użytkownika i zapisuje je do bazy danych.
Danymi są imię oraz nazwisko zawarte w polu „EditText” oraz miasto pobierane ze „Spinner’a”.
Plik bazy danych wymagany do poprawnego działania programu.
Kompilator: Eclipse
Film:
Kod programu:
Program główny – backend:
package com.example.projekt_10;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import android.os.Bundle;
import android.app.Activity;
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.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final Spinner sMiasta=(Spinner)findViewById(R.id.spinnerMiasta);
Button bZapisz=(Button)findViewById(R.id.buttonZapisz);
final EditText eImieNazwisko=(EditText)findViewById(R.id.editTextImieNazwisko);
SQLiteDatabase baza=openOrCreateDatabase("ksiazkaNad.db", SQLiteDatabase.OPEN_READWRITE, null);
List<String> listaMiast = new ArrayList<String>();
final List<String> listaIdMiast = new ArrayList<String>();
String polaTabeli[]={"idMasta", "NazwaMiasta"};
Cursor kursor=baza.query("MiastaSlownik", polaTabeli, null, null, null, null, null);
kursor.moveToFirst();
int dlKursora=kursor.getCount();
for(int i=1;i<dlKursora;i++)
{
listaMiast.add(kursor.getString(1));
listaIdMiast.add(kursor.getString(0));
kursor.moveToNext();
}
baza.close();
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, listaMiast);
sMiasta.setAdapter(adapter);
AdapterView.OnItemSelectedListener wybraneMiasto= new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> arg0, View arg1,int arg2, long arg3) {}
@Override
public void onNothingSelected(AdapterView<?> arg0) {}
};
sMiasta.setOnItemSelectedListener(wybraneMiasto);
bZapisz.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
FileOutputStream plik;
try {
plik=openFileOutput("plik",MODE_APPEND);
String zawartosc=eImieNazwisko.getText().toString();
plik.write((zawartosc+" "+sMiasta.getSelectedItem().toString()+" idMiasta = "
+listaIdMiast.get(sMiasta.getSelectedItemPosition()).toString()+"\n").getBytes());
plik.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
} 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/editTextImieNazwisko"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="38dp"
android:layout_marginTop="26dp"
android:ems="10"
android:hint="@string/imieinaz" >
<requestFocus />
</EditText>
<Button
android:id="@+id/buttonZapisz"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextImieNazwisko"
android:layout_below="@+id/editTextImieNazwisko"
android:layout_marginTop="70dp"
android:text="@string/zapisz" />
<Spinner
android:id="@+id/spinnerMiasta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/editTextImieNazwisko"
android:layout_below="@+id/editTextImieNazwisko" />
</RelativeLayout>