Android访问assets本地Json文件
2023-09-11 14:18:54 时间
当App需要固定json数据时如,国家城市列表,可以将json数据制作为本地Json文件存入assets文件夹下,生成apk文件时
1.assets文件与java/res文件夹同级,都在main文件夹下。
在main文件夹下新建assets文件,然后再assets文件中新建test.json文件夹,将Json数据复制到test.json文件中,具体如下
2.访问json文件
编写一个本地json文件解析的工具类LocalJsonResolutionUtils
assets中的文件无法直接访问,可以使用AssetManager访问。
/** * 得到json文件中的内容 * @param context * @param fileName * @return */ public static String getJson(Context context,String fileName){ StringBuilder stringBuilder = new StringBuilder(); //获得assets资源管理器 AssetManager assetManager = context.getAssets(); //使用IO流读取json文件内容 try { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader( assetManager.open(fileName),"utf-8")); String line; while ((line = bufferedReader.readLine()) != null) { stringBuilder.append(line); } } catch (IOException e) { e.printStackTrace(); } return stringBuilder.toString(); }
使用Gson将Json字符串转换为对象
/** * 将字符串转换为 对象 * @param json * @param type * @return */ public static <T> T JsonToObject(String json, Class<T> type) { Gson gson =new Gson(); return gson.fromJson(json, type); }
3.工具的使用
//得到本地json文本内容 String fileName = "test.json"; String foodJson = LocalJsonResolutionUtils.getJson(mActivity, fileName); //转换为对象 FoodCategoryBean foodCategoryBean = LocalJsonResolutionUtils.JsonToObject(foodJson, FoodCategoryBean.class);
相关文章
- [android]android自动化测试
- [Android 源码] Android源码下载
- [Android Pro] android 混淆文件project.properties和proguard-project.txt
- Android 下文件cannot execute - Permission denied
- 《android开发艺术探索》读书笔记(十)--Android的消息机制
- 获取apk信息工具(android SDK的aapt工具)
- Android安全开发之安全使用HTTPS
- Android SDK content Loader has encountered a problem.parseSdkContent failed
- Android--读取通讯录并添加联系人
- 【VLC-Android】vlc-android简例
- 为Android系统添加config.xml 新配置的设置
- Android 11.0 12.0关机界面全屏显示(UI全屏显示)
- Android 8.0和10.0 代码拨打电话的方法
- Android file 文件重命名删除详解
- Android 9.0 10.0 去掉开机提示 android is starting 的对话框
- android使用AsyncHttpClient发送请求
- 【Android Gradle 插件】将自定义 Gradle 插件上传到自建 Maven 仓库 ④ ( 默认生成的 pom 文件 | Maven 中的 pom 配置 | 自定义 pom 文件节点 )
- 【Android 逆向】arm 汇编 ( 使用 IDA 解析 arm 架构的动态库文件 | 分析 malloc 函数的 arm 汇编语言 )
- 【Android 安全】DEX 加密 ( 代理 Application 开发 | 加载 dex 文件 | 反射获取系统的 Element[] dexElements )
- Android 上实现非root的 Traceroute -- 非Root权限下移植可运行二进制文件 脚本文件
- android设置中的Preferencescreen使用方法介绍与分析
- Android培训班(66)dex文件打开流程
- Android Studio 下载ndk
- android 输入法如何启动流程_Android输入法显示流程
- android开发,开发环境(Android Studio)安装