版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
《通信业务开发》课程创建打开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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《核酸的酶促降解》课件
- 河南省焦作市2025-2026学年数学四年级第二学期期中考试模拟试题(含解析)
- 消防安全紧急预案制定与演练操作手册
- 跨部门沟通协作流程优化五步法指南
- DB46-T 627-2024 船舶保税油加注安全作业规程
- 通信软件研发团队产品经理绩效考评表
- 节能减排与项目利润绩效评估表
- 《支气管动脉栓塞治》课件
- 市场策划创意效果考核表
- IT支持与运维部门服务满意度及效率绩效衡量表
- 建筑装饰制图与识图 课件 项目2任务2 点、直线和平面的投影
- 医学科研成果转化指南
- 2025年太阳能光伏发电项目生态影响评估报告
- 《聪训斋语》原文及译文
- 《T-GQYH 0129–-2024 青少年国防教育培训体系规范》
- 2025年大学生信息素养大赛培训考试题库500题(含答案)
- T-CACM 1142-2018 中医神志病临床诊疗指南 双相情感障碍
- 工程造价司法鉴定与纠纷调解典型案例-记录
- 2024年中国显微操作器市场调查研究报告
- 《论优化营商环境法治的保障》10000字(论文)
- 旅游规划与开发-旅游管理 课程教学大纲
评论
0/150
提交评论