мережні операційні системи лаб5

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

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра ЕОМ

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

Рік:
2015
Тип роботи:
Лабораторна робота
Предмет:
Інші

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

Міністерство освіти і науки України Національний університет „Львівська політехніка” Кафедра ЕОМ Лабораторна робота № 5 з курсу “ Мережні операційні системи” на тему: «Управління даними в ОС Android за допомогою СУБД SQLite.» Львів – 2014 Мета роботи: Оволодіти навичками роботи з СУБД SQLite в ОС Android. 1. Перелік основних методів для роботи з СУБД SQLite в ОС Android. db.execSQL(query); - запит на створення видалення таблиць; ourDatabase.insert(); - додавання нових записів в базу даних ourDatabase.query(); - вибірка даних з бази ourDatabase.delete(); - видалення даних з бази ourDatabase.update(); - обновлення записів в базі 2. Результати виконання тестової програми. / Рис. 1. Результат виконання програми Висновок: На даній лабораторній роботі я оволодів навичками роботи з СУБД SQLite в ОС Android. 3. Лістинг тестової програми. MainActivity.xml package com.example.subject; import java.util.ArrayList; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.view.KeyEvent; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnItemClickListener; import android.widget.ArrayAdapter; import android.widget.ListView; public class MainActivity extends Activity { public final static String EXTRA_MESSAGE = "com.example.subject.MESSAGE"; private ListView obj; DBHelper mydb; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mydb = new DBHelper(this); ArrayList array_list = mydb.getAllSubjects(); ArrayAdapter arrayAdapter = new ArrayAdapter(this,android.R.layout.simple_list_item_1, array_list); //adding it to the list view. obj = (ListView)findViewById(0); obj.setAdapter(arrayAdapter); obj.setOnItemClickListener(new OnItemClickListener(){ @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub int id_To_Search = arg2 + 1; Bundle dataBundle = new Bundle(); dataBundle.putInt("id", id_To_Search); Intent intent = new Intent(getApplicationContext(),com.example.subject.DisplayContact.class); intent.putExtras(dataBundle); startActivity(intent); } }); } @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; } @Override public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); switch(item.getItemId()) { case R.id.item1: Bundle dataBundle = new Bundle(); dataBundle.putInt("id", 0); Intent intent = new Intent(getApplicationContext(),com.example.subject.DisplayContact.class); intent.putExtras(dataBundle); startActivity(intent); return true; default: return super.onOptionsItemSelected(item); } } public boolean onKeyDown(int keycode, KeyEvent event) { if (keycode == KeyEvent.KEYCODE_BACK) { moveTaskToBack(true); } return super.onKeyDown(keycode, event); } } DBHelper.java package com.example.subject; import java.util.ArrayList; import java.util.HashMap; import java.util.Hashtable; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.DatabaseUtils; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase; public class DBHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "MyDBName.db"; public static final String SUBJECT_TABLE_NAME = "subjects"; public static final String SUBJECT_COLUMN_ID = "id"; public static final String SUBJECT_COLUMN_NAME = "subject"; public static final String SUBJECT_COLUMN_TIME = "time"; public static final String SUBJECT_COLUMN_LECTURER = "lecturer"; public static final String SUBJECT_MIDDLE = "middle"; private HashMap hp; public DBHelper(Context context) { super(context, DATABASE_NAME , null, 1); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL( "create table subjects " + "(id integer primary key, subject text,time text,lecturer text, middle text)" ); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub db.execSQL("DROP TABLE IF EXISTS subjects"); onCreate(db); } public boolean insertSubject (String subject, String time, String lecturer, String middle) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("subject", subject); contentValues.put("time", time); contentValues.put("lecturer", lecturer); contentValues.put("middle", middle); db.insert("subjects", null, contentValues); return true; } public Cursor getData(int id){ SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery( "select * from subjects where id="+id+"", null ); return res; } public int numberOfRows(){ SQLiteDatabase db = this.getReadableDatabase(); int numRows = (int) DatabaseUtils.queryNumEntries(db, SUBJECT_TABLE_NAME); return numRows; } public boolean updateSubject (Integer id, String subject, String time, String lecturer, String middle) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("subject", subject); contentValues.put("time", time); contentValues.put("lecturer", lecturer); contentValues.put("middle", middle); db.update("subjects", contentValues, "id = ? ", new String[] { Integer.toString(id) } ); return true; } public Integer deleteSubject (Integer id) { SQLiteDatabase db = this.getWritableDatabase(); return db.delete("subjects", "id = ? ", new String[] { Integer.toString(id) }); } public ArrayList getAllSubjects() { ArrayList array_list = new ArrayList(); //hp = new HashMap(); SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery( "select * from subjects", null ); res.moveToFirst(); while(res.isAfterLast() == false){ array_list.add(res.getString(res.getColumnIndex(SUBJECT_COLUMN_NAME))); res.moveToNext(); } return array_list; } }  DisplayContact.java package com.example.subject; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.Intent; import android.database.Cursor; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; import android.widget.TextView; import android.widget.Toast; public class DisplayContact extends Activity { int from_Where_I_Am_Coming = 0; private DBHelper mydb ; TextView subject ; TextView time; TextView lecturer; TextView middle; int id_To_Update = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_display_contact); subject = (TextView) findViewById(R.id.editTextName); time = (TextView) findViewById(R.id.editTextTime); lecturer = (TextView) findViewById(R.id.editTextLecturer); middle = (TextView) findViewById(R.id.editTextMiddle); mydb = new DBHelper(this); Bundle extras = getIntent().getExtras(); if(extras !=null) { int Value = extras.getInt("id"); if(Value>0){ //means this is the view part not the add contact part. Cursor rs = mydb.getData(Value); id_To_Update = Value; rs.moveToFirst(); String subjec = rs.getString(rs.getColumnIndex(DBHelper.SUBJECT_COLUMN_NAME)); String tim = rs.getString(rs.getColumnIndex(DBHelper.SUBJECT_COLUMN_TIME)); String lecture = rs.getString(rs.getColumnIndex(DBHelper.SUBJECT_COLUMN_LECTURER)); String middl = rs.getString(rs.getColumnIndex(DBHelper.SUBJECT_MIDDLE)); if (!rs.isClosed()) { rs.close(); } //Button b = (Button)findViewById(R.id.b); //b.setVisibility(View.INVISIBLE); subject.setText((CharSequence)subjec); subject.setFocusable(false); subject.setClickable(false); time.setText((CharSequence)tim); time.setFocusable(false); time.setClickable(false); lecturer.setText((CharSequence)lecture); lecturer.setFocusable(false); lecturer.setClickable(false); middle.setText((CharSequence)middl); middle.setFocusable(false); middle.setClickable(false); } } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. Bundle extras = getIntent().getExtras(); if(extras !=null) { int Value = extras.getInt("id"); if(Value>0){ getMenuInflater().inflate(R.menu.display_contact, menu); } else{ getMenuInflater().inflate(R.menu.main, menu); } } return true; } public boolean onOptionsItemSelected(MenuItem item) { super.onOptionsItemSelected(item); switch(item.getItemId()) { case R.id.Edit_Subject: //Button b = (Button)findViewById(R.id.button1); //b.setVisibility(View.VISIBLE); subject.setEnabled(true); subject.setFocusableInTouchMode(true); subject.setClickable(true); time.setEnabled(true); time.setFocusableInTouchMode(true); time.setClickable(true); lecturer.setEnabled(true); lecturer.setFocusableInTouchMode(true); lecturer.setClickable(true); middle.setEnabled(true); middle.setFocusableInTouchMode(true); middle.setClickable(true); return true; case R.id.Delete_Subject: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage(R.string.deleteSubject) .setPositiveButton(R.string.yes, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { mydb.deleteSubject(id_To_Update); Toast.makeText(getApplicationContext(), "Deleted Successfully", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplicationContext(),com.example.subject.MainActivity.class); startActivity(intent); } }) .setNegativeButton(R.string.no, new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { // User cancelled the dialog } }); AlertDialog d = builder.create(); d.setTitle("Are you sure"); d.show(); return true; default: return super.onOptionsItemSelected(item); } } public void run(View view) { Bundle extras = getIntent().getExtras(); if(extras !=null) { int Value = extras.getInt("id"); if(Value>0){ if(mydb.updateSubject(id_To_Update,subject.getText().toString(), time.getText().toString(), lecturer.getText().toString(), middle.getText().toString())){ Toast.makeText(getApplicationContext(), "Updated", Toast.LENGTH_SHORT).show(); Intent intent = new Intent(getApplicationContext(),com.example.subject.MainActivity.class); startActivity(intent); } else{ Toast.makeText(getApplicationContext(), "not Updated", Toast.LENGTH_SHORT).show(); } } else{ if(mydb.insertSubject(subject.getText().toString(), time.getText().toString(), lecturer.getText().toString(), middle.getText().toString())){ Toast.makeText(getApplicationContext(), "done", Toast.LENGTH_SHORT).show(); } else{ Toast.makeText(getApplicationContext(), "not done", Toast.LENGTH_SHORT).show(); } Intent intent = new Intent(getApplicationContext(),com.example.subject.MainActivity.class); startActivity(intent); } } } } Висновок: На даній лабораторній роботі я оволодів навичками програмування доступу та управління базою даних в ОС Android. Розробив програму під Android пристрій.
Антиботан аватар за замовчуванням

07.12.2015 22:07

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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