Пример: Скачать среду можно с сайта для разработчиков 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