<dl id="opymh"></dl>

<div id="opymh"></div>
      <div id="opymh"><tr id="opymh"></tr></div>

        <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

        <em id="opymh"></em>

        <em id="opymh"><ol id="opymh"></ol></em>

              頻道欄目
              首頁 > 程序開發 > 移動開發 > Android > 正文
              Android開發之引用外部數據庫操作講解
              2018-07-30 14:30:07         來源:重余的博客  
              收藏   我要投稿

              Android 引用外部數據庫(一)

              有現成的數據庫,需要直接引入到項目中使用。

              #準備

              在開始之前我們要確認現有的數據庫的表結構和字段信息等。(注意要看清楚數據庫的大小,后面有用)

              #第一步

              將外部數據庫拷貝到項目中的 assets文件夾中,如圖

              #第二步

              在你要使用數據庫之前將數據庫拷貝到 /data/data/包名/databases/ 目錄下。

              代碼

              public static void copyDbFile(Context context, String db_name) {
               InputStream in = null;
               FileOutputStream out = null;
               //String path = "/data/data/" + context.getPackageName() + "/databases/";
               File filePath = context.getDatabasePath(db_name);
               //spUtils 是為了防止多次拷貝
               if (!SharePreferenceUtils.getBoolean(GlobalContent.COPE_SUCCESS,false)){
                try {
              in = context.getAssets().open(db_name); // 從assets目錄下復制
              out = new FileOutputStream(filePath);
              int length = -1;
              byte[] buf = new byte[1024];
              while ((length = in.read(buf)) != -1) {
               out.write(buf, 0, length);
              }
              out.flush();
              SharePreferenceUtils.putBoolean(GlobalContent.COPE_SUCCESS,true);
                } catch (Exception e) {
              e.printStackTrace();
                } finally {
              try {
               if (in != null) in.close();
               if (out != null) out.close();
              } catch (IOException e1) {
               e1.printStackTrace();
              }
                }
               }
              }
              

              #第三步

              這時就可以開始查庫了

              SqlLiteHelper sqlLiteHelper = new SqlLiteHelper(getContext(), "mySql.db", null, 1);
              SQLiteDatabase readableDatabase = sqlLiteHelper.getReadableDatabase();
              
              try {
                Cursor query = readableDatabase.query("message", new String[]{"_id", "message"}, null, null, null, null, null, limit);
                boolean b = query.moveToFirst();
                while (!query.isLast()) {
              int id = query.getInt(query.getColumnIndex("_id"));
              String message = query.getString(query.getColumnIndex("message"));
              mDataList.add(new LoveMessageBean(id, message));
              query.moveToNext();
                }
                query.close();
                Logger.i("mDataList : "+ mDataList.size());
               }catch (Exception e){
                UiUtils.showToast(getContext(),"error");
               }
              

              到這里已經成功的把外部數據庫拷貝到項目中,并且開始 CRUD 了。

              以上的方法,是做簡單也是最原始的方法,之后會嘗試使用第三方的工具來查詢,如 GreenDao LitePal 等。

              點擊復制鏈接 與好友分享!回本站首頁
              上一篇:關于AndroidStudio SDK Baiduyun Download (for android 6.0 development/Android Studio 1.5 - 2016)代碼分析
              下一篇:Android開發之做一鍵批量卸載App功能的詳細講解
              相關文章
              圖文推薦
              點擊排行

              關于我們 | 聯系我們 | 廣告服務 | 投資合作 | 版權申明 | 在線幫助 | 網站地圖 | 作品發布 | Vip技術培訓 | 舉報中心

              版權所有: 紅黑聯盟--致力于做實用的IT技術學習網站

              极速飞艇好假
              <dl id="opymh"></dl>

              <div id="opymh"></div>
                  <div id="opymh"><tr id="opymh"></tr></div>

                    <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

                    <em id="opymh"></em>

                    <em id="opymh"><ol id="opymh"></ol></em>

                          <dl id="opymh"></dl>

                          <div id="opymh"></div>
                              <div id="opymh"><tr id="opymh"></tr></div>

                                <em id="opymh"><ins id="opymh"><mark id="opymh"></mark></ins></em><sup id="opymh"><menu id="opymh"></menu></sup>

                                <em id="opymh"></em>

                                <em id="opymh"><ol id="opymh"></ol></em>