iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >Android开发如何读取assets目录下db文件
  • 342
分享到

Android开发如何读取assets目录下db文件

androidassetsdb 2023-05-30 18:05:03 342人浏览 独家记忆
摘要

这篇文章主要为大家展示了“Android开发如何读取assets目录下db文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android开发如何读取assets目录下db文件”这篇文章吧。具体

这篇文章主要为大家展示了“Android开发如何读取assets目录下db文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android开发如何读取assets目录下db文件”这篇文章吧。

具体如下:

最近准备打算写一个关于天气预报的app,偶然的机会在一大神的博客上看到了一个获取天气的api,获取天气是通过城市的cityID,项目中准备通过读取weather_city.db数据库来查询cityID,这篇文章写怎么读取assets目录下的db文件,其实方法也挺简单的就是把assets目录下的db文件复制一份到”/data/data/” + packName + “/”目录下而已。

public class DBManager {  private String DB_NAME = "weather_city.db";  private Context mContext;  public DBManager(Context mContext) {    this.mContext = mContext;  }  //把assets目录下的db文件复制到dbpath下  public sqliteDatabase DBManager(String packName) {    String dbPath = "/data/data/" + packName        + "/databases/" + DB_NAME;    if (!new File(dbPath).exists()) {      try {        FileOutputStream out = new FileOutputStream(dbPath);        InputStream in = mContext.getAssets().open("weather_city.db");        byte[] buffer = new byte[1024];        int readBytes = 0;        while ((readBytes = in.read(buffer)) != -1)          out.write(buffer, 0, readBytes);        in.close();        out.close();      } catch (ioException e) {        e.printStackTrace();      }    }    return SQLiteDatabase.openOrCreateDatabase(dbPath, null);  }  //查询  public City query(SQLiteDatabase sqliteDB, String[] columns, String selection, String[] selectionArgs) {    City city = null;    try {      String table = "city";      Cursor cursor = sqliteDB.query(table, columns, selection, selectionArgs, null, null, null);      if (cursor.moveToFirst()) {        String parentCity = cursor.getString(cursor            .getColumnIndex("parent"));        String phoneCode = cursor.getString(cursor.getColumnIndex("phone_code"));        String name = cursor.getString(cursor.getColumnIndex("name"));        String pinyin = cursor.getString(cursor.getColumnIndex("pinyin"));        String cityID = cursor.getString(cursor.getColumnIndex("posID"));        String areaCode = cursor.getString(cursor.getColumnIndex("area_code"));        city = new City(parentCity, name, pinyin, phoneCode, cityID, areaCode);        cursor.moveToNext();        cursor.close();      }    } catch (Exception e) {      e.printStackTrace();    }    return city;  }}

为了方便数据的使用,我们建一个City类,对应City表中的字段,如下:

public class City {  private String parentCity;  private String childCity;  private String pinyin;  private String phoneCode;  private String cityID;  private String areaCode;  public City(String parentCity, String childCity, String pinyin, String phoneCode, String cityID, String areaCode) {    this.parentCity = parentCity;    this.childCity = childCity;    this.pinyin = pinyin;    this.phoneCode = phoneCode;    this.cityID = cityID;    this.areaCode = areaCode;  }  public String getParentCity() {    return parentCity;  }  public void setParentCity(String parentCity) {    this.parentCity = parentCity;  }  public String getAreaCode() {    return areaCode;  }  public void setAreaCode(String areaCode) {    this.areaCode = areaCode;  }  public String getCityID() {    return cityID;  }  public void setCityID(String cityID) {    this.cityID = cityID;  }  public String getPhoneCode() {    return phoneCode;  }  public void setPhoneCode(String phoneCode) {    this.phoneCode = phoneCode;  }  public String getPinyin() {    return pinyin;  }  public void setPinyin(String pinyin) {    this.pinyin = pinyin;  }  public String getChildCity() {    return childCity;  }  public void setChildCity(String childCity) {    this.childCity = childCity;  }}

测试代码:

@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    contentTextView = (TextView) findViewById(R.id.content);    dbManager = new DBManager(this);    sqLiteDatabase = dbManager.initDBManager(getPackageName());    String[] columns = new String[]{"parent", "name", "posID", "pinyin", "phone_code", "area_code"};    String selection = "parent=?" + "AND" + " name=?";    String[] selectionArgs = new String[]{"北京", "丰台"};    City city = dbManager.query(sqLiteDatabase, columns, selection, selectionArgs);    contentTextView.setText("邮编:" + city.getAreaCode() + "拼音:" + city.getPinyin() + "电话区号" + city.getPhoneCode() + "cityID:" + city.getCityID());}

Android开发如何读取assets目录下db文件

读取的数据与表中的数据一致

Android开发如何读取assets目录下db文件

以上是“Android开发如何读取assets目录下db文件”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网精选频道!

--结束END--

本文标题: Android开发如何读取assets目录下db文件

