android 杂乱(二)

来源:互联网 发布:mount windows共享目录 编辑:程序博客网 时间:2024/06/03 22:38

1、Sqlite

     SQLite是android系统中的一个轻量级数据库。

    a、database创建

    SQLiteDataBase db=openOrCreateDatabase(File file,SQLiteDataBase.CursorFactory factory)

    SQLiteDataBase db=openOrCreateDatabase(String path,SQLiteDataBase.CursorFactory factory)

   b、管理数据库的工具类SQLiteOpenHelper

        使用方法:创建子类管理数据库

         class DBHelp extends SQLiteOpenHelper{

          public DBHelp(Context context,String name,int Version) {
super(context,name,null, Version);
// TODO Auto-generated constructor stub
}


@Override
public void onCreate(SQLiteDatabase db) {
// TODO Auto-generated method stub
db.execSQL("create table dict(_id INTEGER primary key AUTOINCREMENT,eg TEXT,ce TEXT)");
}


@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// TODO Auto-generated method stub
}

         }

       SQLiteOpenHelper常用方法

            getReadableDataBase()

             getWiteableDataBase() //这两个方法都返回 SQLiteDataBase 区别是getReadableDatabase()并不是以只读方式打开数据库,而是先执行getWritableDatabase(),失败的情况下才调用,比如在磁盘空间满了的情况下。

       onCreate()//第一次创建数据库时回调该方法。

       onUpgrade()//数据库版本更新时回调该方法。

        close()//关闭数据库

  c、SQLiteDataBase中方法;

              execSQL(String sql,Object[] bindArgs)//执行sql语句如 db.execSQL("select * from dict where eg=?",new String[]{"nihao"});

               insert(String table,String nullClumnHack,ContentValue value)//nullClumnHack指的是可以为空的列名,ContenValue是Map(列名,值)

               update(String table ContentValue value String where String where[])

               delete(String table,String where,String where[])

   cursor query(String table,String clumns,String selection,String selection[],String groupBy,String having,String orderBy,String limit) //selection是条件语句即where子句击where后面的内容如 eg=? selection[]就是参数了groupby: GroupBy子句,having: Having子句 orderBy: order by 子句  limit是用于控制分页的参数

            rawQuery(String sql,String sql[]);

d、cursor的常用方法;

     move(int offset)正数向上移动,负数向下移动

    boolean moveToFirst()移动到第一行

     boolean moveTolast() 移动到最后一行

     boolean moveToNext()移动到下一行

    boolean moveToPosition(int position)移动到指定行

    boolean moveToPrevious()移动到上一行

     getColumnCount() //返回所有列的总数

      getColumnIndex(String columnName) //返回制定列名称(值)

    getColumnName(int columnIndex) //从给定列索引返回列名

    getCount() //返回 cursor中的行数

   close() //关闭cursor

       isBeforeFirst()//返回游标是否指向之前第一行的位置

   isAfterLast()//返回游标是否指向第最后一行的位置

  isClosed()//如果返回 true 即表示该游戏标己关闭

2、ContentProvider

     ContentProvider 是不同应用程序之间数据交换的标准,可以把ContentProvider看作一个服务器对外提供Uri供其他应用通过ContentResolver去访问。

   a、其他应用访问

      先获取ContentResolver对象 ContentResolver cv=getContentResolver();

     关于ContentResolver方法;

         insert(Uri uri,ContentValue value)

         delete(Uri uri,String where,String where[])

         update(Uri uri,ContentValue value,String where,String where[])

        query(Uri uri, String projection[], String selection String Selection[],String sortOrder)

0 0
原创粉丝点击