Android初始化本地數據庫

原文:http://blog.csdn.net/itjavawfc/article/details/50860647

點擊閱讀原文

--------------------------------

最近遇到一個需求,一個同學不會搭服務器,但是Android課程設計需要用到很多數據,這樣就出現了一個問題,一個內容型的APP,怎么初始化數據庫呢??

很容易想到倆種方案,一個是在App中寫一個錄入內容的頁面,用手動的方式錄入數據;另一個是在外部建立一個數據庫,用數據庫工具錄入;第一種方案太慢,太麻煩,手動的錄入簡直就能把人折磨死,所以最后采用了外部建庫的方式,用navicate for sqlite 很容易建立了一個數據庫?
這里寫圖片描述

得到了mydb.db數據庫,那么怎么導入到Android App中尼,用下面的方案:?
1.將mydb.db 放到raw文件夾下?
2.編寫將mydb.db 復制到sd卡中的工具類并獲得SQLiteDatabase 的工具類

public class DBUtil {  private static SQLiteDatabase database;  public static final String DATABASE_FILENAME = "myb.db";  public static final String PACKAGE_NAME = "com.mobilexu.test";  public static final String DATABASE_PATH = "/data" + Environment.getDataDirectory().getAbsolutePath() + "/" + PACKAGE_NAME;  public static SQLiteDatabase openDatabase(Context context) {  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 = context.getResources().openRawResource(R.raw.mydb);  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();  }  database = SQLiteDatabase.openOrCreateDatabase(databaseFilename, null);  return database;  } catch (Exception e) {  e.printStackTrace();  }  return null;  }  
} 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33

3.在數據中查詢的時候:直接用工具類獲得SQLiteDatabase來查詢

public static List<Season> findAllSeason(Context context) {  List<Season> seasons = new ArrayList<Season>();  SQLiteDatabase myDateBase = DBUtil.openDatabase(context);  String sql = "select * from Season";  try {  Cursor c = myDateBase.rawQuery(sql, null);  c.moveToFirst();  while (!c.isAfterLast()) {  Season season = new Season();  season.setId(c.getInt(c.getColumnIndex("id")));  season.setName(c.getString(c.getColumnIndex("name")));  seasons.add(season);  c.moveToNext();  }  if (!c.isClosed()) {  c.close();  }  if (myDateBase.isOpen()) {  myDateBase.close();  }  } catch (Exception e) {  e.printStackTrace();  }  return seasons;  }  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

就可以直接查詢。


-------------

更多的Java,Angular,Android,大數據,J2EE,Python,數據庫,Linux,Java架構師,:

http://www.cnblogs.com/zengmiaogen/p/7083694.html


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538843.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538843.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538843.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

jsp springmvc 視圖解析器_springMVC配置jsp/html視圖解析器

1、maven項目引入freemark相關jar包freemaker是以個模板引擎&#xff0c;可以根據提供的數據和創建好的模板,去自動的創建html靜態頁面。所以在返回html視圖時可以用這個引擎結合數據生成html靜態頁面。org.springframeworkspring-context-support5.0.7.RELEASEorg.freemarkerf…

php設計模式原型模式,原型模式_設計模式_設計模式之原型模式 - Lane Blog

108Clicks: 6614 Date: 2014-04-21 21:48:35 Power By 李軒Lane原型模式提取重復功能&#xff0c;避免了程序員喜歡復制粘貼的壞習慣。設計模式中的原型模式就是&#xff0c;用原型實例指定創建對象的重力&#xff0c;通過拷貝這些原型來創建新的對象從一個對象再創建另外一個可…

Windows2003如何安裝IIS和ftp

【開始】----【控制面板】----【添加或刪除程序】 出現如下“添加或刪除程序”界面&#xff0c;點擊“添加/刪除windows組件&#xff08;a&#xff09; ” 出現如下“window組件向導”界面 下拉“組件”欄目條&#xff0c;選擇“應用程序服務器” 點擊“應用程序服務器”下的“…

hadoop臨時文件 jar包_hadoop之Mapper/reducer源碼分析之二

若當前JobClient (0.22 hadoop) 運行在YARN.則job提交任務運行在YARNRunnerHadoop Yarn 框架原理及運作機制主要步驟作業提交作業初始化資源申請與任務分配任務執行具體步驟在運行作業之前&#xff0c;Resource Manager和Node Manager都已經啟動&#xff0c;所以在上圖中&#…

ANDROID:SHOWASACTION="NEVER"是做什么用的?

原文地址&#xff1a;http://www.cnblogs.com/android-joker/p/4478491.html 點擊閱讀原文 --------------------------------------------------------- 安卓開發項目文件中有一個目錄叫做menu&#xff0c;里面有tybmain.xml item選項里有一句 android:showAsAction "…

吳恩達ex3_Wu-Enda機器學習編程作業Python實現EX3,吳恩達,machinelearning,python,ex3nn

# -*- coding: utf-8 -*-"""Created on Wed Jul 1 20:28:57 2020author: cheetah023"""import numpy as npimport matplotlib.pyplot as pltimport scipy.io as sciimport random as ra#函數定義def sigmoid(X):return 1 /(1 np.exp(-X))def pr…

php數組驗證用戶名密碼,求個php數組驗證問題,在線等

