android的四大组件中就有Content Provider,对其他应用,提供自己的数据,所以,一般情况下,android应用不需要提供content provider。

  1. 简单的数据库表单字段声明:

   MySqlName.java

    

        public static final int VERSION = 1;        public static final String DBNAME = "mydb";                      /*     * 联系人详情数据库     */    public class Contacts{        public static final String TableName="contacts";                public static final String Id="cId";//联系人的uri                public static final String Number="number";                public static final String Name="name";    }

一般一张表,写一个内部类,内部类的变量是数据库中的列。这个文件写成这样子就可以了。

  2. 创建数据库

  MySql.java

  

public class Mysql extends SQLiteOpenHelper{

public
Mysql(Context context) { super(context,Mysqlname.DBNAME, null, Mysqlname.VERSION); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub /* * 创建人员表单 */ db.execSQL("create table "+Mysqlname.Contacts.TableName+"(" + Mysqlname.Contacts.Id+" integer primary key autoincrement not null,"+ Mysqlname.Contacts.Number+" text ," + Mysqlname.Contacts.Name+" text );"
  
        ); }
}

这样,在这个数据库创建就完成了,但是除了创建工作,还需要对外提供一些方法;

  3. 操作

  • 查询 
SQLiteDatabase db = this.getWritableDatabase(); Cursor cr =db.query(Mysqlname.Contact.TableName, null, Mysqlname.Contact.Id+"=?", new String[]{id}, null, null, null);

如果需要使用这个cr的内的值,需要:

if(cr!=null&&cr.getCount()>0&&cr.moveToFirst()){String name = cr.getString(cr.getColumnIndex(Mysqlname.Contact.Name));}

这里必须要movetofirst,不然会报错。

  • 插入
db.insert(Mysqlname.Contact.TableName, Mysqlname..Contact.ID, values)

  • 删除
db.delete(Mysqlname.Contact.TableName, Mysqlname.Contact.Id+"=? and "+Mysqlname.Contact.NAME+"=?", new String[]{id,name});

  • 修改
db.update(Mysqlname.Contact.TableName, values, Mysqlname.Contact.Id+"=?", new String[]{id})

注意,以上的db ,Cursor,在使用完毕后,必须及时调用db.close(),cr.close();

使用事务进行批量操作:

db.beginTransaction();String deleteContactSql = "DELETE from "+ Mysqlname.Contact.TableName+ " where "+ Mysqlname.Contact.ContactId+ "='"+num+"';";SQLiteStatement deleteContact = db.compileStatement(deleteContactSql);deleteContact.executeUpdateDelete();db.setTransactionSuccessful();db.endTransaction();

更多相关文章

  1. android 面向对象数据库 db40使用demo
  2. android中清空一个表---类似truncate table 表名 这样的功能 and
  3. Android WebView加载HTML表单并通过javascript提交
  4. 关于android 多媒体数据库
  5. GreenDao —— 简单快速操作 Android SQLite 数据库
  6. Android教程之android数据库编程
  7. Android 短信数据库详细总结分析

随机推荐

  1. 如何设置 Centos7 为固定ip地址(详细教程
  2. 史上最详细的Intellij IDEA开发教程
  3. Springboot 如何做前后端分离?
  4. 如何在 阿里云 申请 ssl 免费证书
  5. 史上最全maven教程
  6. springboot整合 elasticsearch 做 增删改
  7. J2EE Listener 监听器教程
  8. springboot仿天猫实战项目
  9. 初级程序员必须会的项目
  10. SpringBoot持久层支持 - Mybatis-xml方式