技术开发 频道

如何利用Android sd卡读取数据库

  【IT168技术】本文主要给大家讲解如何利用Android SD卡读取数据库,提供一些代码如下。先在 Manifest 里添加权限:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

  然后在 mainActivity 添加方法

   SQLiteDatabase db;
    
private final String DATABASE_PATH = android.os.Environment
            .getExternalStorageDirectory().getAbsolutePath()
+ "/vote";
    
private String DATABASE_FILENAME = "db_vote.db";


// 初始化数据库
    
private SQLiteDatabase openDatabase() {
        try {
            
String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME;
            File dir
= new File(DATABASE_PATH);
            
if (!dir.exists())
                dir.mkdir();
            
if (!(new File(databaseFilename)).exists()) {
                InputStream
is = getResources().openRawResource(R.raw.db_vote);
                FileOutputStream fos
= new FileOutputStream(databaseFilename);
                
byte[] buffer = new byte[8192];
                
int count = 0;
                
while ((count = is.read(buffer)) > 0) {
                    fos.write(buffer,
0, count);
                }
                fos.close();
                
is.close();
            }
            db
= SQLiteDatabase.openOrCreateDatabase(databaseFilename, null);
            return db;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return
null;
    }
0
相关文章