当前位置: 网学 > 编程文档 > Android > 正文

Android 学习 结合界面对Sqlite数据库做增删改查.操...

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: myeducs.cn 发布时间: 13/03/17

【网学网提醒】:网学会员为需要朋友们搜集整理了Android 学习 结合界面对Sqlite数据库做增删改查.操...相关资料,希望对各位网友有所帮助!


    数据库做增,Android学习结合界面对Sqlite数据库做增,删,改,查.操作
    文章分类:文章分类:移动开发在上一篇博客中已经对SQLite数据库做过封装,此博客结合上博客做界面操作.将数据库中数据查询出来在界面中用ListView显示,并增加菜单提示对数据做新增和删除操作.单选择一条记录单击时对此条记录做修改操作.所用到的界面布局:主界面ListActivity:Java代码1.2.11.16.
    在ListView中增加的控件布局:Java代码1.2.7.     9.android:layout_width="wrap_content"10.android:layout_height="30px"11.android:maxWidth="200dip"12.android:textSize="22sp"13.android:layout_marginTop="10dip"14.android:text="第一组第一项"/>15.23.
    新增和修改界面布局:Java代码1.2.7.11.15.19.
     23.28.
    此功能牵涉到两个Activity所有还需
    要修改AndroidManifest.xml:Java代码1.2.6.7.8.9.10.11.12.13.14.15.16.
    具体代码:Java代码1.2.3.4.5.6.7.packageus.imnet.iceskysl.db.notepad;importimportimportimportimportandroid.app.ListActivity;android.content.Intent;android.database.Cursor;android.os.Bundle;android.util.Log;
     8.importandroid.view.Menu;9.importandroid.view.MenuItem;10.importandroid.view.View;11.importandroid.widget.ListAdapter;12.importandroid.widget.ListView;13.importandroid.widget.SimpleCursorAdapter;14.15./**16.*对数据库做增,删,改,查操作的主界面17.*@authorxuzhenqin18.*19.*/20.publicclassActivityMainextendsListActivity{21.22./**23.*用来标识新增操作24.*/25.privatestaticfinalintACTIVITY_CREATE=0;26.27./**28.*用来标识编辑操作29.*/30.privatestaticfinalintACTIVITY_EDIT=1;31.32./**33.*第一个菜单34.*/35.privatestaticfinalintINSERT_ID=Menu.FIRST;36.37./**38.*第二个菜单39.*/40.privatestaticfinalintDELETE_ID=Menu.FIRST+1;41.42./**43.*数据库操作对象44.*/45.privateDiaryDbAdapterdiaryDb;46.47./**48.*数据库返回结果对象49.*/50.privateCursorcursor;51.
     52.53.54.55.56.57.58.59.60.61.62.63.64.65.66.67.68.69.70.71.72.73.74.75.76.77.78.
    publicvoidonCreate(Bundlebundle){super.onCreate(bundle);//加载界面配置文件setContentView(R.layout.diary_list);//获得数据库对象diaryDb=newDiaryDbAdapter(this);//打开数据库连接diaryDb.open();//显示查询出来的所有数据showListView();}/***查询数据表中所有数据*/privatevoidshowListView(){//查询全部表记录cursor=diaryDb.getAllNotes();
    //String[]from=newString[]{DiaryDbAdapter.KEY_TITLE,DiaryDbAdapter.KEY_BODY};79.int[]to=newint[]{R.id.text1,R.id.created};80.81.//组装ListAdapter数据82.//第一个参数控件布局界面,放Context83.//第二个参数对象放数据Cursor84.//第三个参数数据绑定到用户界面的名称85.//第四个参数数据绑定到用户界面的控件86.ListAdaptercursorAdapter=newSimpleCursorAdapter(this,R.layout.diary_row,cursor,from,to);87.88.//将组装的ListAdapter放入ListActivity中89.setListAdapter(cursorAdapter);90.}91.92./**93.*创建菜单
     94.95.96.97.98.99.1
    00.101.102.103.104.
    */publicbooleanonCreateOptionsMenu(Menumenu){super.onCreateOptionsMenu(menu);//第一个参数菜单组名//第二个参数设置菜单ID//第三个参数菜单顺序标识//第四个参数菜单在界面显示的内容menu.add(0,INSERT_ID,0,R.string.menu_insert);menu.add(0,DELETE_ID,0,R.string.menu_delete);
    105.106.returntrue;107.}108./**109.110.*增加菜单事件*/111.112.publicbooleanonMenuItemSelected(intfeatureId,MenuItemitem)113.{114.//获得菜单IDswitch(item.getItemId())115.116.{117.caseINSERT_ID:Log.i("INSERT:",String.valueOf(INSERT_ID)118.);119.//创建新记录120.createDiary();121.returntrue;caseDELETE_ID:122.123.Log.i("DELETE_ID:",String.valueOf(getListView().getSelectedItemId()));124.//删除选择的记录125.diaryDb.deleteDiary(getListView().getSelectedItemId());126.//显示新列表127.showListView();128.returntrue;129.}130.//不做操作返回
     131.
    returnsuper.onMenuItemSelected(featureId,item);
    132.}133.134./**135.*创建新记录136.*/137.privatevoidcreateDiary(){138.139.//创建新记录是切换界面140.//第一个参数传入的本对象141.//第二个参数为新创建的界面142.Intentintent=newIntent(this,ActivityDiaryEdit.class);143.144.//启动Activity切换界面145.startActivityForResult(intent,ACTIVITY_CREATE);146.147.148.149.150.151.}
    /***单击一条记录是弹出修改界面*/protectedvoidonListItemClick(ListViewl,Viewv,intposition,longid)152.{153.super.onListItemClick(l,v,position,id);Cursorc=cursor;154.155.//将指针指向单击的那条记录156.c.moveToPosition(position);157.158.//创建新记录是切换界面//第一个参数传入的本对象159.160.//第二个参数为新创建的界面161.Intentintent=newIntent(this,ActivityDiaryEdit.class);162.163.//增加选择的记录,传送到新界面用于填充对应的控件值164.intent.putExtra(DiaryDbAdapter.KEY_ROWID,id);165.intent.putExtra(DiaryDbAdapter.KEY_TITLE,c.getString(c166..getColumnIndexOrThrow(DiaryDbAdapter.KEY_TITLE)));
     167.intent.putExtra(DiaryDbAdapter.KEY_BODY,c.getString(c168..getColumnIndexOrThrow(DiaryDbAdapter.KEY_BODY)));169.170.//启动Activity切换界面171.startActivityForResult(intent,ACTIVITY_EDIT);172.}173.174./**175.*新增或修改界面结束后返回到此界面来所接收的动作176.*/177.protectedvoidonActivityResult(intrequestCode,intresultCode,Intentintent){178.179.super.onActivityResult(requestCode,resultCode,intent);180.showListView();181.}}182.
    Java代码1.packageus.imnet.iceskysl.db.notepad;2.3.4.importandroid.app.Activity;5.importandroid.content.Intent;6.importandroid.os.Bundle;7.importandroid.util.Log;8.importandroid.view.View;9.importandroid.widget.Button;10.importandroid.widget.EditText;11.12./**13.*增加内容A
    ctivity14.*@authorxuzhenqin15.*16.*/17.publicclassActivityDiaryEditextendsActivity{18.19./**20.*增加标题文本框
     21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.48.49.50.51.52.53.54.55.56.57.58.59.60.61.62.63.64.
    */privateEditTexttitle;/***增加内容文本框*/privateEditTextbody;/***确定按钮*/privateButtonbutton;/***行ID*/privateLongrowId;/***操作数据库对象*/privateDiaryDbAdapterdiaryDb;@OverridepublicvoidonCreate(Bundlebundle){super.onCreate(bundle);//加载界面配置文件setContentView(R.layout.notepad);//获得数据库对象diaryDb=newDiaryDbAdapter(this);//根据配置文件ID获得标题文本框对象title=(EditText)findViewById(R.id.title);//根据配置文件ID获得内容文本框对象body=(EditText)findViewById(R.id.body_text);//根据配置文件ID获得按钮对象button=(Button)findViewById(R.id.button);rowId=null;
     65.66.67.68.据69.70.71.72.73.74.75._TITLE);76.77.78.BODY);79.80.81.82.83.84.85.86.87.88.89.90.91.92.93.94.95.96.97.98.99.100.101.102.103.
    //通过前置页面传入的Intent获得传入的Bundle对象//Intent在Android中用于两个Actitvity之间传数据使用//Bundle对象与JDK中的MAP对象类似,以键值对形式存方法数Bundlebund=getIntent().getExtras();if(bund!=null){Log.i("bund:",bund.toString());//获得前置页面中传入的title值Stringtitle_db=bund.getString(DiaryDbAdapter.KEY
    //获得前置页面中传入的body值Stringbody_db=bund.getString(DiaryDbAdapter.KEY_
    //获得前置页面中传入的rowid值rowId=bund.getLong(DiaryDbAdapter.KEY_ROWID);if(title_db!=null){title.setText(title_db);}if(body_db!=null){body.setText(body_db);}}//增加button的点击事件button.setOnClickListener(newView.OnClickListener(){
    @OverridepublicvoidonClick(Viewv){Stringtitle_db=title.getText().toString();Stringbody_db=body.getText().toString();//打开数据库连接diaryDb.open();
     104.建105.106.107.ody_db);108.109.110.111.;112.113.114.115.116.117.118.119.120.121.122.123.124.}}125.
    //根据是否有前置rowid来判断是否为修改或新if(rowId!=null){diaryDb.updateDiary(rowId,title_db,b}else{diaryDb.createDiary(title_db,body_db)}//关闭数据库连接diaryDb.close();//增加或修改数据后回到前置界面IntentmIntent=newIntent();setResult(RESULT_OK,mIntent);//刷新新界面finish();}});
    
    
  • 上一篇资讯: android 学习思路
  • 下一篇资讯: android 基础知识
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号