1、读取本地JSON ,但是显示汉字乱码
public static String readLocalJson(Context context, String fileName){ String jsonString=""String resultString=""try { BufferedReader bufferedReader=new BufferedReader(new InputStreamReader( context.getResources().getAssets().open(fileName)))while ((jsonString=bufferedReader.readLine())!=null) { resultString+=jsonString} } catch (Exception e) { // TODO: handle exception } return resultString}
2、读取本地JSON,显示汉字正确,txt文件设置时UTF-8,UNIX
public static String readLocalJson(Context context, String fileName){ String jsonString=""String resultString=""try { InputStream inputStream=context.getResources().getAssets().open(fileName)byte[] buffer=new byte[inputStream.available()]inputStream.read(buffer)resultString=new String(buffer,"GB2312")} catch (Exception e) { // TODO: handle exception } return resultString}
有时候遇到要一些模拟数据的时候,要么写个List<T>,要么写死.
然后数据比较多的时候可以引用本地资源文件,记录下如何使用本地json文件
<1>在java同级目录下创建"assets"资源文件夹
<2>编辑json文本内容
至于json文件夹内容 就自定义了,想要什么内容写什么,对于一个做项目多了的开发者而言 json数据是熟悉到不能再熟悉的了
以下是我在淘宝一个个复制过来自己拼装的一些商品数据
不需要加任何标识,只需要标准的json数据格式就可以了
<3>引用和json解析的工具类,解析用的 Gson也是经常用到的
<4>最后在需要的地方引用,"ExchangeBean"是根据json内容写的一个模型,用于接收存放数据
有时间再补上demo,下面是效果图:
在 Android 应用开发中,建议将读取本地 JSON 数据放在其他线程中执行,以避免卡顿或 ANR 等问题,提高用户体验。在主线程中进行耗时 *** 作会导致应用响应变慢,因为主线程负责处理 UI 事件和更新 UI 界面,如果阻塞,就会导致应用无法响应用户 *** 作,出现 ANR(Application Not Responding)现象。
因此,可以将读取本地 JSON 数据的 *** 作放到 AsyncTask 异步任务中执行。也可以使用 Handler、Thread 或 RxJava 等方式进行异步 *** 作。这样可以保证应用能够快速响应用户 *** 作,提升用户体验。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)