現在有這么一個數組,是屬性表Array([0] > Array([list_attr_id] > 30[list_attr_name] > 顏色[list_attr_attr] > 黑色|白色|金色[list_attr_price] > 0|10.1|20[list_attr_shop_id] > 28)[1] > Array([list_attr_id] > 31[list_attr_name] > 規格[…

基于python的視頻監控系統_Python實現微信監控報警系統

概述: 本文主要分享一下博主在學習wxpy 的過程中開發的一個小程序。博主在最近有一個監控報警的需求需要完成&#xff0c;然后剛好在學習wxpy 這個東西&#xff0c;因此很巧妙的將工作和學習聯系在一起。 博文中主要使用到的技術設計到Python&#xff0c;Redis&#xff0c;以及…

python 編碼文件json.loads json.dumps

python 編碼文件json.loads json.dumps import yaml d {name: 張三, age: 1} print d jd json.dumps(d, ensure_asciiFalse, encodingutf-8)) ud json.loads(jd, encodingutf-8) print ud ud yaml.safe_load(jd, encodingutf-8) print udposted on 2018-04-23 15:18 秦瑞It…

getActionBar()報空指針異常

調用 getActionBar()的Activity類 public class WlanListActivity extends AppCompatActivity 在使用getActionBar("標題內容")的時候報空指針。 原因是要用AppCompatActivity類里的getSupportActionBar()

python 類中定義列表_Python3中的自定義列表類,具有

我想用python3編寫一個自定義列表類&#xff0c;就像在這個問題How would I create a custom list class in python?中一樣&#xff0c;但與該問題不同&#xff0c;我想實現__get__和{}方法。雖然我的類與list類似&#xff0c;但是這些方法背后隱藏著一些神奇的操作。所以我想…

紅黑樹與平衡二叉樹_百圖詳解紅黑樹,想不理解都難

之前在公司組內分享了紅黑樹的工作原理&#xff0c;今天把它整理下發出來&#xff0c;希望能對大家有所幫助&#xff0c;對自己也算是一個知識點的總結。這篇文章算是我寫博客寫公眾號以來畫圖最多的一篇文章了&#xff0c;沒有之一&#xff0c;我希望盡可能多地用圖片來形象地…

linux 父子進程結束,Linux下讓父進程結束后,子進程自動結束

在多進程編程的時候&#xff0c;經常會遇到這樣的情況。父進程創建了一堆子進程&#xff0c;當遇到錯誤或者操作失誤的時候把父進程關閉了&#xff0c;但是子進程還在跑&#xff0c;不得不一個一個地殺死子進程&#xff0c;或者使用ps,grep,awk,kill來配合批量殺死。之前在寫 x…

android:showAsAction 無效

我想要的效果 但actionbar上的搜索菜單不顯示 在androidstudio里&#xff0c;android:showAsAction"always"標紅 根據提示&#xff0c;需要加入 xmlns:app"http://schemas.android.com/apk/res-auto" 加入后依然無效 正確的加入方式是&#xff1a;

Exchange_Server_2013在Windows_2008_R2部署

Exchange Server 2013可以部署在Windows Server 2012的平臺&#xff0c;也可以部署在Windows Server 2008 R2的平臺。如果部署在Windows Server 2008 R2平臺要求操作系統版本為Windows Server 2008 R2 SP1的版本。如下拓撲圖&#xff1a;在本架構中有兩臺服務器&#xff0c;都安…

建立副本名稱沖突_包的建立(一)

這次的內容&#xff0c;涉及到 R 語言包的建立。事實上&#xff0c;CRAN 提供的官方參考指南&#xff0c;并不適合快速閱讀&#xff0c;且內容繁雜。比較適合作為后期提高的 教材。而 http://r-pkgs.had.co.nz/ 上 的教程則更適合作為 R 包編寫的幫助指南。這里&#xff0c;僅僅…

Android 多選列表

原文&#xff1a;http://blog.csdn.net/wljun739/article/details/37655209 點擊閱讀原文 ----------------------------------------------------------- 1、activity_main.xml[java] view plaincopy<LinearLayout xmlns:android"http://schemas.android.com/apk/res/…

python自帶的編輯器怎么換行_Python3基礎 print 自帶換行功能

鎮場詩&#xff1a; ———大夢誰覺&#xff0c;水月中建博客。百千磨難&#xff0c;才知世事無常。 ———今持佛語&#xff0c;技術無量愿學。愿盡所學&#xff0c;鑄一良心博客。 —————————————————————————————————————————— 1 …

查看db2數據庫名linux,【名說】DB2數據庫備份與恢復(linux環境)

lslinux 下備份db2數據庫1.SSH方式&#xff1a;登錄db2數據庫(因為是linux環境 &#xff0c; putty就不錯)2.進入備份文件夾&#xff1a;cd /home/backup/db2 list application | grep 數據庫名//(可能會有一些連接進程&#xff0c;有則全部殺掉)//殺進程&#xff1a;db2 "…

leetcode 回文數

2019獨角獸企業重金招聘Python工程師標準>>> 判斷一個整數是否是回文數。回文數是指正序&#xff08;從左向右&#xff09;和倒序&#xff08;從右向左&#xff09;讀都是一樣的整數。 示例 1: 輸入: 121 輸出: true 示例 2: 輸入: -121 輸出: false 解釋: 從左向右…