android如何使用数据库文件

android如何使用数据库文件,第1张

复制的基本方法是1使用getResources()openRawResource方法获得res/raw目录中资源的 InputStream对象,2然后将该InputStream对象中的数据写入其他的目录中相应文件中。3 在Android SDK中可以使用SQLiteDatabaseopenOrCreateDatabase方法来打开任意目录中的SQLite数据库文件基本思路,总结来说, 应该是这样子的。先判断是用户是否有SD卡,(PS:虽然绝大部分用户手机是带SD卡的,但我们也必须考虑一下没有SD卡用户的感受)如果没有SD卡,则把数据库拷贝到用户的手机的data内存中,如果有SD卡,则把数据库拷贝到SD卡中。当然更好的建议,应该是这样子的, 不是在程序中拷贝数据库,而是在程序首次运行时,代码建立数据库(在SD卡上或用户手机内存Data区),然后再住这个数据库中填充数据。

android 中SQliteDatabase数据库使用SQLiteOpenHelper辅助类来创建SQLite数据库视图,如下代码:

create view 表名 as 定义

SQLiteOpenHelper类是一个辅助类,用于创建或打开数据库。

该类的使用方法一般是自定义一个子类,继承自SQLiteOpenHelper,并覆写其中最关键的两个方法:onCreate(SQLiteDatabase db)和onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)。当新建一个数据库时会调用前者,一般在里面做一些创建表或视图的 *** 作。数据库版本升级时则会调用后者。

定义好子类后(假如叫SqlHelper),只要调用SqlHelper对象的getReadableDatabase()方法或getWritableDatabase()方法即可返回一个SQLiteDatabase对象。如果是第一次调用,则会创建数据库。随后可使用SQLiteDatabase对象的方法进行数据 *** 作,如:execSQL(), insert(), update(), query(), rawQuery(), delete()等。

这种方式通常连接一个外部的数据库,第一个参数就是数据库文件,这个数据库不是当前项目中生成的,通常放在项目的Assets目录下,当然也可以在手机内,如上面参数那个目录,前提是那个文件存在且你的程序有访问权限。

另一种使用数据库的方式是,自己创建数据库并创建相应的数据库表,参考下面的代码:

public class DatabaseHelper extends SQLiteOpenHelper {

//构造,调用父类构造,数据库名字,版本号(传入更大的版本号可以让数据库升级,onUpgrade被调用)

public DatabaseHelper(Context context) {

super(context, DatabaseConstantDATABASE_NAME, null, DatabaseConstantDATABASE_VERSION);

}

//数据库创建时调用,里面执行表创建语句

@Override

public void onCreate(SQLiteDatabase db) {

dbexecSQL(createVoucherTable());

}

//数据库升级时调用,先删除旧表,在调用onCreate创建表

@Override

public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

dbexecSQL("DROP TABLE IF EXISTS " + DatabaseConstantTABLE_NAME);

onCreate(db);

}

//生成 创建表的SQL语句

private String createVoucherTable() {

StringBuffer sb = new StringBuffer();

sbappend(" CREATE TABLE ")append(DatabaseConstantTABLE_NAME)append("( ")append(“ID”)

append(" TEXT PRIMARY KEY, ")

append(“USER_ID”)append(" INTEGER, ")append(“SMS_CONTENT”)append(" TEXT ) ");

return sbtoString();

}

} 继承SQLiteOpenHelper并实现里面的方法

之后:

//得到数据库助手类

helper

=

new

DatabaseHelper(context);

//通过助手类,打开一个可读写的数据库连接

SQLiteDatabase

database

=

helpergetReadableDatabase();

//查询表中所有记录

databasequery(DatabaseConstantTABLE_NAME,

null,

null,

null,

null,

null,

null);

android读取数据库可以使用sqlite一些api进行读取,实例如下:

  / 

      查找一条数据 

      @param uid 

     /  

    public User find(Integer uid){  

        SQLiteDatabase db=dbOpenHelpergetReadableDatabase();  //创建数据库辅助类

        Cursor cursor =dbrawQuery("select  from user where uid=", new String[]{uidtoString()});  //创建一个游标

        if(cursormoveToFirst()){  //循环遍历查找数组

            int uid2=cursorgetInt(cursorgetColumnIndex("uid"));  

            String uname=cursorgetString(cursorgetColumnIndex("uname"));  

            String uaddress=cursorgetString(cursorgetColumnIndex("uaddress"));  

            User user=new User();  

            usersetUid(uid2);  

            usersetUname(uname);  

            usersetUaddress(uaddress);  

            return user;  

        }  

        cursorclose();  

        return null;  

    }

以上就是关于android如何使用数据库文件全部的内容,包括:android如何使用数据库文件、如何在android中使用sqlite数据库、android 如何连接数据库等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10157486.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存