Cześć, znowu przychodzę po pomoc, bo temat mnie w ogóle nie interesuje ale niestety muszę go zrealizować (studia). Sprawa wygląda tak: mam banalną tabele, w apce użytkownik wprowadza dane, usuwa, wyświetla. Chcę, żeby po wpisaniu stringa w miejsce gdzie ma być int wprowadzało losowe dane. Jak się do tego zabrać?
To, że kod nie jest napisany ładnie i według reguł to wiem - nie o to tu chodzi.
Mainactivity
package com.example.xxxx.bazadanych;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.view.View;
import android.database.Cursor;
import android.util.Log;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
public Button btnInsert;
public Button btnDelete;
public Button btnSelect;
public Button btnSearch;
public EditText editName;
public EditText editAge;
public EditText editDelete;
public EditText editSearch;
public EditText editSurname;
public EditText editSex;
public EditText editPesel;
ZarzadzajDanymi dm;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dm = new ZarzadzajDanymi(this);
btnInsert = (Button) findViewById(R.id.insertButton);
btnDelete = (Button) findViewById(R.id.deleteButton);
btnSelect = (Button) findViewById(R.id.selectAllButton);
btnSearch = (Button) findViewById(R.id.searchButton);
editName = (EditText) findViewById(R.id.imieTextBox);
editAge = (EditText) findViewById(R.id.wiekTextBox);
editDelete = (EditText) findViewById(R.id.deleteTextBox);
editSearch = (EditText) findViewById(R.id.searchTextBox);
editSurname = (EditText) findViewById(R.id.nazwiskoTextBox);
editSex = (EditText) findViewById(R.id.sexTextBox);
editPesel = (EditText) findViewById(R.id.peselTextBox);
btnSelect.setOnClickListener(this);
btnInsert.setOnClickListener(this);
btnDelete.setOnClickListener(this);
btnSearch.setOnClickListener(this);
}
public void showData(Cursor c){
while (c.moveToNext()){
Log.i(c.getString(1), c.getString(2));
Log.i(c.getString(3), c.getString(4));
}
}
@Override
public void onClick(View v)
{
switch (v.getId()){
case R.id.insertButton:
dm.insert(editName.getText().toString(),
editAge.getText().toString(),
editSurname.getText().toString(),
editSex.getText().toString(),
editPesel.getText().toString());
break;
case R.id.selectAllButton:
showData(dm.selectAll());
break;
case R.id.searchButton:
showData(dm.searchName(editSearch.getText().toString()));
break;
case R.id.deleteButton:
dm.delete(editDelete.getText().toString());
break;
}
}
}
package com.example.xxxx.bazadanych;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.content.Context;
import android.util.Log;
import android.database.Cursor;
public class ZarzadzajDanymi {
private SQLiteDatabase db;
public static final String TABLE_ROW_ID = "_id";
public static final String TABLE_ROW_NAME = "name";
public static final String TABLE_ROW_AGE = "age";
public static final String TABLE_ROW_SURNAME = "surname";
public static final String TABLE_ROW_SEX = "sex";
public static final String TABLE_ROW_PESEL = "pesel";
private static final String DB_NAME = "address_book_db";
private static final int DB_VERSION = 1;
private static final String TABLE_N_AND_A = "names_and_addresses";
private class CustomSQLiteOpenHelper extends SQLiteOpenHelper
{
public CustomSQLiteOpenHelper(Context context)
{
super(context,DB_NAME,null,DB_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db)
{
String newTableQueryString = "create table "
+ TABLE_N_AND_A + " ("
+ TABLE_ROW_ID
+ " integer primary key autoincrement not null,"
+ TABLE_ROW_NAME
+ " text not null,"
+ TABLE_ROW_SURNAME
+ " text not null,"
+ TABLE_ROW_SEX
+ " text not null,"
+ TABLE_ROW_PESEL
+ " int not null,"
+ TABLE_ROW_AGE
+ " int not null);";
db.execSQL(newTableQueryString);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
{
}
}
public ZarzadzajDanymi(Context context)
{
CustomSQLiteOpenHelper helper =
new CustomSQLiteOpenHelper(context);
db = helper.getWritableDatabase();
}
public void insert(String name, String age, String surname, String sex, String pesel)
{
String query = "INSERT INTO " + TABLE_N_AND_A + " (" +
TABLE_ROW_NAME + ", " + TABLE_ROW_SURNAME + ", " + TABLE_ROW_SEX + ", " + TABLE_ROW_PESEL + ", " + TABLE_ROW_AGE + ") " +
"VALUES (" +
"'" + name + "'" + ", " + "'" + surname + "'" + ", " + "'" + sex + "'" + ", " + "'" + pesel + "'" + ", " + "'" + age + "'" + ");";
Log.i("insert() = ", query);
db.execSQL(query);
}
public void delete(String name)
{
String query = "DELETE FROM " + TABLE_N_AND_A +
" WHERE " + TABLE_ROW_NAME +
" = '" + name + "';";
Log.i("delete() = ", query);
db.execSQL(query);
}
public Cursor selectAll() {
Cursor c = db.rawQuery("SELECT *" + " from " +
TABLE_N_AND_A,null);
return c;
}
public Cursor searchName(String name) {
String query = "SELECT " +
TABLE_ROW_ID + ", " +
TABLE_ROW_NAME +
", " + TABLE_ROW_AGE + ", " +
TABLE_ROW_SURNAME + ", " +
TABLE_ROW_SEX + ", " +
TABLE_ROW_PESEL +
" from " +
TABLE_N_AND_A + " WHERE " +
TABLE_ROW_NAME + " = '" + name + "';";
Log.i("searchName() = ", query);
Cursor c = db.rawQuery(query,null);
return c;
}
}