亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

android編程實(shí)現(xiàn)sd卡讀取數(shù)據(jù)庫(kù)的方法

 更新時(shí)間:2015年11月16日 10:54:21   作者:oldfeel  
這篇文章主要介紹了android編程實(shí)現(xiàn)sd卡讀取數(shù)據(jù)庫(kù)的方法,涉及Android權(quán)限控制及針對(duì)sd卡與數(shù)據(jù)庫(kù)的相關(guān)操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了android編程實(shí)現(xiàn)sd卡讀取數(shù)據(jù)庫(kù)的方法。分享給大家供大家參考,具體如下:

先在 Manifest 里添加權(quán)限:

<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";
// 初始化數(shù)據(jù)庫(kù)
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;
}

希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 淺談Android官方MVP架構(gòu)解讀

    淺談Android官方MVP架構(gòu)解讀

    這篇文章主要介紹了淺談Android官方MVP架構(gòu)解讀,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • Flutter實(shí)現(xiàn)笑嘻嘻的動(dòng)態(tài)表情的示例代碼

    Flutter實(shí)現(xiàn)笑嘻嘻的動(dòng)態(tài)表情的示例代碼

    這篇文章主要為大家介紹了如何利用Flutter實(shí)現(xiàn)笑嘻嘻的動(dòng)態(tài)表情,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)Flutter有一定幫助,感興趣的可以了解一下
    2022-04-04
  • Android端實(shí)現(xiàn)單點(diǎn)登錄的方法詳解

    Android端實(shí)現(xiàn)單點(diǎn)登錄的方法詳解

    所謂單點(diǎn)登錄就是指的同一個(gè)賬戶(id)不能在一個(gè)以上的設(shè)備上登錄對(duì)應(yīng)的用戶系統(tǒng)(排除web端和移動(dòng)端可以同時(shí)登錄的情況),例如:用戶m在A設(shè)備登錄并保持登錄狀態(tài),然后又在B設(shè)備登錄,此時(shí)A應(yīng)該要強(qiáng)制下線,m無(wú)法在A設(shè)備上繼續(xù)執(zhí)行用戶相關(guān)的操作,下面來(lái)一起看看吧。
    2016-11-11
  • Android8.0適配前臺(tái)定位服務(wù)service的示例代碼

    Android8.0適配前臺(tái)定位服務(wù)service的示例代碼

    這篇文章主要介紹了Android8.0適配前臺(tái)定位服務(wù)service的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 源碼分析Android?LayoutInflater的使用

    源碼分析Android?LayoutInflater的使用

    簡(jiǎn)單來(lái)說(shuō),LayoutInflater的工作就是將使用xml文件編寫的布局轉(zhuǎn)換成Android里的View對(duì)象,并且這也是Android中將xml布局轉(zhuǎn)換成View的唯一方式。本文將從源碼帶大家了解一下LayoutInflater的具體使用
    2023-04-04
  • Android 程序應(yīng)用的生命周期

    Android 程序應(yīng)用的生命周期

    本篇文章小編為大家介紹,Android 程序應(yīng)用的生命周期。需要的朋友參考下
    2013-04-04
  • android電源信息查看(電量、溫度、電壓)實(shí)例代碼

    android電源信息查看(電量、溫度、電壓)實(shí)例代碼

    這篇文章主要介紹了android電源信息查看方法,以實(shí)例形式較為詳細(xì)的分析了Android實(shí)現(xiàn)電源電量、電壓、溫度等信息查看的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-10-10
  • Jenkins打包android應(yīng)用時(shí)自動(dòng)簽名apk詳解

    Jenkins打包android應(yīng)用時(shí)自動(dòng)簽名apk詳解

    這篇文章主要介紹了Jenkins打包android應(yīng)用時(shí)自動(dòng)簽名apk詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • Android實(shí)現(xiàn)自定義輪播圖片控件詳解

    Android實(shí)現(xiàn)自定義輪播圖片控件詳解

    這篇文章給大家主要介紹了Android實(shí)現(xiàn)自定義輪播圖片控件的詳細(xì)過(guò)程,文中通過(guò)實(shí)例代碼介紹的很詳細(xì),相信會(huì)對(duì)大家的理解和學(xué)習(xí)很有幫助,感興趣的朋友們下面來(lái)一起看看吧。
    2016-10-10
  • Flutter實(shí)現(xiàn)紅包動(dòng)畫效果的示例代碼

    Flutter實(shí)現(xiàn)紅包動(dòng)畫效果的示例代碼

    這篇文章主要為大家詳細(xì)介紹了如何利用Flutter實(shí)現(xiàn)紅包的動(dòng)畫效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以了解一下
    2023-06-06

最新評(píng)論