使用系统API的SQLite
16lz
2021-01-26
DBHelper.java
packagecom.example.mysmallsql;importandroid.content.Context;importandroid.database.sqlite.SQLiteDatabase;importandroid.database.sqlite.SQLiteDatabase.CursorFactory;importandroid.database.sqlite.SQLiteOpenHelper;publicclassDBHelperextendsSQLiteOpenHelper{publicDBHelper(Contextcontext){super(context,"person.db",null,1);}@OverridepublicvoidonCreate(SQLiteDatabasedb){db.execSQL("createtableperson(idintegerprimarykeyautoincrement,namevarchar,numbervarchar)");}@OverridepublicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){}}
DBManager.java
packagecom.example.mysmallsql;importjava.util.ArrayList;importjava.util.List;importandroid.R.integer;importandroid.content.ContentValues;importandroid.content.Context;importandroid.database.Cursor;importandroid.database.sqlite.SQLiteDatabase;publicclassDBManager{privateDBHelpermdbHelper;privateSQLiteDatabasedb;publicDBManager(Contextcontext){mdbHelper=newDBHelper(context);}publiclongadd(Stringname,Stringnumber){db=mdbHelper.getWritableDatabase();//db.execSQL("insertintoperson(name,number)values(?,?)",newObject[]{name,number});ContentValuesvalues=newContentValues();values.put("name",name);values.put("number",number);longid=db.insert("person",null,values);db.close();returnid;}publicbooleanfind(Stringname){db=mdbHelper.getReadableDatabase();//Cursorcursor=db.rawQuery("select*frompersonwherename=?",newString[]{name});Cursorcursor=db.query("person",null,"name=?",newString[]{name},null,null,null);booleanresult=cursor.moveToNext();cursor.close();db.close();returnresult;}//根据姓名修改号码publicintupdate(Stringname,Stringnewnumber){db=mdbHelper.getWritableDatabase();//db.execSQL("updatepersonsetnumber=?wherename=?",newObject[]{name,number});ContentValuesvalues=newContentValues();values.put("number",newnumber);intnumber=db.update("person",values,"name=?",newString[]{newnumber});db.close();returnnumber;}publicintdelete(Stringname){db=mdbHelper.getWritableDatabase();//db.execSQL("deletefrompersonwherename=?",newObject[]{name});intnumber=db.delete("person","name=?",newString[]{name});db.close();returnnumber;}//查询全部publicList<Person>findall(){db=mdbHelper.getReadableDatabase();List<Person>persons=newArrayList<Person>();//Cursorcursor=db.rawQuery("select*fromperson",null);Cursorcursor=db.query("person",newString[]{"name","id","number"},null,null,null,null,null);while(cursor.moveToNext()){intid=cursor.getInt(cursor.getColumnIndex("id"));Stringname=cursor.getString(cursor.getColumnIndex("name"));Stringnumber=cursor.getString(cursor.getColumnIndex("number"));Personp=newPerson(id,name,number);persons.add(p);}db.close();returnpersons;}}
MainActivity.java
packagecom.example.mysmallsql;importandroid.os.Bundle;importandroid.app.Activity;importandroid.database.sqlite.SQLiteDatabase;importandroid.view.Menu;publicclassMainActivityextendsActivity{@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);}}
Person.java
packagecom.example.mysmallsql;importandroid.R.integer;publicclassPerson{privateintid;privateStringname;privateStringnumber;publicPerson(){}publicPerson(intid,Stringname,Stringnumber){this.id=id;this.name=name;this.number=number;}publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicStringgetNumber(){returnnumber;}publicvoidsetNumber(Stringnumber){this.number=number;}}
更多相关文章
- 代码里面修改layout_gravity
- Android(安卓)APP修改全局字体
- 解读:下载Android源码时为什么对Python版本有要求
- adb code
- android apk--程序发布前的准备
- 【android studio】 gradle配置成本地离线zip包
- Android(安卓)中 KeyEvent keycode 配置 及 转换原理
- Android(安卓)联系人数据库介绍以及对联系人的基本操作
- Android(安卓)个人信息填写 小控件练习