移动应用开发 实验报告10 Android数据存储技术-SQLite
一、实验目的 熟悉SQLite数据库存储; 掌握SQLiteDatabase、SQLiteOpenHelper类的使用方法。 熟悉adb shell。 |
二、实验内容 在SQLite数据库中使用SQL语句实现数据的增加、修改、删除、查询、事务控制等操作。 |
三、实验原理 通过SQLiteDatabase类可以执行SQL语句,完成对数据表的SQL语句的操作方法以及一些操作模式常数。SQLiteDataHelper是一个抽象类、所以使用时需要定义其子类,并且在子类腹泻相应的抽象方法。 |
四、实验代码及结果 package com.example.sql;
import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper;
public class MyDatabaseHelper extends SQLiteOpenHelper {
private static final String DATABASENAME = "MMMM.db"; private static final int DATABASERVERSION = 1; private static final String TABLENAME = "mmm_tab";
public MyDatabaseHelper(Context context) { super(context,DATABASENAME,null,DATABASERVERSION); } @Override public void onCreate(SQLiteDatabase db) { String sql = "CREATE TABLE " + TABLENAME + "(" + "id INTEGER PRIMARY KEY ," + "name VARCHAR(50) NOT NULL ," + "birthday DATE NOT NULL" + ")"; db.execSQL(sql); System.out.println("**** 创建:onCreate()。"); }
@Override public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion){ String sql = "DROP TABLE IF EXISTS"+TABLENAME; db.execSQL(sql); System.out.println("**** 更新:onUpgrade()。"); this.onCreate(db); }
} package com.example.sql;
import android.os.Bundle; import android.app.Activity; import android.database.sqlite.SQLiteOpenHelper; import android.view.Menu;
public class MainActivity extends Activity {
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main);
SQLiteOpenHelper helper = new MyDatabaseHelper(this); helper.getWritableDatabase(); }
@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; }
}
|
五、试验分析(思考) 在编写sql语句的时候要注意是否留出空格。MyDatabaseHelper类中的回调方法onCreate()只有在使用了SQLiteOpenHelper类中的geyReadableDatabase()方法之后才会自动执行。 |