|
Пример: Скачать среду можно с сайта для разработчиков Android (http://developer.android.com/sdk/index.html). Там скачать можно только Android Studio |
Опубликован: 10.04.2014 | Уровень: для всех | Доступ: платный | ВУЗ: Северный (Арктический) федеральный университет им. М.В. Ломоносова
Самостоятельная работа 10:
Работа с базами данных в Android
17.5 Заключение
В работе на примере простого приложения рассмотрели выполнение основных операций с базами данных: создание, добавление записей, просмотр всех записей таблицы, удаление. Для выполнения выборок из таблицы, необходимо познакомиться с основами построения запросов в SQLite и сформировать запрос для метода query() класса SQLiteDatabase.
package com.example.lab7_1_sqlite;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class MyOpenHelper extends SQLiteOpenHelper {
public String TABLE_NAME="first_table";
public String FIELD_NAME_1="first_field";
public String FIELD_NAME_2="second_field";
MyOpenHelper(Context ct, String nm, SQLiteDatabase.CursorFactory cf, int vs){
super(ct, nm, cf, vs);
}
@Override
public void onUpgrade(SQLiteDatabase DB, int oldVersion, int newVersion) {
Log.d("myLogs","| Upgrade |"+DB.toString());
}
@Override
public void onCreate(SQLiteDatabase DB) {
Log.d("myLogs","| Create |"+DB.toString());
String query="create table " + TABLE_NAME + " ( _id integer primary key
autoincrement, " + FIELD_NAME_1 + " TEXT, " + FIELD_NAME_2 + " TEXT)";
DB.execSQL(query);
}
}
Листинг
17.1.
Класс MyOpenHelper
package com.example.lab7_1_sqlite;
import android.os.Bundle;
import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.util.Log;
import android.view.View;
import android.widget.EditText;
public class SQLiteActivity extends Activity {
MyOpenHelper myHelper = null;
EditText field1, field2, result;
SQLiteDatabase DB;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sqlite);
myHelper=new MyOpenHelper(this, "myDB", null, 1);
field1=(EditText)findViewById(R.id.field1);
field2=(EditText)findViewById(R.id.field2);
result=(EditText)findViewById(R.id.dbResult);
}
public void insertIntoDatabase(View v){
if(!field1.getText().toString().equals("") &&
!field2.getText().toString().equals("")){
Log.d("myLogs","Insert INTO DB ("+field1.getText().toString()+ "," + field2.getText().toString()+")");
DB = myHelper.getWritableDatabase();
String query="create table if not exist " + myHelper.TABLE_NAME +
" (_id integer primary key autoincrement, " + myHelper.FIELD_NAME_1 + " TEXT, " + myHelper.FIELD_NAME_2 + " TEXT)";
ContentValues CV = new ContentValues();
CV.put(myHelper.FIELD_NAME_1,field1.getText().toString());
CV.put(myHelper.FIELD_NAME_2,field2.getText().toString());
DB.insert(myHelper.TABLE_NAME,null,CV);
DB.close();
field1.setText("");
field2.setText("");
}
}
public void readDatabase(View v){
result.setText("");
Log.d("myLogs","READ FROM DB");
DB = myHelper.getReadableDatabase();
String columns[]={"_id",myHelper.FIELD_NAME_1, myHelper.FIELD_NAME_2};
Cursor cursor=DB.query(myHelper.TABLE_NAME, columns, null, null, null,
null, "_id");
if(cursor!=null){
cursor.moveToFirst();
if (cursor.moveToFirst()) {
do {
result.setText(result.getText().toString()+ "\n" +
cursor.getString(0) + ") " + cursor.getString(1) + "," + cursor.getString(2));
} while (cursor.moveToNext());
}
}
DB.close();
}
public void deleteDatabase(View v){
Log.d("myLogs","Delete Database");
DB = myHelper.getWritableDatabase();
DB.delete(myHelper.TABLE_NAME, null, null);
DB.close();
}
}
Листинг
17.2.
Класс SQLiteActivity