android开发的过程中,不可避免的有需要存储数据的时候。

android的数据存取机制有很多,其中最重要的大概就是sqlite数据库了

sqlite 数据库是android自带的数据库。不需要任何别的插件。

sqlite的使用步骤大概有两步

1.编写SQLiteOpenHelper类

这个类用户封装数据库表的建立、数据库的获得等操作

2.编写TableManager类

这个类用户封装某个表的各种操作

1、SQLiteOpenHelper类

public class MySqliteOpenHelper extends SQLiteOpenHelper {    public MySqliteOpenHelper(Context context, String name,            CursorFactory factory, int version) {        super(context, name, factory, version);        // TODO Auto-generated constructor stub    }    @Override    public void onCreate(SQLiteDatabase arg0) {        // TODO Auto-generated method stub                //以下创建表的语句,执行括号中的sql语句,创建表。同一个数据库中的所有表都在这里创建,        arg0.execSQL("CREATE TABLE IF NOT EXISTS tb_Depot"                + "(id interger PRIMARY KEY,DepotSite varchar,DepotAcreage interger,DepotPrice interger,Linkman varchar,Phone varchar,Content varchar)");        arg0.execSQL("CREATE TABLE IF NOT EXISTS tb_Freight"                + "(id interger PRIMARY KEY,start varchar,terminal varchar,FreightType varchar,FreightWeight int,linkman varchar,phone varchar, content varchar)");        arg0.execSQL("CREATE TABLE IF NOT EXISTS tb_User"                + "(id interger PRIMARY KEY,UserName varchar,UserPass varchar,CompanyName varchar,address varchar,phone varchar,email varchar,permission varchar)");        arg0.execSQL("CREATE TABLE IF NOT EXISTS tb_Chauffeur"                + "(id interger primary key,ChauffeurName varchar,trucktype varchar,tel varchar,effectdate varchar,content varchar)");        arg0.execSQL("CREATE TABLE IF NOT EXISTS tb_Truck"                + "(id interger primary key,TruckNumber varchar,TruckWeight varchar,TruckPrice varchar,Start varchar,Whither varchar,linkman varchar,phone varchar)");    }    @Override    public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {        // TODO Auto-generated method stub        //如果需要用到更新数据库的话,在这里进行操作    }}

然后是封装了数据库表操作的manager类

public class DepotDBManager {    private MySqliteOpenHelper helper ;    private SQLiteDatabase db;    public DepotDBManager(Context context){        //实例化一个sqliteopenhelpr 类        helper = new MySqliteOpenHelper(context,"depot.db",null,1);        //获得一个可读写的数据库        db = helper.getWritableDatabase();    }    public void add(DepotValue depotValue){        //这是往表里增加数据的类,系统为我们封装好了一套工具,我们可以不用再写sql语句了        ContentValues newValues = new ContentValues();        newValues.put("Id", depotValue.getId());        newValues.put("DepotSite", depotValue.getDepotSite());        newValues.put("DepotAcreage", depotValue.getDepotAcreage());        newValues.put("DepotPrice", depotValue.getDepotPrice());        newValues.put("Linkman", depotValue.getLinkman());        newValues.put("Phone", depotValue.getPhone());        newValues.put("Content", depotValue.getContent());        db.insert("tb_Depot",null, newValues);    }    public List query(){        //这是查询操作 返回值是一个封装了数据库表信息的value类的链表        ArrayList depotvalues = new ArrayList();        Cursor c=queryTheCursor();        while(c.moveToNext()){            DepotValue depot = new DepotValue();            depot.setId(c.getInt(c.getColumnIndex("id")));            depot.setDepotSite(c.getString(c.getColumnIndex("DepotSite")));            Log.i("chacuo","3332");            depot.setDepotAcreage(c.getInt(c.getColumnIndex("DepotAcreage")));            depot.setDepotPrice(c.getInt(c.getColumnIndex("DepotPrice")));            depot.setLinkman(c.getString(c.getColumnIndex("Linkman")));            depot.setPhone(c.getString(c.getColumnIndex("Phone")));            depot.setContent(c.getString(c.getColumnIndex("Content")));            depotvalues.add(depot);            Log.i("hahaha",depot.getId()+depot.getContent());        }        c.close();        return depotvalues;    }    public void deletebyid(int id){        db.execSQL("delete from tb_Depot where id="+id);    }    public Cursor queryTheCursor(){        Cursor c = db.rawQuery("select * from tb_Depot", null);        return c;    }}

更多相关文章

  1. Android(安卓)开发中使用 SQLite 数据库
  2. Android(安卓)HAL 开发 (1)
  3. Android(安卓)操作权限大全(已归纳分类)
  4. Android创建和使用数据库详细指南(1)
  5. Android控件开发——ListView
  6. 【Android】在Android上使用OrmLite数据库框架 之 使用表配置文
  7. android中网络操作使用总结(http)
  8. Android操作Excel文件的功能实现
  9. Android创建和使用数据库详… 分类: Android数据存储 ...

随机推荐

  1. Android面试题集锦(四)
  2. Android事件分发机制与嵌套导致触摸事件
  3. Android(安卓)EditView属性解析
  4. Android(安卓)筆記-Linux Kernel SMP (Sy
  5. Android从App跳转到微信小程序,无需微信SD
  6. Android(安卓)6.0 默认桌面壁纸修改
  7. Android应用程序组件Content Provider应
  8. Android中安全退出程序的六种方法
  9. Android(安卓)开发之:Intent.createChoose
  10. Android(安卓)framework build errors fi