收藏 分销(赏)

实验七SQLite和SQLiteDatabase的使用.docx

上传人:二*** 文档编号:4776396 上传时间:2024-10-12 格式:DOCX 页数:6 大小:52.06KB 下载积分:5 金币
下载 相关 举报
实验七SQLite和SQLiteDatabase的使用.docx_第1页
第1页 / 共6页
本文档共6页,全文阅读请下载到手机保存,查看更方便
资源描述
【实验目的】 1、本次实验的目的是让大家熟悉Android中对数据库进行操作的相关的接 口、类等。SQLiteDatabase这个是在android中数据库操作使用最频繁的一个类。 通过它可以实现数据库的创立或翻开、创立表、插入数据、删除数据、查询数据、 修改数据等操作。 2、实现添加用户名,爱好小例程。 【实验要求】 1、完成Android开发平台的搭建及相关配置 2、创立工程并熟悉文件目录结构 3、实现例程添加用户名,爱好实验步骤 【实验原理】 在手机这种特殊设备里,经常会存取一些数据。例如,音频文件、视频文 件、图片文件和通讯录等数据。Android作为一种手机操作系统,提供了如下几 种存取数据的方式:Preference(配置)、File(文件)、SQLite数据和网络,可以根据 程序的实际需要选择合适的存取方式。 Android中通过SQLite数据库引擎来实现结构化数据存储。SQLite是一个 嵌入式数据库引擎,针对内存等资源有限的设备(如手机、PDA, MP3)提供的一 种高效的数据库引擎。 SQLite数据库不像其他的数据库(如Oracle,它没有服务器进程。所有的内 容包含在同一个单文件中。该文件是跨平台的,可以自由复制。基于其自身的先 天优势,SQLite在嵌入式领域得到了广泛应用。Android也没有重复创造“轮子”, 而是直接使用了 SQLite数据库。 Android提供了创立和使用SQLite数据库的APIo SQLiteDatabase代表一个 数据库对象,提供了操作数据库的一些方法,另外还有一个SQLiteOpenHelper 工具类提供了更简洁的功能。下面我们来看看SQLiteDatabase的常用方法如表 7.1所示。 方法名称 方法描述 openOrCrcateDatabasc(String path, SQLiteDatabasc.CursorFactory factory) 翻开或者创立数据库 insert(String tabic. String nullColumnHack, Contentvalues values) 添加一条记录 delete(String table, String whereClause, String[] whcrcArgs) 删除一条记录 qucry(String table, String,columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy) 查询记录 表 7.1 SQLiteDatabase 常用方法 续表 方法名称 方法描述 update( String table, Content Values values, String whercClause, String!] whereArgs) 修改记录 execSQL(String sql) 执行一条SQL语句 closeO 关闭数据库 【实验步骤】下面是一个添加用户名,爱好小例程 1、创立工程 新建一个Android工程命名为Database2、布局文件 修改main.xml布局文件,添加display.xml文件,用来显示列表。main.xml 代码如下<?xml version=n1.0n encoding=Hutf-8H?> <LinearLayout xmlns:android=nH android:layout_width=nfill_parentn android:layout_height=nfill_parentn android:orientation=nverticar, ><TextView android:layout__width=nfill_parent" android:layout_height=nwrap_contentn android:text=n@string/hellon /><TextView android:layout_width=nfill_parentn android:layout_height=nwrap_contentH android:id=H@+id/namelabn android:text= "用户名” /><EditText android:layout_width=nfill_parentn android:layout_height=nwrap_contentn android:id=H @+id/nameH /> <TextView android:layout_width=nfill_parentn android:layout_height="wrap_content" android:id=n@+id/textView2H android: tex t= " 爱好” /><EditText android:layout_width=nfill_parentnandroid:layout_height=Hwrap_contentn android:id=n@+id/likeH /> <Buttonandroid:layout_width=nfill_parentn android:layout_height=Hwrap_contentn android:id=H@+id/addH android:text="添加" /> </LinearLayout> display.xml代码如下<?xml version=H1.0n encoding=nutf-8n?> <LinearLayout xmlns:android=nn android:layout_width=Hfill_parentH android: lay out_height=nfill_parentnandroid:orientation=Hhorizontar, > <TextViewandroid:layout_width=Hfill_parentn android:layout_height=nwrap_contentn android:id=n@+id/idn android:paddingRight=H 1 Opxn /><TextView android:layout_width=Hfill_parentn android:layout_height=nwrap_contentn android:id=n @+id/namenandroid:paddingRight=H 1 Opxn /> <TextViewandroid:layout_width=nfill_parentn android:layout_height=nwrap_contentn android:id=n@+id/liken android:paddingRight=n 10pxn/> </LinearLayout>3、创立 Activity 修改 DatabaseActivity.java 文件,新建 DBHelper.java 文件和 displayAvtivity.java,代码如To DBHelper.java操作数据库的工具类,该类继承SQLiteOpenHelper。 package android.Database; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; public class DBHelper extends SQLiteOpenHelper{〃数据库名,表名 private static final String DB_NAME=Hstu.dbn;private static final String TBL_NAME=nstuTb 1H; //创立表的语句private static final String CREATE_TBL = "CREATE TABLEH+nstuTbl(Jd INTEGER DEFAULT fr NOT NULL PRIMARY KEY AUTOINCREMENT,name TEXT,hobby TEXT)n;private SQLiteDatabase db; public DBHelper(Context context) { super(context,DB_NAME,null,2); ("创立数据库) ) public void onCreate(SQLiteDatabase db){ this.db=db;db.execSQL(CREATE_TBL); System.out.printf(HaaaOH);) public void insert(ContentValues values) {SQLiteDatabase db=getWritableDatabase(); db.insert(TBL_NAME, null,values);db.close(); System. out. printf(”数据库插入操作) }public Cursor query(){ ("数据库查询操作)SQLiteDatabase db=getWritableDatabase(); Cursor c=db.query(TBL_NAME, null, null, null, null, null, null);return c; public void del(int id){("数据库删除方法) if(db==null) {SQLiteDatabase db=getWritableDatabase(); db.delete(TBL_NAME, n_id=?H, newString[]{ String.valueOf(id)}); }) public void close(){("关闭数据库) if(db!=null){db.close(); )) public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) (} )Database Activity .java获取页面输入的值,添加到数据库 public class DatabaseActivity extends Activity {private EditText etl,et2; private Button b;/** Called when the activity is first created. */ @Overridepublic void onCreate(Bundle savedlnstanceState) { super.onCreate(savedlnstanceState);setContentView(R.layout.main); etl =(EditText)findViewById(R.id.name);et2=(EditText)findViewById(R.id.like); b=(Button)findViewById(R.id.add);b.setOnClickListener(new OnClickListener() { public void onClick(View v){String name=etl.getText().toString(); String like=et2.getText().toString();ContentValues values=new ContentValues(); 〃在VALUES中添力口内容 values.put(nnamen, name); values.put(nhobbyn, like);〃实例化数据库类 DBHelper helper=new DBHelper(getApplicationContext()); helper.insert(values);//实例化INTENT Intent intent=new Intent(DatabaseActivity.this,display Activity.class);start Activity (intent); ) });) ) displayAvtivity.java显示列表,删除数据 package android.Database; import android.app.Activity; import android.app.AlertDialog; import android.app.ListActivity; import android.content.Dialoglnterface; import android.content.Dialoglnterface.OnClickListener; import android.database.Cursor; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.AdapterView.OnltemClickListener; import android.widget.ListView; import android.widget.SimpleCursorAdapter; public class displayActivity extends ListActivity{public void onCreate(Bundle savedlnstanceState){ super.onCreate(savedlnstanceState); 〃实例化DBHelperfinal DBHelper helper=new DBHelper(this); 〃获得 CursorCursor c=helper.query(); //列表项数组String[] from={ "_id\"name","hobby"}; 〃列表项idint[] to= {R.id.id,R.id.name,R.id.like}; SimpleCursorAdapter adapter=newSimpleCursorAdapter( this,R.layout.display,c,from,to); ListView listView=getListView();list View, set Adapter(adapter); 〃对话框final AlertDialog.Builder builder=new AlertDialog.Builder(this); listView.setOnItemClickListener(new OnItemClickListener(){ public void OnItemClick(AdapterView<?> argO,View argl,int arg2,long arg3){final long temp=arg3; builder.setMessage("是否册U除t己录?"),setPositiveButton("是", new Dialoginterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stubhelper. del((int) temp); Cursor c=helper, query。;String[] from={ "_id" Jname” Jhobby"}; int[] to={R.id.id,R.id.name,R.id.like};SimpleCursorAdapter adapter=new SimpleCursorAdapter(getApplicationContext(),R.layout.display,c,from,to);ListView 1 i st Vi e w=getLi st Vi e w(); list View, set Adapter(adapter);} }).setNegativeButton("否",new OnClickListenerQ{public void onClick(DialogInterface dialog, int which) { )}); 〃创立提示对话框AlertDialog ad=builder.create(); ad.show();) public void onItemClick(AdapterView<?> argO, View argl, int arg2,long arg3) { // TODO Auto-generated method stub}); helper.close(); 【实验结果】 工程界面:输入用户名,爱好添加到数据库如图7.1所示,由数据库查询出 来显示插入的列表,如图7.2所示。当单击列表时会弹出Alert询问是否删除, 进行删除操作,如图7.3所示。 Hello World, DatabaseActlvity! 用户名. 图7.1添加用户信息页 训町国5:03amdd dd 1 tt ttddd Tt 2 dd dd图7.2显示用户信息页 是否删除记录? 图7.3删除用户信息页
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服