本文链接: https://www.lsjlt.com/news/220551.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android开发如何读取assets目录下db文件
    这篇文章主要为大家展示了“Android开发如何读取assets目录下db文件”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Android开发如何读取assets目录下db文件”这篇文章吧。具体...
    99+
    2023-05-30
    android assets db
  • Android开发实现读取Assets下文件及文件写入存储卡的方法
    本文实例讲述了Android开发实现读取Assets下文件及文件写入存储卡的方法。分享给大家供大家参考,具体如下:调用一个反编译的.so文件,查看起加密和解密情况,需要解析上万的数组,而so文件加密解密都是通过Byte来进行,又需要把Str...
    99+
    2023-05-30
    android assets roi
  • 解读classpath读取resources目录下的文件
    目录classpath读取resources目录下文件1、class.getResource()2、getClassLoader().getResource()4、批量读取5、如果配...
    99+
    2023-01-12
    classpath resources 读取resources目录下文件 classpath读取resources下文件
  • maven工程如何读取resource目录下配置文件
    目录maven工程读取resource目录下配置文件maven配置resource,多个source目录maven工程读取resource目录下配置文件 在maven工程中,我们会将...
    99+
    2024-04-02
  • 如何用BAT实时读取某个文件目录下文件数
    这篇文章主要讲解了“如何用BAT实时读取某个文件目录下文件数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何用BAT实时读取某个文件目录下文件数”吧!最近帮助一个朋友制作一个简单的课件展示...
    99+
    2023-06-08
  • springboot项目怎么读取resources目录下的文件
    这篇“springboot项目怎么读取resources目录下的文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“sprin...
    99+
    2023-07-05
  • php怎么读取目录下所有文件
    在PHP中,可以使用`opendir()`函数打开一个目录,然后使用`readdir()`函数遍历目录中的所有文件。可以使用一个循环...
    99+
    2023-10-08
    php
  • nodejs如何实现递归拷贝、读取目录下所有文件和目录
    这篇文章将为大家详细讲解有关nodejs如何实现递归拷贝、读取目录下所有文件和目录,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体代码如下所示:var fs=...
    99+
    2024-04-02
  • java怎么读取config目录下配置文件
    要读取config目录下的配置文件,可以使用Java中的Properties类来实现。首先,需要通过类加载器获取到配置文件的输入流。...
    99+
    2023-09-20
    java
  • java怎么读取目录下所有文件名
    要读取目录下的所有文件名,可以使用Java的File类和递归方法来实现。以下是一个示例代码:```javaimport java.i...
    99+
    2023-08-19
    java
  • windows如何获取目录下的文件名
    Windows可以使用以下方法来获取目录下的文件名:1. 使用命令行工具:在命令提示符窗口中,使用`dir`命令可以列出当前目录下的...
    99+
    2023-09-28
    windows
  • android如何读取本地文件
    要在Android中读取本地文件,可以使用Java的File类和输入流来实现。以下是一个示例代码:```javaFile file ...
    99+
    2023-08-12
    android
  • PHP开发中如何优化文件读写和目录操作
    在PHP开发中,文件读写和目录操作是非常常见的需求和操作。然而,不合理的文件读写和目录操作会导致性能下降和资源浪费。因此,优化文件读写和目录操作是优化网站性能的一个重要方面。本文将介绍一些优化文件读写和目录操作的方法,并提供具体的代码示例。...
    99+
    2023-10-21
    异步IO 文件缓存 文件索引
  • SpringBoot如何读取资源目录中的JSON文件
    这篇“SpringBoot如何读取资源目录中的JSON文件”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“SpringBoot...
    99+
    2023-07-06
  • springboot项目读取resources目录下的文件的9种方式
    目录1: 使用 ClassLoader.getResourceAsStream() 方法2: 使用 Class.getResourceAsStream() 方法3: 使用 Resou...
    99+
    2023-05-14
    springboot 读取resources目录 springboot 读取resources
  • SpringBoot如何读取Resource下文件
    这篇文章给大家分享的是有关SpringBoot如何读取Resource下文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。SpringBoot读取Resource下文件最近在项目中涉及到Excle的导入功能,通常...
    99+
    2023-06-20
  • PHP实现读取指定目录下的所有文件
    在php中读取指定目录下的文件主要用到了opendir和readdir函数 一:opendir(打开目录句柄) 1:语法 opendir(path,context); 2:参数说明 参数描述path必需。规定要打开的目录路径。context...
    99+
    2023-10-18
    php 开发语言
  • Java怎么实现读取resources目录下的文件路径
    本篇内容主要讲解“Java怎么实现读取resources目录下的文件路径”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java怎么实现读取resources目录下的文件路径”吧!打印文件的方法如...
    99+
    2023-06-29
  • SpringBoot 如何读取classpath下的文件
    SpringBoot 读取classpath下文件 开发过程中,必不可少的需要读取文件,对于打包方式的不同,还会存在一些坑,比如以jar包方式部署时,文件都存在于jar包中,某些读取...
    99+
    2024-04-02
  • springboot如何读取resources下的文件
    今天小编给大家分享一下springboot如何读取resources下的文件的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。项...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作