DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Управління даними в ОС Android за допомогою СУБД SQLite

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра електронних обчислювальних машин

Інформація про роботу

Рік:
2013
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Мережеві операційні системи
Група:
КН-31
Коротко про документ

Про що ця робота

У звіті розглядається створення Android-додатка для управління даними за допомогою вбудованої СУБД SQLite. Описано основні методи роботи з базою даних та наведено лістинг програми.

У роботі розглядаються

  • SQLite в Android
  • Мобільні операційні системи
  • Бази даних
  • Програмування під Android
  • Java
  • Інтерфейс користувача

Зміст і розділи

  1. Мета роботи
  2. Завдання
  3. Перелік основних методів для роботи з СУБД SQLite в ОС Android
  4. Лістинг тестової програми
  5. Результати виконання тестової програми
  6. Висновки
Для кого:Студенти технічних спеціальностей та розробники мобільних додатків.
Викладачі:Викладач кафедри

Ключові поняття

SQLiteAndroidБаза данихMainActivitySQLiteDatabaseContentValuesCursorМережні операційні системиТаблиця

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» Кафедра ЕОМ / ЗВІТ ДО ЛАБОРАТОРНОЇ РОБОТИ №5 з дисципліни: «Мережні операційні системи» на тему: «Управління даними в ОС Android за допомогою СУБД SQLite» Львів 2013 МЕТА РОБОТИ: Оволодіти навичками роботи з СУБД SQLite в ОС Android. 1. Завдання Створити базу даних навчальних предметів біжучого семестру (назва предмету, обсяг предмету (навчальні години), викладач, розклад, показники успішності) та тестову програму перегляду і редагування записів бази даних. Створити базу даних сучасних мобільних операційних систем (Android, iOS, BlackBerry OS, Symbian OS, Windows Phone, Bada та ін. [7] з інформацією про компанію-власника, біжучу версію, архітектурні особливості (сімейство і т.п.), біжучу долю на ринку мобільних обчислювальних пристроїв та ін.) та тестову програму перегляду і редагування записів бази даних. 2. Перелік основних методів для роботи з СУБД SQLite в ОС Android Основні методи для роботи з СУБД SQLITE В ОС Android: • openOrCreateDatabase(), • execSQL(), • insert(), • update(), • delete(), • close(). 3. Лістинг тестової програми MainActivity.java package com.example.V_Ghost_lab5; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.content.ContentValues; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.view.Menu; import android.view.View; import android.widget.EditText; public class MainActivity extends Activity { private static final String DATABASE_NAME = "V_Ghost.db"; private SQLiteDatabase mDatabase; public static final String KEY_ID = "id"; public static final String KEY_LESSON = "lesson"; public static final String KEY_TIME = "time"; public static final String KEY_TEACHER = "teacher"; public static final String KEY_ROZKLAD = "rozklad"; public static final String KEY_BALU = "balu"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } public void CreateBD(View view) { //create BD mDatabase = openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.CREATE_IF_NECESSARY, null); //create TABLE mDatabase.execSQL("DROP TABLE IF EXISTS " + "V_Ghost"); String createTabl = "CREATE TABLE pikaso(id INTEGER PRIMARY KEY AUTOINCREMENT,lesson TEXT,time TEXT,teacher TEXT,rozklad TEXT,balu TEXT)"; mDatabase.execSQL(createTabl); mDatabase.close(); } public void SaveBut(View view) { boolean isBDopen = mDatabase.isOpen(); if(isBDopen == false) mDatabase = openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.OPEN_READWRITE, null); EditText ed_id = (EditText)findViewById(R.id.editText1); EditText ed_lesson = (EditText)findViewById(R.id.editText6); EditText ed_time = (EditText)findViewById(R.id.editText5); EditText ed_teacher = (EditText)findViewById(R.id.editText4); EditText ed_rozklad = (EditText)findViewById(R.id.editText2); EditText ed_balu = (EditText)findViewById(R.id.editText3); long b = createTodo(ed_lesson.getText().toString(),ed_time.getText().toString(),ed_teacher.getText().toString(), ed_rozklad.getText().toString(),ed_balu.getText().toString()); ed_id.setText(Long.toString(b)); //close BD mDatabase.close(); } public void ViewBut(View view) { boolean isBDopen = mDatabase.isOpen(); if(isBDopen == false) mDatabase = openOrCreateDatabase(DATABASE_NAME, SQLiteDatabase.OPEN_READWRITE, null); //кількість рядків? int rowCount = getRowsCount(); EditText ed_id = (EditText)findViewById(R.id.editText1); EditText ed_lesson = (EditText)findViewById(R.id.editText6); EditText ed_time = (EditText)findViewById(R.id.editText5); EditText ed_teacher = (EditText)findViewById(R.id.editText4); EditText ed_rozklad = (EditText)findViewById(R.id.editText2); EditText ed_balu = (EditText)findViewById(R.id.editText3); int bodja= Integer.parseInt(ed_id.getText().toString()); //ed_rozklad.setText(Integer.toString(bodja)); if(bodja<=0 || bodja>rowCount) { AlertDialog alertDialog; alertDialog = new AlertDialog.Builder(this).create(); alertDialog.setTitle("Warning"); alertDialog.setMessage("Ви ввели не правильний ID"); alertDialog.show(); ed_id.setText(""); } else { Cursor input = fetchTodo(bodja); String temp = input.getString( input.getColumnIndex("lesson") ); ed_lesson.setText(temp); ed_time.setText(input.getString(input.getColumnIndex("time"))); ed_teacher.setText(input.getString(input.getColumnIndex("teacher"))); ed_rozklad.setText(input.getString(input.getColumnIndex("rozklad"))); ed_balu.setText(input.getString(input.getColumnIndex("balu"))); } mDatabase.close(); } public long createTodo(String lesson, String time, String teacher, String rozklad, String balu){ ContentValues initialValues = createContentValues(lesson,time,teacher,rozklad,balu); return mDatabase.insert("V_Ghost", null, initialValues); } private ContentValues createContentValues(String lesson, String time, String teacher, String rozklad, String balu) { ContentValues values = new ContentValues(); values.put(KEY_LESSON, lesson); values.put(KEY_TIME, time); values.put(KEY_TEACHER, teacher); values.put(KEY_ROZKLAD, rozklad); values.put(KEY_BALU, balu); return values; } public Cursor fetchTodo(long rowId) throws SQLException { Cursor mCursor = mDatabase.query(true, "pikaso", new String[] { KEY_LESSON, KEY_TIME, KEY_TEACHER, KEY_ROZKLAD, KEY_BALU }, KEY_ID + "=" + String.valueOf(rowId), null, null, null, null, null); if (mCursor != null) { mCursor.moveToFirst(); } return mCursor; } public int getRowsCount() { String countQuery = "SELECT * FROM " + "pikaso"; Cursor cursor = mDatabase.rawQuery(countQuery, null); return cursor.getCount(); } } activity_main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:text="V_Ghost" android:textColor="#006600" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/textView1" android:layout_toLeftOf="@+id/textView1" android:onClick="CreateBD" android:text="Створити БД" /> <EditText android:id="@+id/editText1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/button1" android:layout_alignParentRight="true" android:layout_marginLeft="28dp" android:layout_toRightOf="@+id/textView1" android:ems="10" android:inputType="numberDecimal" > <requestFocus /> </EditText> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/editText1" android:layout_alignBottom="@+id/editText1" android:layout_alignRight="@+id/textView1" android:text="ID" android:textAppearance="?android:attr/textAppearanceLarge" /> <EditText android:id="@+id/editText6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/editText1" android:layout_below="@+id/button1" android:layout_marginTop="59dp" android:ems="10" /> <EditText android:id="@+id/editText5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/editText1" android:layout_below="@+id/editText6" android:ems="10" /> <EditText android:id="@+id/editText4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/editText1" android:layout_below="@+id/editText5" android:ems="10" /> <EditText android:id="@+id/editText2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/editText1" android:layout_below="@+id/editText4" android:ems="10" /> <Button android:id="@+id/button2" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignRight="@+id/editText6" android:layout_below="@+id/editText1" android:layout_marginTop="14dp" android:text="Переглянути" android:onClick="ViewBut"/> <Button android:id="@+id/button3" style="?android:attr/buttonStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/button2" android:layout_alignBottom="@+id/button2" android:layout_alignLeft="@+id/button1" android:text="Зберегти" android:onClick="SaveBut" /> <EditText android:id="@+id/editText3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/editText2" android:layout_below="@+id/editText2" android:ems="10" /> <TextView android:id="@+id/textView3" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/editText6" android:layout_alignBottom="@+id/editText6" android:layout_alignLeft="@+id/button3" android:text="Предмет" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textView4" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/editText5" android:layout_alignBottom="@+id/editText5" android:layout_alignLeft="@+id/textView3" android:text="Години" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textView5" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/editText4" android:layout_alignBottom="@+id/editText4" android:layout_alignLeft="@+id/textView4" android:text="Викладач" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textView6" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/editText2" android:layout_alignBottom="@+id/editText2" android:layout_alignLeft="@+id/textView5" android:text="Кількість пар" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/textView7" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/editText3" android:layout_alignBottom="@+id/editText3" android:layout_alignLeft="@+id/textView6" android:text="Кількість набраних балів" android:textAppearance="?android:attr/textAppearanceSmall" /> </RelativeLayout> 4. Результати виконання тестової програми Для роботи програми спочатку необхідно натиснути кнопку «Створити БД», оскільки дана БД буде видалятись кожен раз при запуску програми. При натисненні цієї кнопки буде створено базу даних “Pikaso.db”, а також таблицю “pikaso”, що містить такі стовпці: id типу INTEGER з параметрами – PRIMARY KEY та AUTOINCREMENT; lesson TEXT; time TEXT; teacher TEXT; rozklad TEXT; balu TEXT. / Рис.1. Скріншот програми після її запуску / Рис.2. Скріншот після натиснення кнопки Вивід з БД ВИСНОВОК В даній лабораторній роботі я створив новий Android додаток для роботи з базою даних, а також провів його тест. Оволодів навичками роботи з СУБД SQLite в ОС Android.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!