关于Android的assets资源使用,以及网络间的数据传递JSON格式处理

本文介绍了Android中assets资源的使用,包括如何通过AssetManager打开文件,处理文本和图片资源。同时,讨论了JSON数据的解析,如使用JSONArray和JSONObject进行键值对操作。此外,还提及了Volley库在网络请求中的应用,以及Android中Context的作用和可能导致内存泄露的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

   最近几天要处理关于assets的资源,asset的资源和res中的资源并不一样,不能通过id来获取,这里简要回忆一下 关于assets 的资源使用:

  ① AssertManager a = getAsserts();

  ② InputStream is = a.open(filename); 通过输入流来处理相关的操作,对于文本类的操作,BufferedReader b = new BufferedReader(InputStream);包装一下 便于处理,通过readline 可以读取相关文件,可以遍历之后读取完。

对于图片类的资源,可以通过 将Bitmap b = BitmapFactory.decodeStream(inputStream)来恢复到图片。

对于图片可以调用setBitmapResource来设定资源。

  关于JSON数据的处理:首先要明白JSON文件就是简单的键值对数据,JOSN文件的数组通过[{},{},{}]的方式来规定,简单的JSON对象就是通过{}包括起来,在android中提供了很好的JSON类解析的方法。

  JSONArray  可以获取 一个JSON的数组,然后通过optOBject 来获取单个的JSON对象,在通过key-values的方式来获取每个JOSN对象中的数值。 总的来说,用起来还是很舒服。


除此之外,再顺便记录下关于volley的使用,这个是安卓的原生的关于网络的使用,但是并不涉及大规模的下载,这个volley的好处就是  自动提供多线程的处理方式,其中有一个五个线程的线程池,还有一个可以容纳十个任务的队列。对于基本的网络加载时很合适的东西。

关于context的了解,这就是资源访问的入口,application和activty的context区别在于生命周期的不同,如果混乱的使用context很容易引起内存泄露的问题。

关于内容泄露的几种情况:1.比如新建一个textView但是关联了application的context,比如说发生了屏幕的旋转,activity应该被销毁重绘,由于这个textView持有application的引用,导致这个activity不能是释放,发生内容泄露;

2.由于新建线程引起的内存泄漏问题。  比如说activity别销毁,但是由于线程的执行问题需要过会(线程执行完)才能被释放。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值