Android中数据库基本操作_简单的查询

这里只写简单的查询操作.如项目中有一些固定的资源,国家城市信息等,我们把数据库文件放到assets中进行读取等.

拷贝数据库文件

assets目录下的数据库文件是不能直接去操作的,我们首先需要把它拷贝到本地sd卡上,拷贝方法如下:

File file = new File("/data/data/" + "com.xinyang.demo" + "/databases/", dbName);// 目的文件

        if (file.exists()) {
            Log.e("xinyang", "数据库已存在");
            return;
        }

        FileOutputStream out = null;
        InputStream in = null;
        try {
            out = new FileOutputStream(file);
            in = getAssets().open(dbName);// 源文件

            int len = 0;
            byte[] buffer = new byte[1024];
            while ((len = in.read(buffer)) > 0) {
                out.write(buffer, 0, len);
            }

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            try {
                out.close();
                in.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

上面的路径需要替换为你自己的包名,dbName是数据库文件名称,如"dict.db".

创建数据库操作帮助类

public class SqlHelper extends SQLiteOpenHelper {

    public SqlHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    public SqlHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version, DatabaseErrorHandler errorHandler) {
        super(context, name, factory, version, errorHandler);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
    }
}

在这里可以创建表,升级数据库操作等,但我们只需要读取固定的数据库就好,所以什么操作都不做啦!

查询

在需要查询的页面创建数据库帮助类对象:

//需要传入context,数据库名字,版本等:
SqlHelper mHelper = new SqlHelper(mContext, Global.DB, null, 1);
//通过数据库帮助类获取数据库对象
SQLiteDatabase mDb = mHelper.getReadableDatabase();

接下来就是查询操作,你可以使用android封装好的方法query(),也可以直接传入sql语句来操作,如果你对sql语句比较数据,推荐直接使用sql语句来操作:

image.png

可以看到该方法需要很多参数,最少的一个都要7种:表名,查询的列(传null表示查询全部列),筛选条件,筛选值,分组规则,这个我也不知道,排序规则.


你可能感兴趣的:(Android中数据库基本操作_简单的查询)