Android sd卡读取数据库实例代码

Android sd卡读取数据库实例代码

前言:

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

<span style="font-size:16px;"><uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" /></span> 

然后在 mainActivity 添加方法

<span style="font-size:16px;">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; 
  }</span> 

感谢阅读,希望能帮助到大家,谢谢大家,对本站的支持!