Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 4.64 KB | None | 0 0
  1. package ru.startandroid.develop.p0341simplesqlite;
  2.  
  3. import android.app.Activity;
  4. import android.content.ContentValues;
  5. import android.content.Context;
  6. import android.database.Cursor;
  7. import android.database.sqlite.SQLiteDatabase;
  8. import android.database.sqlite.SQLiteOpenHelper;
  9. import android.os.Bundle;
  10. import android.util.Log;
  11. import android.view.View;
  12. import android.view.View.OnClickListener;
  13. import android.widget.Button;
  14. import android.widget.EditText;
  15.  
  16. public class MainActivity extends Activity implements OnClickListener {
  17.  
  18.   final String LOG_TAG = "myLogs";
  19.  
  20.   Button btnAdd, btnRead, btnClear;
  21.   EditText etName, etEmail;
  22.  
  23.   DBHelper dbHelper;
  24.  
  25.   /** Called when the activity is first created. */
  26.   @Override
  27.   public void onCreate(Bundle savedInstanceState) {
  28.     super.onCreate(savedInstanceState);
  29.     setContentView(R.layout.main);
  30.  
  31.     btnAdd = (Button) findViewById(R.id.btnAdd);
  32.     btnAdd.setOnClickListener(this);
  33.  
  34.     btnRead = (Button) findViewById(R.id.btnRead);
  35.     btnRead.setOnClickListener(this);
  36.  
  37.     btnClear = (Button) findViewById(R.id.btnClear);
  38.     btnClear.setOnClickListener(this);
  39.  
  40.     etName = (EditText) findViewById(R.id.etName);
  41.     etEmail = (EditText) findViewById(R.id.etEmail);
  42.      
  43.     // создаем объект для создания и управления версиями БД
  44.     dbHelper = new DBHelper(this);
  45.   }
  46.  
  47.    
  48.   @Override
  49.   public void onClick(View v) {
  50.      
  51.     // создаем объект для данных
  52.     ContentValues cv = new ContentValues();
  53.      
  54.     // получаем данные из полей ввода
  55.     String name = etName.getText().toString();
  56.     String email = etEmail.getText().toString();
  57.  
  58.     // подключаемся к БД
  59.     SQLiteDatabase db = dbHelper.getWritableDatabase();
  60.      
  61.  
  62.     switch (v.getId()) {
  63.     case R.id.btnAdd:
  64.       Log.d(LOG_TAG, "--- Insert in mytable: ---");
  65.       // подготовим данные для вставки в виде пар: наименование столбца - значение
  66.        
  67.       cv.put("name", name);
  68.       cv.put("email", email);
  69.       // вставляем запись и получаем ее ID
  70.       long rowID = db.insert("mytable", null, cv);
  71.       Log.d(LOG_TAG, "row inserted, ID = " + rowID);
  72.       break;
  73.     case R.id.btnRead:
  74.       Log.d(LOG_TAG, "--- Rows in mytable: ---");
  75.       // делаем запрос всех данных из таблицы mytable, получаем Cursor
  76.       Cursor c = db.query("mytable", null, null, null, null, null, null);
  77.  
  78.       // ставим позицию курсора на первую строку выборки
  79.       // если в выборке нет строк, вернется false
  80.       if (c.moveToFirst()) {
  81.  
  82.         // определяем номера столбцов по имени в выборке
  83.         int idColIndex = c.getColumnIndex("id");
  84.         int nameColIndex = c.getColumnIndex("name");
  85.         int emailColIndex = c.getColumnIndex("email");
  86.  
  87.         do {
  88.           // получаем значения по номерам столбцов и пишем все в лог
  89.           Log.d(LOG_TAG,
  90.               "ID = " + c.getInt(idColIndex) +
  91.               ", name = " + c.getString(nameColIndex) +
  92.               ", email = " + c.getString(emailColIndex));
  93.           // переход на следующую строку
  94.           // а если следующей нет (текущая - последняя), то false - выходим из цикла
  95.         } while (c.moveToNext());
  96.       } else
  97.         Log.d(LOG_TAG, "0 rows");
  98.       c.close();
  99.       break;
  100.     case R.id.btnClear:
  101.       Log.d(LOG_TAG, "--- Clear mytable: ---");
  102.       // удаляем все записи
  103.       int clearCount = db.delete("mytable", null, null);
  104.       Log.d(LOG_TAG, "deleted rows count = " + clearCount);
  105.       break;
  106.     }
  107.     // закрываем подключение к БД
  108.     dbHelper.close();
  109.   }
  110.    
  111.    
  112.  
  113.   class DBHelper extends SQLiteOpenHelper {
  114.  
  115.     public DBHelper(Context context) {
  116.       // конструктор суперкласса
  117.       super(context, "myDB", null, 1);
  118.     }
  119.  
  120.     @Override
  121.     public void onCreate(SQLiteDatabase db) {
  122.       Log.d(LOG_TAG, "--- onCreate database ---");
  123.       // создаем таблицу с полями
  124.       db.execSQL("create table mytable ("
  125.           + "id integer primary key autoincrement,"
  126.           + "name text,"
  127.           + "email text" + ");");
  128.     }
  129.  
  130.     @Override
  131.     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
  132.  
  133.     }
  134.   }
  135.  
  136. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement