Частина тексту файла (без зображень, графіків і формул):
Мiнiстерство освiти і науки, молоді та спорту України
Національний університет “Львівська політехніка”
Кафедра ЕОМ
Звіт
до лабораторної роботи №5
з дисципліни: «Мережні операційні системи»
На тему: «Робота з базами даних в ОС Android за допомогою СУБД SQLite.»
Мета: Оволодіти навичками роботи з СУБД SQLite в ОС Android.
Завдання:
Створити тестову програму для роботи з базою даних SQLite.
Хід виконання роботи
Перелік основних методів для роботи з базою даних.
db.execSQL(query); - запит на створення видалення таблиць;
ourDatabase.insert(); - додавання нових записів в базу даних
ourDatabase.query(); - вибірка даних з бази
ourDatabase.delete(); - видалення даних з бази
ourDatabase.update(); - обновлення записів в базі
Вихідний код програми
// Lab5Activity.java
package ua.programming.dbtest;
import android.app.Activity;
import android.app.Dialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class DBTest1Activity extends Activity implements android.view.View.OnClickListener {
/** Called when the activity is first created. */
Button sqlUpdate, sqlView;
EditText sqlName, sqlHotness;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
sqlUpdate = (Button)findViewById(R.id.bSQLUpdate);
sqlView = (Button)findViewById(R.id.bSQLopenView);
sqlName = (EditText)findViewById(R.id.etSQLName);
sqlHotness = (EditText)findViewById(R.id.etSQLHotness);
sqlUpdate.setOnClickListener(this);
sqlView.setOnClickListener(this);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch (arg0.getId()) {
case R.id.bSQLUpdate:
boolean didItWork = true;
try {
String name = sqlName.getText().toString();
String hotness = sqlHotness.getText().toString();
HotOrNot entry = new HotOrNot(DBTest1Activity.this);
entry.open();
entry.createEntry(name,hotness);
entry.close();
} catch (Exception e) {
didItWork = false;
String error = e.getMessage();
Dialog dialog = new Dialog(this);
dialog.setTitle("Dang It!");
TextView textView = new TextView(this);
textView.setText(error);
dialog.setContentView(textView);
dialog.show();
}finally
{
if (didItWork) {
Dialog dialog = new Dialog(this);
dialog.setTitle("Heak Yea!");
TextView textView = new TextView(this);
textView.setText("Success");
dialog.setContentView(textView);
dialog.show();
}
}
break;
case R.id.bSQLopenView:
Intent i = new Intent("ua.programming.dbtest.SQLView");
startActivity(i);
break;
default:
break;
}
}
}
package ua.programming.dbtest;
import java.util.ArrayList;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class HotOrNot {
public static final String KEY_ROWID="_id";
public static final String KEY_NAME="persones_name";
public static final String KEY_HOTNESS="persones_hotness";
public static final String DATABASE="HotOrNotdb";
public static final String DATABASE_TABLE="peopleTable";
public static final int DATABASE_VERSION=1;
private DbHelper ourHelper;
private final Context ourContext;
private SQLiteDatabase ourDatabase;
private static class DbHelper extends SQLiteOpenHelper
{
public DbHelper(Context context) {
super(context, DATABASE, null, DATABASE_VERSION);
// TODO Auto-generated constructor stub
}
@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
String query = "CREATE TABLE " + DATABASE_TABLE + " (" +
KEY_ROWID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
KEY_NAME + " TEXT NOT NULL, " + KEY_HOTNESS + " TEXT NOT NULL);";
db.execSQL(query);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
db.execSQL("DROP TABLE IF EXISTS " + DATABASE_TABLE);
onCreate(db);
}
}
public HotOrNot(Context c)
{
ourContext = c;
}
public HotOrNot open() throws SQLException{
ourHelper = new DbHelper(ourContext);
ourDatabase = ourHelper.getWritableDatabase();
return this;
}
public void close() {
ourHelper.close();
}
public long createEntry(String name, String hotness) {
// TODO Auto-generated method stub
ContentValues cv = new ContentValues();
cv.put(KEY_NAME, name);
cv.put(KEY_HOTNESS, hotness);
return ourDatabase.insert(DATABASE_TABLE, null, cv);
}
public ArrayList<String> getData() {
// TODO Auto-generated method stub
String[] columns = new String[] {KEY_ROWID, KEY_NAME, KEY_HOTNESS};
ArrayList<String> result = new ArrayList<String>();
Cursor cursor = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
int iRow = cursor.getColumnIndex(KEY_ROWID);
int iName = cursor.getColumnIndex(KEY_NAME);
int iHotness = cursor.getColumnIndex(KEY_HOTNESS);
for (cursor.moveToFirst(); !cursor.isAfterLast(); cursor.moveToNext()) {
result.add(cursor.getString(iRow));
result.add(cursor.getString(iName));
result.add(cursor.getString(iHotness));
}
return result;
}
}
package ua.programming.dbtest;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;
import android.widget.Toast;
public class SQLView extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.sqlview);
TextView data0 = (TextView)findViewById(R.id.data0);
TextView data1 = (TextView)findViewById(R.id.data1);
TextView data2 = (TextView)findViewById(R.id.data2);
try {
TableLayout tableLayout = (TableLayout)findViewById(R.id.tableLayout1);
HotOrNot info = new HotOrNot(this);
info.open();
ArrayList<String> data = info.getData();
data0.setText(data.get(0));
data1.setText(data.get(1));
data2.setText(data.get(2));
info.close();
TextView[] tViews = new TextView[data.size()];
TableRow[] tRows = new TableRow[data.size()/3];
int j = 0;
for (int i = 3; i < data.size();i++) {
tViews[i] = new TextView(this);
tViews[i].setText(data.get(i));
tViews[i].setLayoutParams(data1.getLayoutParams());
tRows[j] = new TableRow(this);
tRows[j].addView(tViews[i]);
i++;
tViews[i] = new TextView(this);
tViews[i].setText(data.get(i));
tViews[i].setLayoutParams(data1.getLayoutParams());
tRows[j].addView(tViews[i]);
i++;
tViews[i] = new TextView(this);
tViews[i].setText(data.get(i));
tViews[i].setLayoutParams(data1.getLayoutParams());
tRows[j].addView(tViews[i]);
tableLayout.addView(tRows[j]);
j++;
}
} catch (Exception e) {
// TODO: handle exception
Toast.makeText(this, e.getMessage(), Toast.LENGTH_SHORT).show();
}
}
}
Результати виконання програми
Висновок: на даній лабораторній роботі, я ознайомився з основними засобами роботи з базою даних SQLite в ОS Android.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!