第二阶段冲刺(2)
根据一个教程性的视频学习了sqlite的语法,成功创建了数据库,也可以对数据库进行升级等操作,编写了Dao方法。
public class DatabaseHelper extends SQLiteOpenHelper { public static SQLiteDatabase sqLiteDatabase; private static final String TAG = "DatabaseHelper"; /* context:上下文 name:数据库名称 factory:直译游标工厂,为null的时候使用默认值 version:版本号 */ public DatabaseHelper(@Nullable Context context) { super(context, Constants.DATABASE_NAME, null, Constants.VERSION_CODE); } //只有第一次创建数据库时会调用这个方法 @Override public void onCreate(SQLiteDatabase sqLiteDatabase) { //创建时的回调 Log.d(TAG,"创建数据库..."); //创建字段 String sql = "create table "+ Constants.TABLE_NAME +"(_id integer,name varchar,age integer,salary integer)"; sqLiteDatabase.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase sqLiteDatabase, int oldVersion, int newVersion) { //升级数据库时的回调 Log.d(TAG,"升级数据库..."); String sql; switch (oldVersion){ case 3://添加phone字段 // sql = "alter table "+Constants.TABLE_NAME+" add phone integer"; // sqLiteDatabase.execSQL(sql); break; case 4://添加address字段 sql = "alter table "+Constants.TABLE_NAME+" add address varchar"; sqLiteDatabase.execSQL(sql); break; case 5: break; } } }
public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); DatabaseHelper helper = new DatabaseHelper(this); helper.getWritableDatabase(); } }
public class Constants { public static final String DATABASE_NAME = "sunofbeaches.db"; public static final int VERSION_CODE = 5; public static final String TABLE_NAME = "employee"; }
public class Dao { private static final String Tag = ""; private final DatabaseHelper mHelper; public Dao(Context context) { //创建数据库 mHelper = new DatabaseHelper(context); } public void insert() { SQLiteDatabase db = mHelper.getWritableDatabase(); String sql = "insert into "+ Constants.TABLE_NAME +"(_id,name,age,salary,phone) values(?,?,?,?,?)"; db.execSQL(sql,new Object[]{1,"BillGates",60,1,110}); db.close(); } public void delete() { SQLiteDatabase db = mHelper.getWritableDatabase(); String sql = "delete from "+ Constants.TABLE_NAME +" where age = 60"; db.execSQL(sql); db.close(); } public void update() { SQLiteDatabase db = mHelper.getWritableDatabase(); String sql = "update "+ Constants.TABLE_NAME +" set salary = 2 where age = 60"; db.execSQL(sql); db.close(); } public void query() { SQLiteDatabase db = mHelper.getWritableDatabase(); String sql = "select * from "+ Constants.TABLE_NAME; Cursor cursor = db.rawQuery(sql,null); while (cursor.moveToNext()){ int index = cursor.getColumnIndex("name"); String name = cursor.getString(index); Log.d(Tag,"name == " + name); System.out.println(name+ "asdsadsadasdasdsxzcwqe2121412421421"); } cursor.close(); db.close(); } }

浙公网安备 33010602011771号