安卓数据库增删改查(android安卓数据库的增删改查和发送通知)
本文目录
- android安卓数据库的增删改查和发送通知
- android中如何对xml中存储的数据进行增删改查求完整的例子谢谢
- 如何对android多媒体数据库进行增删改
- 安卓用eclipse数据库的连接,增删改查问题
- 你好 我们也是要用MY SQL实现数据库的增删改查
android安卓数据库的增删改查和发送通知
public class MyDbOpenHeler extends SQLiteOpenHelper { private static final String name="zhouke.db"; private static final int version=1; public MyDbOpenHeler(Context context) { super(context, name, null, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL("create table if not exists word(_id integer primary key autoincrement,name varchar(20),age int)"); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { }}------------------------------------------------public class Main2Activity extends AppCompatActivity { ListView lv; MyDbOpenHeler heler; SQLiteDatabase db; SimpleCursorAdapter adapter; EditText et1; //通知 NotificationManager manage; //--- @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); lv= (ListView) findViewById(R.id.lv); //实例化数据库帮助类 heler=new MyDbOpenHeler(this); //获取一个可读写的数据库操作对象 db=heler.getWritableDatabase(); Cursor word = db.query("word", null, null, null, null, null, "_id desc"); adapter=new SimpleCursorAdapter(this,R.layout.list_ltem,word, new String{R.id.tv1,R.id.tv2,R.id.tv3}, CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER); lv.setAdapter(adapter);// if(word.isClosed()){// word.close();// } registerForContextMenu(lv); //通知的实例化 manage= (NotificationManager) getSystemService(NOTIFICATION_SERVICE); //--- et1= (EditText) findViewById(R.id.et1); } //创建选项菜单 @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(1,1,0,"增"); return super.onCreateOptionsMenu(menu); } //选项菜单监听事件 @Override public boolean onOptionsItemSelected(MenuItem item) { View inflate = View.inflate(this, R.layout.dialog, null); final EditText et1 = (EditText) inflate.findViewById(R.id.et1); final EditText et2 = (EditText) inflate.findViewById(R.id.et2); new AlertDialog.Builder(this).setTitle("增加新学生信息").setView(inflate) .setPositiveButton("确认", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { ContentValues cv=new ContentValues(); cv.put("name",et1.getText().toString()); cv.put("age", et2.getText().toString()); long word = db.insert("word", null, cv); if (word》0){ Toast.makeText(Main2Activity.this,"增加数据成功",Toast.LENGTH_SHORT).show(); Cursor word2 = db.query("word", null, null, null, null, null, "_id desc"); adapter.changeCursor(word2); //通知---开始 NotificationCompat.Builder builder=new NotificationCompat.Builder(Main2Activity.this); builder.setSmallIcon(R.drawable.aa) .setContentText("年龄:"+et2.getText().toString()) .setContentTitle(et1.getText().toString()) .setAutoCancel(true); manage.notify(1,builder.build()); //通知 --结束 } } }).setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }).show(); return super.onOptionsItemSelected(item); } //创建上下文菜单 @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.add(1,2,0,"修改"); menu.add(1,3,0,"删除"); } //上下文菜单监听事件 @Override public boolean onContextItemSelected(MenuItem item) { //获取当前点击项的索引 AdapterView.AdapterContextMenuInfo info= (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); int position = info.position; //根据索引获取这一行数据,把它转化为Cursor Cursor cursor= (Cursor) adapter.getItem(position); //从结果集中取出id final int _id = cursor.getInt(0); switch (item.getItemId()){ case 2: View inflate = View.inflate(this, R.layout.dialog, null); final EditText et1 = (EditText) inflate.findViewById(R.id.et1); final EditText et2 = (EditText) inflate.findViewById(R.id.et2); //获取单词名称 String name=cursor.getString(1); String age=cursor.getString(2); et1.setText(name); et2.setText(age); new AlertDialog.Builder(this).setTitle("修改学生信息").setView(inflate) .setPositiveButton("确认", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { ContentValues cv=new ContentValues(); cv.put("name",et1.getText().toString()); cv.put("age", et2.getText().toString()); int word=db.update("word",cv,"_id=?",new String{String.valueOf(_id)}); if (word》0){ Toast.makeText(Main2Activity.this,"修改数据成功",Toast.LENGTH_SHORT).show(); Cursor word2 = db.query("word", null, null, null, null, null, "_id desc"); adapter.changeCursor(word2); } } }).setNegativeButton("取消", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }).show(); break; case 3: int word = db.delete("word", "_id=?", new String{String.valueOf(_id)}); if (word》0){ Toast.makeText(Main2Activity.this,"删除数据成功",Toast.LENGTH_SHORT).show(); Cursor word2 = db.query("word", null, null, null, null, null, "_id desc"); adapter.changeCursor(word2); } break; } return super.onContextItemSelected(item); } public void click1(View view) { //模糊查询 String aa=et1.getText().toString(); Cursor word2 = db.query("word", null, "name like ?", new String{"%"+aa+"%"}, null, null, "_id desc"); adapter.changeCursor(word2); //正常查询 // Cursor word2 = db.query("word", null, "name=?", new String{aa}, null, null, "_id desc"); }}
android中如何对xml中存储的数据进行增删改查求完整的例子谢谢
android中,不能直接访问和读取xml文件中的数据。 只能先把xml的数据解析出来,存储在集合或者数据库里,再进行增删改查,如需要将xml文件的内容更新,就重写个文件替换。
如何对android多媒体数据库进行增删改
Android四种存储方式: sharedpreference,file,SQlite,contentprovider。 1、SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data/《包名》/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。实现SharedPreferences存储的步骤如下: 一、根据Context获取SharedPreferences对象 二、利用edit()方法获取Editor对象。 三、通过Editor对象存储key-value键值对数据。 四、通过commit()方法提交数据。 具体实现代码如下:实现存储,读取,清除,删除 效果图: 首先创建:// 首先拿到sharedpreference对象 mShared =getSharedPreferences(SHARED_MAIN_XML, MODE_PRIVATE); 存储: private void write() {// 存入数据 savename = name.getText().toString().trim(); saveage = Integer.valueOf(age.getText().toString().trim()); Editor editor = mShared.edit(); editor.putString("name", savename); editor.putInt("age", saveage); // 保证操作的事务完整性 editor.commit(); } 阅读: private String read() {// 从数据库里读取数据 namecontent = mShared.getString("name", "数据库里没有存储姓名"); agecontent = mShared.getInt("age", 0); String reading = "姓名:" + namecontent + "\n年龄:" + agecontent; return reading; } 清除内容: private void clear() {//清除内容 /** 开始清除SharedPreferences中保存的内容 **/ Editor editor = mShared.edit(); editor.remove("name"); editor.remove("age"); editor.commit(); } 删除文件: private void delete() {//删除文件 /** 删除SharedPreferences文件 **/ Filefile = new File("/data/data/cn.csdn.activity" + "/shared_prefs/" + SHARED_MAIN_XML + ".xml"); if (file.exists()) { file.delete(); Toast.makeText(this, "删除成功", Toast.LENGTH_LONG).show(); } } haredPreferences对象与SQLite数据库相比,免去了创建数据库,创建表,写SQL语句等诸多操作,相对而言更加方便,简洁。但是SharedPreferences也有其自身缺陷,比如其职能存储boolean,int,float,long和String五种简单的数据类型,比如其无法进行条件查询等。所以不论SharedPreferences的数据存储操作是如何简单,它也只能是存储方式的一种补充,而无法完全替代如SQLite数据库这样的其他数据存储方式。 2、 File: 即常说的文件(I/O)存储方法,常用存储大数量的数据,但是缺点是更新数据将是一件困难的事情。 下面实现:在本地data文件下使用自己生成的文件处理数据的新建储存 读取 删除 如果说不想把内容存在SharedPreferences中的话,我们可以自己写一个文件保存须要的数据,在这里我将文件保存在系统中的工程路径下。 跟上面布局一样,删除文件也一样,清除内容也查不多,下面只是简单的写和读的方法: 写: 17String nameage="名字:"+name.getText().toString().trim()+"年龄:"+age.getText().toString(); try { os = this.openFileOutput(SHARED_MAIN_XML, MODE_PRIVATE); /* 把字符串转换成字节数组,写入文件中 */ os.write(nameage.getBytes()); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }finally { try { /* 关闭文件输出流 */ os.close(); } catch (IOException e) { e.printStackTrace(); } } 读: private String read() { String nameage=""; // 打开文件输入流, try { is = this.openFileInput(SHARED_MAIN_XML); /* 初始化字节数组 */ b = new byte; /* 从文件输入流中读取内容到字节数组中,返回内容长度 */ int length = is.read(b); /* 把字节数组转换成字符串 */ nameage= new String(b); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return nameage; } 很简单吧!! 3、 SQLite是一种转为嵌入式设备设计的轻型数据库,其只有五种数据类型,分别是: NULL: 空值 INTEGER: 整数 REAL: 浮点数 TEXT: 字符串 BLOB: 大数据 它是一个轻量级的数据库、非常小 、 移植性好、效率高、可靠 在Android系统中提供了android.database.sqlite包,用于进行SQLite数据库的增、删、改、查工作。 创建与删除数据库 封装一个类去继承SQLiteOpenHelper 在构造函数中传入数据库名称与数据库版本号,数据库被创建的时候会调用onCreate(SQLiteDatabase db) 方法,数据库版本号发生改变的时候会调用onUpgrade(SQLiteDatabase db, int oldVersion, intnewVersion)方法,可以方便的对软件游戏升级后做出相应处理避免覆盖安装数据库发生改变产生的错误。调用SQLiteOpenHelper 的getReadableDatabase()方法去创建数据库,如果数据库不存在则创建并且返回SQLiteDatabase对象,如果数据库存在则不创建只返回SQLiteDatabase对象。调用 deleteDatabase(DATABASE_NAME)方法 传入数据库名称则可删除数据库。***隐藏网址*** 下面介绍第二种:另一种添删改查操作 效果图: 布局文件很简单,在此不再给出!! 直接给创建数据库和表,增删改查的代码: public class UserService { private DatabaseHelper helper; public UserService(Context context, String name, int version) { helper = new DatabaseHelper(context, name, version); } public UserService(Context context, String name) { helper = new DatabaseHelper(context, name); } public void insert(UserDao user) {// 插入数据 SQLiteDatabase sdb = helper.getWritableDatabase(); ContentValues values = new ContentValues(); values.put("username", user.getUsername()); values.put("password", user.getPassword()); sdb.insert("user", "name", values); sdb.close(); } public void delete(int id) {// 删除数据 SQLiteDatabase sdb = helper.getWritableDatabase(); sdb.delete("user", "id=?", new String{String.valueOf(id)}); sdb.close(); } public void update(UserDao user, int id) {// 更新数据 SQLiteDatabase sdb = helper.getWritableDatabase(); ContentValues values=new ContentValues(); values.put("username", user.getUsername()); values.put("password", user.getPassword()); sdb.update("user", values, "id=?", new String{String.valueOf(id)}); sdb.close(); } public Cursor select() {// 查询所有数据 SQLiteDatabase sdb = helper.getWritableDatabase(); return sdb.query("user", new String{"id as _id","username","password"}, null, null, null, null, null); } public UserDao find(int id){//按id查询数据 UserDao user=null; SQLiteDatabase sdb=helper.getWritableDatabase(); Cursor cursor=sdb.query("user", new String{"id","username","password"}, "id=?", new String{String.valueOf(id)}, null, null, null); if(cursor.moveToFirst()){ user=new UserDao(); user.setId(cursor.getInt(0)); user.setUsername(cursor.getString(1)); user.setPassword(cursor.getString(2)); } cursor.close(); sdb.close(); return user; } } 插入数据:通过insert(String table, StringnullColumnHack, ContentValues values)方法插入数据,其中参数含义分别为: table: 目标表名 nullColumnHack: 指定表中的某列列名。因为在SQLite中,不允许不允许插入所有列均为null的记录,因此初始值有值为空时,此列需显式赋予null values:ContentValues对象,类似于java中的Map。以键值对的方式保存数据。
安卓用eclipse数据库的连接,增删改查问题
Android 连接数据库Android采用关系型数据库SQLite3,它是一个支持SQL轻量级的嵌入式数据库,在嵌入式操作上有很广泛的,WM采用的也是SQLite3关于过于、原理方面的东西在这篇文章里不会提到,但是如果你想能够快速的学会操作SQLite3,那这就是你要找的文章!首先,我们看一下api,所有数据库相关的接口、类都在.database和android.database.sqlite两个包下,虽然只有两个包,但是如果你英文不好或是太懒的话也要迷茫一段时间,其实,我们真正用的到的没有几个!1、SQLiteOpenHelper (android.database.sqlite.SQLiteOpenHelper)这是一个抽象类,关于抽象类我们都知道,如果要使用它,一定是继承它!这个类的方法很少,有一个构造方法SQLiteOpenHelper(android.content.Context context, java.lang.String name,android.database.sqlite.SQLiteDatabase.CursorFactory factory, int version);参数不做过多的解释,CursorFactory一般直接传null就可以public void onCreate(SQLiteDatabase db)此方法在创建数据库是被调用,所以,应该把创建表的操作放到这个方法里面,一会儿在后面我们会再详细的说如何创建表public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)从方法名上我们就能知道这个方法是执行更新的,没错,当version改变是系统会调用这个方法,所以在这个方法里应该执行删除现有表,然后手动调用onCreate的操作SQLiteDatabase getReadableDatabase()可读的SQLiteDatabase对象SQLiteDatabase getWritableDatabase()获取可写的SQLiteDatabase对象2、SQLiteDatabase(android.database.sqlite.SQLiteDatabase)关于操作数据库的工作(增、删、查、改)都在这个类里execSQL(sql)执行SQL语句,用这个方法+SQL语句可以非常方便的执行增、删、查、改除此之外,Android还提供了功过方法实现增、删、查、改long insert(TABLE_NAME, null, contentValues)添加记录int delete(TABLE_NAME, where, whereValue)删除记录int update(TABLE_NAME, contentValues, where, whereValue) 更新记录Cursor query(TABLE_NAME, null, null, null, null, null, null) 查询记录除此之外,还有很多方法,如:beginTransaction()开始事务、endTransaction()结束事务...有兴趣的可以自己看api,这里就不多赘述了3、Cursor(android.database.Cursor)游标(接口),这个很熟悉了吧,Cursor里的方法非常多,常用的有:boolean moveToPosition(position)将指针移动到某记录getColumnIndex(Contacts.People.NAME)按列名获取idint getCount()获取记录总数boolean requery()重新查询boolean isAfterLast()指针是否在末尾boolean isBeforeFirst()时候是开始位置boolean isFirst()是否是第一条记录boolean isLast()是否是最后一条记录boolean moveToFirst()、 boolean moveToLast()、 boolean moveToNext()同moveToPosition(position)4、SimpleCursorAdapter(android.widget.SimpleCursorAdapter)也许你会奇怪了,之前我还说过关于数据库的操作都在database和database.sqlite包下,为什么把一个Adapter放到这里,如果你用过Android的SQLite3,你一定会知道,这是因为我们对数据库的操作会经常跟列表联系起来经常有朋友会在这出错,但其实也很简单SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,R.layout.list,myCursor,new String {DB.TEXT1,DB. TEXT2},new int{ R.id.list1,R.id.listText2 });my.setAdapter(adapter);一共5个参数,具体如下:参数1:Content参数2:布局参数3:Cursor游标对象参数4:显示的字段,传入String参数5:显示字段使用的组件,传入int,该数组中是TextView组件的id到这里,关于数据库的操作就结束了,但是到目前为止我只做了翻译的工作,有些同学可能还是没有掌握,放心,下面我们一起顺着正常开发的思路理清一下头绪!前面的只是帮没做过的朋友做下普及,下面才是你真正需要的!一、写一个类继承SQLiteOpenHelpepublic class DatabaseHelper extends SQLiteOpenHelper构造方法:DatabaseHelper(Context context) {super(context, DATABASE_NAME, null, DATABASE_VERSION);}在onCreate方法里写建表的操作public void onCreate(SQLiteDatabase db) {String sql = "CREATE TABLE tb_test (_id INTEGER DEFAULT ’1’ NOT NULL PRIMARY KEY AUTOINCREMENT,class_jb TEXT NOT NULL,class_ysbj TEXT NOT NULL,title TEXT NOT NULL,content_ysbj TEXT NOT NULL)";db.execSQL(sql);//需要异常捕获}在onUpgrade方法里删除现有表,然后手动调用onCtreate创建表public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {String sql = "drop table "+tbname;db.execSQL(sql);onCreate(db);}对表增、删、查、改的方法,这里用的是SQLiteOpenHelper提供的方法,也可以用sql语句实现,都是一样的关于获取可读/可写SQLiteDatabase,我不说大家也应该会想到,只有查找才会用到可读的SQLiteDatabase/*** 添加数据*/public long insert(String tname, int tage, String ttel){SQLiteDatabase db= getWritableDatabase();//获取可写SQLiteDatabase对象//ContentValues类似map,存入的是键值对ContentValues contentValues = new ContentValues();contentValues.put("tname", tname);contentValues.put("tage", tage);contentValues.put("ttel", ttel);return db.insert(tbname, null, contentValues);}/*** 删除记录* @param _id*/public void delete(String _id){SQLiteDatabase db= getWritableDatabase();db.delete(tbname,"_id=?",new String{_id});}/*** 更新记录的,跟插入的很像*/public void update(String _id,String tname, int tage, String ttel){SQLiteDatabase db= getWritableDatabase();ContentValues contentValues = new ContentValues();contentValues.put("tname", tname);contentValues.put("tage", tage);contentValues.put("ttel", ttel);db.update(tbname, contentValues,"_id=?",new String{_id});}/*** 查询所有数据* @return Cursor*/public Cursor select(){SQLiteDatabase db = getReadableDatabase();return db.query(tbname,new String{"_id","tname","tage","ttel","taddr"},null,null, null, null, "_id desc");}
你好 我们也是要用MY SQL实现数据库的增删改查
一、---数据库创建--- 想要对数据库进行增删改查,首先要创建一个数据库,安卓中的数据库是使用sqlite,我们是通过调用SQLiteOpenHelper类来进行数据库的创建的和操作的。 view plain copy print?在CODE上查看代码片派生到我的代码片package com.iigt.crud; import android.content.Context; import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class MySqlite extends SQLiteOpenHelper {public MySqlite(Context context) { //context :上下文 , name:数据库文件的名称 factory:用来创建cursor对象,默认为null//version:数据库的版本号,从1开始,如果发生改变,onUpgrade方法将会调用,4.0之后只能升不能将super(context, "info.db", null,1); } //oncreate方法是数据库第一次创建的时候会被调用; 特别适合做表结构的初始化,需要执行sql语句;SQLiteDatabase db可以用来执行sql语句@Override public void onCreate(SQLiteDatabase db) {//通过SQLiteDatabase执行一个创建表的sql语句db.execSQL("create table info (_id integer primary key autoincrement,name varchar(20),phone varchar(11))");} //onUpgrade数据库版本号发生改变时才会执行; 特别适合做表结构的修改@Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {//添加一个phone字段 //db.execSQL("alter table info add phone varchar(11)");} } 二、---操作类--- 定义完了数据库,再就是定义我们使用的往数据库中存数据的函数了,也就是我们通常所指的DAO函数,不过在定义DAO函数之前,先要定义一个bean类,要不想要操作的数据无从而来。如下是bean和DAO。 view plain copy print?在CODE上查看代码片派生到我的代码片package com.iigt.bean; public class InfoBean { public String name; public String phone; } DAO的代码如下: view plain copy print?在CODE上查看代码片派生到我的代码片package com.iigt.dao; import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase;import com.iigt.bean.InfoBean; import com.iigt.crud.MySqlite; public class InfoDao { private MySqlite mySqliteOpenHelper; public InfoDao(Context context){ //创建一个帮助类对象 mySqliteOpenHelper = new MySqlite(context);} public void add(InfoBean bean){ //调用getReadableDatabase方法,来初始化数据库的创建SQLiteDatabase db = mySqliteOpenHelper.getWritableDatabase();//sql:sql语句, bindArgs:sql语句中占位符的值db.execSQL("insert into info(name,phone) values(?,?);", new Object{bean.name,bean.phone});//关闭数据库对象 db.close(); } public void del(String name){ SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();db.execSQL("delete from info where name=?;", new Object{name});db.close(); } public void update(InfoBean bean){ SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();db.execSQL("update info set phone=? where name=?;", new Object{bean.phone,bean.name});db.close(); } public void query(String name){ //执行sql语句需要sqliteDatabase对象 //调用getReadableDatabase方法,来初始化数据库的创建SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();//sql:sql语句, selectionArgs:查询条件占位符的值,返回一个cursor对象Cursor cursor = db.rawQuery("select _id, name,phone from info where name = ?;", new String {name});//解析Cursor中的数据 if(cursor != null && cursor.getCount() 》0){//判断cursor中是否存在数据//循环遍历结果集,获取每一行的内容 while(cursor.moveToNext()){//条件,游标能否定位到下一行//获取数据 int id = cursor.getInt(0); String name_str = cursor.getString(1); String phone = cursor.getString(2); System.out.println("_id:"+id+";name:"+name_str+";phone:"+phone);} cursor.close();//关闭结果集 } //关闭数据库对象 db.close(); } } 三、---操作界面--- 定义一操作界面来对数据库进行操作,操作界面包括增删改查。***隐藏网址*** android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:orientation="vertical" tools:context=".MainActivity" 》 《Button android:id="@+id/bt_add" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/add" /》 《Button android:id="@+id/bt_del" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/del" /》 《Button android:id="@+id/bt_update" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/update" /》 《Button android:id="@+id/bt_query" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/query" /》 《/LinearLayout》 四、---主函数--- (1)创建一个layout界面,其中包含“增删改查”4个控件。 (2)获取这四个控件,并根据各个控件的ID来判断点击的是哪个事件(3)此时如果是判断是点击了add事件,就应该增加了,所以需要调用增加函数(4)需要先创建一个javabean和它的操作类DAO(5)dao是要向数据库中增加数据,要创建一个数据库并进行初始化(6)在dao类中定义向数据库中的增删改查方法 view plain copy print?在CODE上查看代码片派生到我的代码片package com.iigt.crud; import android.app.Activity; import android.content.Context; import android.database.sqlite.SQLiteDatabase;import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener;import com.iigt.bean.InfoBean; import com.iigt.dao.InfoDao; import com.iigt.adddeldatabase.*; public class MainActivity extends Activity implements OnClickListener {private Context mContext; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mContext = this; //创建一个帮助类对象 MySqlite mySqliteOpenHelper = new MySqlite(mContext);//调用getReadableDatabase方法,来初始化数据库的创建SQLiteDatabase db = mySqliteOpenHelper.getReadableDatabase();//找到相应控件 findViewById(R.id.bt_add).setOnClickListener(this);findViewById(R.id.bt_del).setOnClickListener(this);findViewById(R.id.bt_update).setOnClickListener(this);findViewById(R.id.bt_query).setOnClickListener(this);} @Override public void onClick(View v) { InfoDao infoDao = new InfoDao(mContext);//创建一个dao对象做增删改查switch (v.getId()) { case R.id.bt_add: InfoBean bean = new InfoBean(); bean.name = "张三"; bean.phone ="110"; infoDao.add(bean); InfoBean bean1 = new InfoBean(); bean1.name = "李四"; bean1.phone ="120"; infoDao.add(bean1); break; case R.id.bt_del: infoDao.del("张三"); infoDao.del("李四"); break; case R.id.bt_update: InfoBean bean2 = new InfoBean(); bean2.name = "张三"; bean2.phone ="119"; infoDao.update(bean2); break; case R.id.bt_query: infoDao.query("张三"); infoDao.query("李四"); break; default: break; } } }
更多文章:
pdf转换成word最简单方法(如何把pdf转换成word格式)
2024年7月20日 01:33
难先锋5游戏配置是什么呢 急难先锋5好玩吗?《急难先锋5》地震关卡如何过 地震关卡过法详解
2024年6月26日 18:50
为什么打开泰坦之魂后是黑屏但是有声音?泰坦之魂史莱姆心脏怎么打 第一个boss就这么恶心
2024年5月23日 15:10
即时战略类单机游戏(什么单机游戏最好玩 大家 都来指点下 多推荐点 即时战略-模拟经营一类的)
2024年6月7日 21:18
扫一扫作业出答案免费(作业扫一扫整本答案,作业扫码出全部答案的软件有哪些)
2024年4月9日 20:40
为什么我的AE安装了全能解码器后仍只能打开AVI格式视频?adobe 全能解码器显示含有病毒或者垃圾这个要怎么办
2024年9月2日 22:45
千千音乐随心听(百度音乐随心听上的歌曲点了那个红心,是什么意思,怎么再去找这些点了红心的歌曲)
2024年6月29日 23:04