版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《通信业务开发》课程创建打开DB创建打开数据库使用步骤PART33-2实例演示使用步骤示例继承android.database.sqlite.SQLiteOpenHelper,创建数据库操作辅助类实现onCreate(),编写SQL语句,创建数据库表等操作实现onUpdate()方法,编写SQL语句,进行数据库更新操作添加相应方法,实现DBCRUD操作Activity中事件驱动,获取可读or可写DB,调用DB操作辅助类中方法,进行CRUD操作步骤SQLite中,为表设置自动增长字段时,使用“INTEGERPRIMARYKEY”声明即可实例演示实例演示publicclassDatabaseHelperextendsSQLiteOpenHelper{
publicDatabaseHelper(Contextcontext){super(context,DATABASE_NAME,null,DATABASE_VERSION);}privatefinalstaticStringDATABASE_NAME="BOOKS.db";privatefinalstaticintDATABASE_VERSION=1;privatefinalstaticStringTABLE_NAME="books_table";publicfinalstaticStringBOOK_ID="book_id";publicfinalstaticStringBOOK_NAME="book_name";publicfinalstaticStringBOOK_AUTHOR="book_author";@OverridepublicvoidonCreate(SQLiteDatabasedb){Stringsql="CREATETABLE"+TABLE_NAME+"("+BOOK_ID+"INTEGERprimarykeyautoincrement,“+BOOK_NAME+"text,"+BOOK_AUTHOR+"text);";db.execSQL(sql);}@OverridepublicvoidonUpgrade(SQLiteDatabasedb,intoldVersion,intnewVersion){Stringsql="DROPTABLEIFEXISTS"+TABLE_NAME;db.execSQL(sql);onCreate(db);}publicCursorselect(){SQLiteDatabasedb=this.getReadableDatabase();Cursorcursor=db.query(TABLE_NAME,null,null,null,null,null,null);returncursor;……}}DatabaseHelper.java实例演示publicclassDatabaseHelperextendsSQLiteOpenHelper{publiclonginsert(Stringbookname,Stringauthor){SQLiteDatabasedb=this.getWritableDatabase();ContentValuescv=newContentValues();cv.put(BOOK_NAME,bookname);cv.put(BOOK_AUTHOR,author);longrow=db.insert(TABLE_NAME,null,cv);returnrow;}publicvoiddelete(intid){SQLiteDatabasedb=this.getWritableDatabase();Stringwhere=BOOK_ID+"=?";String[]whereValue={Integer.toString(id)};db.delete(TABLE_NAME,where,whereValue);}publicvoidupdate(intid,Stringbookname,Stringauthor){SQLiteDatabasedb=this.getWritableDatabase();Stringwhere=BOOK_ID+"=?";String[]whereValue={Integer.toString(id)};ContentValuescv=newContentValues();cv.put(BOOK_NAME,bookname);cv.put(BOOK_AUTHOR,author);db.update(TABLE_NAME,cv,where,whereValue);}}DatabaseHelper.java实例演示publicclassMainAcextendsActivityimplementsAdapterView.OnItemClickListener{privateDatabaseHelpermBooksDB;privateCursormCursor;privateEditTextBookName;privateEditTextBookAuthor;privateListViewBooksList;privateintBOOK_ID=0;protectedfinalstaticintMENU_ADD=Menu.FIRST;protectedfinalstaticintMENU_DELETE=Menu.FIRST+1;protectedfinalstaticintMENU_UPDATE=Menu.FIRST+2;publicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.main);setUpViews();}publicvoidsetUpViews(){mBooksDB=newDatabaseHelper(this);mCursor=mBooksDB.select();}@OverridepublicbooleanonCreateOptionsMenu(Menumenu){super.onCreateOptionsMenu(menu);menu.add(Menu.NONE,MENU_ADD,0,"ADD");menu.add(Menu.NONE,MENU_DELETE,0,"DELETE");menu.add(Menu.NONE,MENU_DELETE,0,"UPDATE");returntrue;}publicbooleanonOptionsItemSelected(MenuItemitem){super.onOptionsItemSelected(item);switch(item.getItemId()){caseMENU_ADD:add();break;caseMENU_DELETE:delete();break;caseMENU_UPDATE:update();break;}returntrue;}……}MainAc.java实例演示publicclassMainAcextendsActivityimplementsAdapterView.OnItemClickListener{……publicvoidadd(){Stringbookname=BookName.getText().toString();Stringauthor=BookAuthor.getText().toString();if(bookname.equals("")||author.equals("")){return;}mBooksDB.insert(bookname,author);mCursor.requery();BooksList.invalidateViews();BookName.setText("");BookAuthor.setText("");Toast.makeText(this,"AddSuccessed!",Toast.LENGTH_SHORT).show();}publicvoiddelete(){if(BOOK_ID==0){return;}mBooksDB.delete(BOOK_ID);mCursor.requery();BooksList.invalidateViews();BookName.setText("");BookAuthor.setText("");Toast.makeText(this,"DeleteSuccessed!",Toast.LENGTH_SHORT).show();}publicvoidupdate(){Stringbookname=BookName.getText().toString();Stringauthor=BookAuthor.getText().toString();
if(bookname.equals("")||author.equals("")){return;}mBooksDB.update(BOOK_ID,bookname,author);mCursor.requery();BooksList.invalidateViews();BookName.setText("");BookAuthor.setText("");Toast.makeText(this,"UpdateSuccessed!",Toast.LENGTH_SHORT).show();}……}MainAc.java实例演示publicclassMainAcextendsActivityimplementsAdapterView.OnItemClickListener{……@OverridepublicvoidonItemClick(AdapterView<?>parent,Viewview,intposition,longid){mCursor.moveToPosition(position);BOOK_ID=mCursor.getInt(0);BookName.setText(mCursor.getString(1));BookAuthor.setText(mCursor.getString(2));}publicclassBooksListAdapterextendsBaseAdapter{privateContextmContext;privateCursormCursor;public
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- AI还原范缜相关古代场景
- 新闻媒体编辑新闻敏感性绩效衡量表
- 3.2 工业区位因素及其变化 教学设计 高一下学期 地理 人教版(2019)必修二
- 市场部活动策划执行绩效评价表
- 预防校园欺凌塑造和谐氛围小学主题班会课件
- 预防自然灾害,建立安全意识,小学主题班会课件
- T-SCSZX 002-2025 竹浆生活用纸
- 2025-2026学年视唱练耳课教案
- 行政助理办公效率提升绩效评定表
- 2026年中层干部校园管理简答试题(附答案)
- 2025鄂尔多斯乌审旗消防救援大队招聘62名政府专职消防队员考试参考题库及答案解析
- 2026年江苏省无锡市重点学校小升初数学考试真题及参考答案
- 温州技师学院招聘真题
- 京东物流合作合同协议
- 种质资源库人员培训制度
- 单位档案查阅利用制度
- 考试题库民生银行数据分析相关知识
- 叙事护理外化:案例分析与分享
- 46566-2025温室气体管理体系管理手册及全套程序文件
- 个体化肿瘤疫苗联合PD-1抑制剂的临床策略
- T-CAMDI 135-2024 输液、输血器具用共聚聚酯(PCTG)专用料
评论
0/150
提交评论