原文: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

Android初始化本地数据库相关推荐

  1. android 读取本地数据库db文件(Android sqlite)

    我们知道Android中有四种数据存储方式: SharedPreference存储 content provider SQLite数据库存储 文件存储 今天我们主要说 本地数据库sqlite这种方式, ...

  2. android直接连接本地数据库文件,Android 直接连MySQL数据库

    1.Android平台下与服务器数据库通信的方法 在Android平台下,连接电脑服务器的MySQL.PostgreSQL.Oracle.Sybase.Microsoft SQLServer等数据库管 ...

  3. android收藏功能demo,Android使用Realm数据库实现App中的收藏功能(代码详解)

    前 言 App数据持久化功能是每个App必不可少的功能,而Android最常用的数据持久化方式主要有以下的五种方式: 使用SharedPreferences存储数据: 文件存储数据: SQLite数据 ...

  4. android读取excel数据库,Android 读取Excel数据并保存在本地数据库

    在工作中遇到需要将Excel的数据读取出来并保存在本地数据库中的操作,数据如下: 图片.png 需要做以下准备: 读取Excel的jar包[文章末尾会分享该jar包] 保存数据的数据库框架,在这里我们 ...

  5. android:Android中用文件初始化sqlite数据库(zz)

        很多时候在应用安装初始化时,需要创建本地数据库,同时为数据库添加数据,之后再从数据库中读取数据. 这里有2个思路 1.先在本地创建一个能支持android使用的sqlite数据库文件,启动时, ...

  6. Android中用文件初始化sqlite 数据库(二)

    博 androidsqlite启动时数据库初始化  方法1已经讲述了一种初始化数据库的方法 它的数据库初始化不是用sql语句,而是用一个现成的sqlite的二进制文件进行直接copy到Android系 ...

  7. Android怎么查看手机中的本地数据库

    我前几天做的项目中有本地数据库, 所以就 用的 SQLite,在调试数据库时,,很想看一下里面的表结构是否正确,这个时候就十分苦恼, 因为这个db文件不能够直接拿出来,我们知道,在DDMS里面有一个F ...

  8. android应用卸载后,出现的本地数据库内容未删除现象

    现象:应用使用一段时间后,本地数据库和SharedPreferences中产生数据,将应用卸载后,再次安装,原有数据出现在应用中.因此,为了安全起见,需要将allowBackup标志值设置为false ...

  9. Android studio如何查看本地数据库

    android开发有时候涉及到本地存储的时候,需要用到数据库,当开发者需要查看本地数据库的内容时,就会发现非常麻烦.以前我觉得google在这一方面是完全没有倾听开发者的呼声呀!这是有多麻烦就有多麻烦 ...

最新文章

  1. 【机器学习入门】(13) 实战:心脏病预测,补充: ROC曲线、精确率--召回率曲线,附python完整代码和数据集
  2. python带通滤波_python中的fft带通滤波器
  3. HDU 1251 统计难题(Trie模版题)
  4. 进行判断使用class_记一次使用 Arthas 热更新线上代码
  5. 权限管理系统设计_多校区的教育培训机构,如何选择培训学校crm管理系统?
  6. mean shift
  7. JVM监控及诊断工具命令行篇之jstack
  8. [网络安全提高篇] 一一三.Powershell恶意代码检测 (1)论文总结及抽象语法树(AST)提取
  9. 怎么压缩word文档的大小?
  10. 证件照的背景颜色转换
  11. 已解决The method is not allowed for the requested URL.
  12. 数字电路实验(四)——寄存器、计数器及RAM
  13. Psychtoolbox刺激呈现工具包的安装及下载
  14. Android studio 多渠道打包(包括不同的包使用不同的资源文件、不同的包写不同的代码,包名等等)
  15. nsfw什么颜色_“ NSFW”是什么意思,以及如何使用它?
  16. js 保留两位数且不四舍五入
  17. C语言网络聊天室——服务器端
  18. 东风风行t5evo噪音测试软件,【图】百公里加速9.5秒 实测东风风行T5 EVO_汽车江湖...
  19. 更相减损术--最大公约数
  20. OpenGL透视投影

热门文章

  1. 机器人无限火力无限e符文_LOL:无限火力开黑指南 三大玩法让你快乐加倍
  2. android 生成泛型对象,java android解析多层含有泛型对象的json数据获取不到泛型类型解析失败解决办法...
  3. JAVA不同类型数组重载_java学习笔记--java中的方法与数组
  4. centos radius mysql_FreeRadius2 MySQL配置
  5. jitter 如何优化网络_抖音优化该怎么做?
  6. php连接数据库navicat,navicat数据库如何连接php
  7. java重写重定向_JavaWeb请求转发与请求重定向理解
  8. codeforces MUH and Important Things
  9. 随机数归并排序c语言,用C语言实现归并排序
  10. 安卓qpythonttsspeak_当python遇到Android手机 那么,万物皆可盘