public class MainActivity extends Activity implements OnClickListener {
final String LOG_TAG = "myLogs";
Button btnAdd, btnRead, btnClear, btnUpd, btnDel;
EditText etName, etEmail, etID;
DBHelper dbHelper;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnAdd = (Button) findViewById(R.id.btnAdd);
btnAdd.setOnClickListener(this);
btnRead = (Button) findViewById(R.id.btnRead);
btnRead.setOnClickListener(this);
btnClear = (Button) findViewById(R.id.btnClear);
btnClear.setOnClickListener(this);
etName = (EditText) findViewById(R.id.etName);
etEmail = (EditText) findViewById(R.id.etEmail);
btnClear = (Button) findViewById(R.id.btnClear);
btnClear.setOnClickListener(this);
btnUpd = (Button) findViewById(R.id.btnUpd);
btnUpd.setOnClickListener(this);
btnDel = (Button) findViewById(R.id.btnDel);
btnDel.setOnClickListener(this);
etName = (EditText) findViewById(R.id.etName);
etEmail = (EditText) findViewById(R.id.etEmail);
etID = (EditText) findViewById(R.id.etID);
// создаем объект для создания и управления версиями БД
dbHelper = new DBHelper(this);
}
@Override
public void onClick(View v) {
// создаем объект для данных
ContentValues cv = new ContentValues();
// получаем данные из полей ввода
String name = etName.getText().toString();
String email = etEmail.getText().toString();
String id = etID.getText().toString();
// подключаемся к БД
SQLiteDatabase db = dbHelper.getWritableDatabase();
switch (v.getId()) {
case R.id.btnAdd:
Log.d(LOG_TAG, "--- Insert in mytable: ---");
// подготовим данные для вставки в виде пар: наименование столбца - значение
cv.put("name", name);
cv.put("email", email);
// вставляем запись и получаем ее ID
long rowID = db.insert("mytable", null, cv);
Log.d(LOG_TAG, "row inserted, ID = " + rowID);
break;
case R.id.btnRead:
Log.d(LOG_TAG, "--- Rows in mytable: ---");
// делаем запрос всех данных из таблицы mytable, получаем Cursor
Cursor c = db.query("mytable", null, null, null, null, null, null);
// ставим позицию курсора на первую строку выборки
// если в выборке нет строк, вернется false
if (c.moveToFirst()) {
// определяем номера столбцов по имени в выборке
int idColIndex = c.getColumnIndex("id");
int nameColIndex = c.getColumnIndex("name");
int emailColIndex = c.getColumnIndex("email");
do {
// получаем значения по номерам столбцов и пишем все в лог
Log.d(LOG_TAG,
"ID = " + c.getInt(idColIndex) +
", name = " + c.getString(nameColIndex) +
", email = " + c.getString(emailColIndex));
// переход на следующую строку
// а если следующей нет (текущая - последняя), то false - выходим из цикла
} while (c.moveToNext());
} else
Log.d(LOG_TAG, "0 rows");
c.close();
break;
case R.id.btnClear:
Log.d(LOG_TAG, "--- Clear mytable: ---");
// удаляем все записи
int clearCount = db.delete("mytable", null, null);
Log.d(LOG_TAG, "deleted rows count = " + clearCount);
break;
case R.id.btnUpd:
if (id.equalsIgnoreCase("")) {
break;
}
Log.d(LOG_TAG, "--- Update mytable: ---");
// подготовим значения для обновления
cv.put("name", name);
cv.put("email", email);
// обновляем по id
int updCount = db.update("mytable", cv, "id = ?",
new String[] { id });
Log.d(LOG_TAG, "updated rows count = " + updCount);
break;
case R.id.btnDel:
if (id.equalsIgnoreCase("")) {
break;
}
Log.d(LOG_TAG, "--- Delete from mytable: ---");
// удаляем по id
int delCount = db.delete("mytable", "id = " + id, null);
Log.d(LOG_TAG, "deleted rows count = " + delCount);
break;
}
// закрываем подключение к БД
dbHelper.close();
}
class DBHelper extends SQLiteOpenHelper {
public DBHelper(Context context) {
// конструктор суперкласса
super(context, "myDB", null, 1);
}
@Override
public void onCreate(SQLiteDatabase db) {
Log.d(LOG_TAG, "--- onCreate database ---");
// создаем таблицу с полями
db.execSQL("create table mytable ("
+ "id integer primary key autoincrement,"
+ "name text,"
+ "email text" + ");");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }
}}
Эта код добавляет удаляет обновляет данные из БД все прекрасно работает но при нажатии на кнопки READ она все выводит в консоль, да так и продуманно было изначально но потом я решил добавить ListView что бы все записи выводить в ListView и не заморачиваться. Только как это сделать я так и не понял. Простите за ранее за мой русский.
Виртуальный выделенный сервер (VDS) становится отличным выбором
Вот,вроде-бы,EL хорошая штукаТебе не нужно делать вставки,которые очень громоздкие
В моем приложении я использую библиотеку TinyDB для сохранения\восстановления данных из SharedPreferencesНапример:
Помогите реализовать проверку, получил ли я логгер с настройками Root, или нет
Никак не могу создать массив игроковВ классе Team все установил, сеттеры, геттеры, конструктор и toString