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创建桌面快捷方式(启动目标非项目的启动页)
  2. android弹出对话框
  3. [连载 1/15] Android(安卓)从入门到精通Example 之 TextBox
  4. android:xml创建menu
  5. Android(安卓)Gradle基础实践
  6. Android(安卓)API 28 访问服务器失败 提示CLEARTEXT
  7. android -- 多级目录创建
  8. Android(安卓)Intent和按钮响应事件的几种方式
  9. android应用安全——数据安全

随机推荐

  1. 学习进度2020.02.03
  2. android 震动和提示音的实现代码
  3. Android 实时动态刷新更改菜单
  4. android:numeric="integer"属性
  5. android 获取通讯模块制式类型
  6. android 实现圆形头像
  7. 初学Android,从手势库识别手势(五十一)
  8. android 控件背景添加圆角
  9. Android 应用签名
  10. Android调试工具之Logcat