Android 读取app内json配置文件
16lz
2021-01-23
Android 读取app内json配置文件
1 Json配置文件放置于Android 项目assets 文件下
Android除了提供/res目录存放资源文件外,在/assets目录也会提供存放资源文件,在/assets目录下面不会在R.java里面自动生 成ID,所以读取assets目录下面的资源文件需要提供路径,我们可以通过AssetManager类来访问这些文件。
2 在Activity中定义文件名称
private final static String fileName = "mainlistitems.json";//创建Thread 读取文件class DataThread extends Thread {@Overridepublic void run() {String jsonStr = AppJsonFileReader.getJson(getBaseContext(),fileName);data = AppJsonFileReader.setListData(jsonStr);dataHandler.sendMessage(dataHandler.obtainMessage());}}
3 AppJsonFileReader 类使用 AssetManager 读取文件如下,读取文本并解析存入Map中
package com.jason.listviewoverview.util;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import android.content.Context;import android.content.res.AssetManager;public class AppJsonFileReader {public static String getJson(Context context, String fileName) {StringBuilder stringBuilder = new StringBuilder();try {AssetManager assetManager = context.getAssets();BufferedReader bf = new BufferedReader(new InputStreamReader(assetManager.open(fileName)));String line;while ((line = bf.readLine()) != null) {stringBuilder.append(line);}} catch (IOException e) {e.printStackTrace();}return stringBuilder.toString();}public static List
4 code 见
https://github.com/jingshauizh/androidsummary/tree/master/ListViewOverView
更多相关文章
- Android Studio 学习笔记(一)环境搭建、文件目录等相关说明
- Android context 文件模式
- android在build中配置资源路径的方式
- 【android】android 开发错误点滴积累5月--Asset资源管理
- Android APK包文件解析
- Android Project from Existing Code 生成 R 文件错误、失败等问