当前位置:首页 » 文件管理 » volley缓存

volley缓存

发布时间: 2024-06-11 20:33:25

⑴ android开发框架有哪些

1、Rajawali
介绍:
安卓的OpenGL ES 2.0/3.0 引擎。可以用于制作普通应用或者动态壁纸,当然也可以用于制作游戏。
项目地址: https://github.com/Rajawali/Rajawali

2、RxAndroid
介绍:
RxAndroid是Rxjava的一个针对Android平台的扩展。它包含了一些能够简化Android开发的工具。
项目地址: https://github.com/ReactiveX/RxAndroid
3、Paginize
介绍:
Paginize 是一个轻量级的UI框架,使用注解来注入布局和view,除了使用注解之外,该框架还有两个特色:1.用Page的概念来取代Fragment,2.切换page时自带ios风格的动画效果。
项目地址: https://github.com/neevek/Paginize

4、otto
介绍:
Otto 是square公司出的一个事件库(pub/sub模式),用来简化应用程序组件之间的通讯。 Otto 修改自Google的Guava库,专门为Android平台进行了优化。
项目地址: https://github.com/square/otto

5 、rebound
介绍:
rebound是facebook的开源动画库。可以认为这个动画库是独立于android Framework之外的一种动画实现。
项目地址: https://github.com/facebook/rebound

6、KJFrameForAndroid
介绍:
KJFrameForAndroid 又叫KJLibrary,是一个帮助快速开发的框架。使用KJFrameForAndroid,你可以只用一行代码就完成http请求、网络图片加载、数据库数据保存或读取。
项目地址: https://github.com/kymjs/KJFrameForAndroid

7、xUtils
介绍:
xUtils
包含了很多实用的android工具。 xUtils
支持大文件上传,更全面的http请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响... xUitls
最低兼容android 2.2 (api level 8)
项目地址: https://github.com/wyouflf/xUtils

目前xUtils主要有四大模块:
DbUtils模块:
android中的orm框架,一行代码就可以进行增删改查;
支持事务,默认关闭;
可通过注解自定义表名,列名,外键,唯一性约束,NOT NULL约束,CHECK约束等(需要混淆的时候请注解表名和列名);
支持绑定外键,保存实体时外键关联实体自动保存或更新;
自动加载外键关联实体,支持延时加载;
支持链式表达查询,更直观的查询语义,参考下面的介绍或sample中的例子。
ViewUtils模块:
android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
新的事件绑定方式,使用混淆工具混淆后仍可正常工作;
目前支持常用的20种事件绑定,参见ViewCommonEventListener类和包com.lidroid.xutils.view.annotation.event。
HttpUtils模块:
支持同步,异步方式的请求;
支持大文件上传,上传大文件不会oom;
支持GET,POST,PUT,MOVE,COPY,DELETE,HEAD,OPTIONS,TRACE,CONNECT请求;
下载支持301/302重定向,支持设置是否根据Content-Disposition重命名下载的文件;
返回文本内容的请求(默认只启用了GET请求)支持缓存,可设置默认过期时间和针对当前请求的过期时间。
BitmapUtils模块:
加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;
支持加载网络图片和本地图片;
内存管理使用lru算法,更好的管理bitmap内存;
可配置线程加载线程数量,缓存大小,缓存路径,加载显示动画等...

8、butterknife-view
注入工具
介绍:
为了减少频繁的调用findViewById(R.id...),可以采用一些注入框架,可以简化自己的代码,让你更专注于实际的功能开发,butterknife就是这样的一个框架,他是jakewharton大神的作品,值得一试。
class ExampleActivity extends Activity {
@InjectView(R.id.title) TextView title;
@InjectView(R.id.subtitle) TextView subtitle;
@InjectView(R.id.footer) TextView footer;
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.simple_activity);
ButterKnife.inject(this);
// TODO Use "injected" views...
}
}

这是博客地址:
http://jakewharton.github.io/butterknife/
项目地址: https://github.com/JakeWharton/butterknife

9、cube-sdk
一淘推出的开发框架
介绍:
cube一个Android开发包, 可极大提高你的开发效率。主要提供了图片加载以及网络请求方面的api功能。
项目地址: https://github.com/etao-open-source/cube-sdk
他们的网站:http://cube-sdk.liaohuqiu.net/cn/

10、ASimpleCache
一个简单的缓存框架
介绍:
ASimpleCache
是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。
它可以缓存什么东西?普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和
byte数据。
项目地址: https://github.com/yangfuhai/ASimpleCache

11、androidannotations
介绍:
AndroidAnnotations是一个能够让你快速进行Android开发的开源框架,它能让你专注于真正重要的地方。
使代码更加精简,使项目更加容易维护,它的目标就是“Fast Android Development.Easy maintainance”。
通过一段时间的使用发现,相比原生的Android开发,确实能够让你少些很多代码
项目地址: https://github.com/excilys/androidannotations

12、Event Bus
解耦android模块
介绍:
当一个Android应用功能越来越多的时候,保证应用的各个部分之间高效的通信将变得越来越困难。如何优雅地解决这个问题?这时候,就需要使用到EventBus。
EventBus是GreenRobot出品的Android系统的一个Event
Bus类库,使用起来和之前我们所介绍的Square的Otto差不多,都是用来简化应用组件之间的通信。
项目地址: https://github.com/greenrobot/EventBus

13、BeeFramework_Android
介绍:
BeeFramework
Android版主要为Android初级开发人员提供一个基于MVC开发模式的APP DEMO,并提供一套APP内调试工具,包括
查看网络数据请求历史 Crash Log列表 真机WIFI环境下模拟2G\3G网络 查看APP性能(内存占用,CPU占用等)
项目地址: https://github.com/BeeFramework/BeeFramework_Android

14、afinal
介绍:
Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。
Afinal里面目前包含了四大组件:
FinalHttp:用于请求http数据,直接ajax方式请求,文件上传, 断点续传下载文件等
FinalBitmap:用于显示bitmap图片,而无需考虑线程并发和oom等问题。
FinalActivity:完全可以通过注解方式绑定控件和事件,无需编写代码。
FinalDb:android中sqlite的orm框架,一行代码搞定增删改查。

Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,我们可以通过注解的方式进行绑定ui和事件。通过finalBitmap,我们可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,我们一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,我们可以以ajax形式请求http数据。详情请通过以下网址查看。
项目地址: https://github.com/yangfuhai/afinal

15、Volley
介绍:
在这之前,我们在程序中需要和网络通信的时候,大体使用的东西莫过于AsyncTaskLoader,HttpURLConnection,AsyncTask,HTTPClient(Apache)等,今年的Google
I/O 2013上,Volley发布了。Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮。
项目地址: https://github.com/mcxiaoke/android-volley

⑵ 安卓sd卡中volley文件夹里的有几百个文件,可以删吗

Volley是一个Android系统中应用进行网络访问的网络库,就是说你的手机中有某个或者某些应用使用了Volley来访问网络,所以会有这个文件夹,里面的文件是一些缓存文件。你可以删除,不会有影响,但这些缓存文件在你进行网络访问的时候,可能会提升速度(比如你访问的某个资源跟缓存文件是一样的,那么就直接读取本地缓存了),所以并不建议你删除。

⑶ 安卓框架有哪些

问题一:Android常用的框架有哪些 Android开发中常用的框架:
1、Afinal
Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp。通过finalActivity,可以通过注解的方式进行绑定ui和事孝戚历件。通过finalBitmap,可以方便的加载bitmap图片,而无需考虑oom等问题。通过finalDB模块,一行代码就可以对android的sqlite数据库进行增删改查。通过FinalHttp模块,以ajax形式请求数据。
2、 xUtils
xUtils:可以说是Afinal的升级版。
xUtils 包含了很多实用的android工具。
xUtils 支持大文件上传,更全面的请求协议支持(10种谓词),拥有更加灵活的ORM,更多的事件注解支持且不受混淆影响。
xUitls 最低兼容android 2.2 (api level8)。
3、LoonAndroid
这是一个纯实现功能的框架,它的目标是节省代码量,降低耦合,让代码层次看起来更清晰。
4、 KJFrameForAndroid
是一个android的orm 和 ioc 框架。同时封装了android中的Bitmap与Http操作的框架,使其更加简单易用;
KJFrameForAndroid的设计思想是通过封装Android原生SDK中复杂的复杂操作而达到简化Android应用级开发,最终实现快速而又安全的开发APP。我们提倡用最少的代码,完成最多的操作,用最高的效率,完成最复杂的功能。
项目地址:github/kymjs/KJFrameForAndroid
5、 dhroid
dhroid 是基于android 平台, 极速开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能仔或强大、轻量级、易扩展.使你更快,更好的开发商业级别应用。
6、 SmartAndroid
SmartAndroid是一套给 Android开发者使用的应用程序开发框架和工具包。提供了一套丰富的标准库以及简单的接口和逻辑结构,其目的是使开发人员更快速地进行项目开发。使用 SmartAndroid可以减少代码的编写量,并将你的精力投入到项目的创造性开发上。
7、 andBase
ndbase是为Android开发者量身打造的一款开源类库产品
8、 AndroidAnnotations
完全的注解,使开发起来更加便利,程序员写的代码也更少。
9、 volley
Volley是Android平台上的网络通信库,能使网络通信更快,更简单,更健壮异步加载网络图片、网络数据,Google官方推荐。

问题二:安卓软件开发框架有哪些 安卓软件开发需要一定的Java基础,当然少不了Java环境的搭建,还有安卓SDK的环境搭建,接着你下个eclipse装个ADT插件,或者直接用Android studio就可以开发安卓应用了,具体的建议你找个开发教程

问题三:android有哪些实用框架?分别用来做什么? Android 目前还没有那样成熟的框架可以使用……
只能说有一些开源项目较好地解决了部分方面的问题,例如:
(1)EventBus:解决了模块之间消息传递解耦合的问题
(2)picasso:解决异步加载图片和缓存图片的问题
(3)dagger:一个依赖注入工具库
……
其他开巧搜源项目大多数解决了部分通用 UI 控件的问题,不过我看你的意思是架构级别的框架,而不是什么 UI 控件这类的小东西。

问题四:什么是android的框架开发 上图中的第二层Framework

问题五:常用的android开发框架有哪些 android bootstrap有试用过,但其实不用框架都能完成你想要的功能的话,真心没必要用。

问题六:Android的系统架构包括哪些部分 Android的系统架构和其操作系统一样,采用了分层的架构。Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层和linux内核层。
一、应用程序
Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。
二、应用程序框架
开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。同样,该应用程序重用机制也使用户可以方便的替换程序组件。
三、系统运行库
Android 包含一些C/C++库,这些库能被Android系统中不同的组件使用。它们通过 Android 应用程序框架为开发者提供服务。
四、Linux内核层
Android内核是基于Linux 内核的修改的内核版本,它提供了用于支持Android平台的设备驱动。

问题七:android快速开发框架有哪些 ThinkAndroid免费源、简易、遵循Apache二源协议发布Android发框架其发宗旨简单、快速进行Android应用程序发包含Android mvc、简易sqlite orm、ioc模块、封装Android clitent模块,具快速构建文件缓存功能需考虑缓存文件格式都非轻松实现缓存基于文件缓存模块实现图片缓存功能android加载图片候oom问题加载图片错位问题都轻易解决包括手机发经应用实用工具类志管理配置文件管理android载器模块中国络切换检测等等工具 目前ThinkAndroid主要模块: MVC模块:实现视图与模型离 ioc模块:androidioc模块完全注解式进行UI绑定、res资源读取、及象初始化 数据库模块:androidorm框架使用线程池sqlite进行操作 模块:通client进行封装数据请求支持异步及同步式加载 缓存模块:通简单配置及设计实现缓存缓存随意配置 图片缓存模块:imageview加载图片候需考虑图片加载程现oomandroid容器快速滑候现图片错位等现象 配置器模块:简易实现配配置操作目前配置文件支持Preference、Properties配置进行存取 志打印模块:较快轻易实现志打印支持志打印扩展目前支持sdcard写入本打印、及控制台打印 载器模块:简单实现线程载、台载、断点续传、载进行控制、始、暂停、删除等等 中国络状态检测模块:中国络状态改变中国络状态进行检

问题八:主流android开发框架有哪些 android开发框架github上有非常非常多,各种都是开源的,例如侧滑菜单,ImageLoading等等。

问题九:Android 有哪些着名的开源框架呢? 什么应用才对应什么所谓框架。你写个游戏用J2EE的框架试试。或者你写个搜索引擎用游戏引擎试试。没有哪个框架解决所有问题,如果那样,搞计算机也太简单了,框架拿来,随便改改就是一个软件。还是学点设计模式这些基本的有用。

问题十:Android软件框架结构自可分为哪些层? 开发一个程序,android的系统框架是层层相扣,不能分开的。
应用程序层:
这个层主要指的就是用java语言编写的运行在虚拟机上的程序,Google在最开始时就 在android系统中捆绑了一些核心的应用(核心应用的编写必须使用应用层序框架层的API框架),例如你android手机中SMS发送短消息的程序,通讯录等等。
应用程序框架层:
指的就是开发时所需要的API框架,开发人员是在遵守该框架的原则上,调用他们的,开发自己所需要的程序。
系统运行库层:
用于支持应用框架层的各个组件的。就是说当开发人员使用android应用框架层时,android系统会通过一些C/C++库来支持对我们使用的各个组件,使其能更好地为开发者服务。
linux核心层:
android的核心系统服务如安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于Linux2.6内核,Linux内核同时也作为硬件和软件栈之间的抽象层。
因此,你开发的程序是运行在应用程序层,开发中写代码调用的包,是基于应用框架层,而在应用框架中的各个组件是需要系统运行库的支持的,例如,你要登陆查看的信息就必须访问到SQLite数据库,SQLite就位于系统运行库,再有,你登入要输入信息,肯定需要键盘驱动的支持,而各种驱动是依赖Linux内核的。

⑷ HttpClient鍜孒ttpURLConnection镄勫尯鍒

鍒嗘瀽涓锛

鍦ㄧ爷绌禫olley妗嗘灦镄勬簮镰佷腑锛屽彂鐜板畠鍦℉TTP璇锋眰镄勪娇鐢ㄤ笂姣旇缉链夋剰镐濓纴鍦ˋndroid
2.3鍙娄互涓婄増链锛屼娇鐢ㄧ殑鏄疕ttpURLConnection锛岃屽湪Android
2.2鍙娄互涓嬬増链锛屼娇鐢ㄧ殑鏄疕ttpClient銆傛垜涔熸瘆杈冨ソ濂囱繖涔堜娇鐢ㄧ殑铡熷洜锛屼簬鏄涓挞棬镓惧埌浜嗕竴浣岹oogle镄勫伐绋嫔笀鍐欑殑涓绡囧崥瀹锛屾枃涓瀵
HttpURLConnection鍜孒ttpClient杩涜屼简瀵规瘆锛屼笅闱㈡垜灏辩粰澶у剁亩瑕佸湴缈昏疟涓涓嬨
铡熸枃鍦板潃锛http://android-developers.blogspot.com/2011/09/androids-http-clients.html

澶у氭暟镄𪞝ndroid搴旂敤绋嫔簭閮戒细浣跨敤HTTP鍗忚𨱒ュ彂阃佸拰鎺ユ敹缃戠粶鏁版嵁锛岃孉ndroid涓涓昏佹彁渚涗简涓ょ嶆柟寮忔潵杩涜孒TTP镎
浣滐纴HttpURLConnection鍜孒ttpClient銆傝繖涓ょ嶆柟寮忛兘鏀鎸丠TTPS鍗忚銆佷互娴佺殑褰㈠纺杩涜屼笂浼犲拰涓嬭浇銆侀厤缃瓒呮椂镞堕棿銆両Pv6銆
浠ュ强杩炴帴姹犵瓑锷熻兘銆

HttpClient:

DefaultHttpClient鍜屽畠镄勫厔寮烝ndroidHttpClient閮芥槸HttpClient鍏蜂綋镄勫疄鐜扮被锛屽畠浠閮芥嫢链変䌷澶氱殑API锛岃屼笖瀹炵幇姣旇缉绋冲畾锛宐ug鏁伴噺涔熷緢灏戙
浣嗗悓镞朵篃鐢变簬HttpClient镄𪞝PI鏁伴噺杩囧氾纴浣垮缑鎴戜滑寰堥毦鍦ㄤ笉镰村潖鍏煎规х殑𨱍呭喌涓嫔瑰畠杩涜屽崌绾у拰镓╁𪾢锛屾墍浠ョ洰鍓岮ndroid锲㈤槦鍦ㄦ彁鍗囧拰浼桦寲HttpClient鏂归溃镄勫伐浣沧佸害骞朵笉绉鏋併

HttpURLConnection:

HttpURLConnection鏄涓绉嶅氱敤阃斻佽交閲忔瀬镄凥TTP瀹㈡埛绔锛屼娇鐢ㄥ畠𨱒ヨ繘琛孒TTP镎崭綔鍙浠ラ傜敤浜庡ぇ澶氭暟镄勫簲鐢ㄧ▼搴忋傝槠铹禜ttpURLConnection镄𪞝PI鎻愪緵镄勬瘆杈幂亩鍗曪纴浣嗘槸钖屾椂杩欎篃浣垮缑鎴戜滑鍙浠ユ洿锷犲规槗鍦板幓浣跨敤鍜屾墿灞曞畠銆

涓嶈繃鍦ˋndroid 2.2鐗堟湰涔嫔墠锛孒ttpURLConnection涓鐩村瓨鍦ㄧ潃涓浜涗护浜哄帉鐑︾殑bug銆傛瘆濡傝村逛竴涓鍙璇荤殑InputStream璋幂敤close()鏂规硶镞讹纴灏辨湁鍙鑳戒细瀵艰嚧杩炴帴姹犲け鏁堜简銆傞偅涔堟垜浠阃氩父镄勮В鍐冲姙娉曞氨鏄鐩存帴绂佺敤鎺夎繛鎺ユ睁镄勫姛鑳斤细

[java] view plain

private void () {
// 杩欐槸涓涓2.2鐗堟湰涔嫔墠镄刡ug
if (Integer.parseInt(Build.VERSION.SDK) < Build.VERSION_CODES.FROYO) {
System.setProperty("http.keepAlive", "false");
}
}

閰岖疆浣犵殑Web链嶅姟鍣ㄦ潵鏀鎸佸瑰㈡埛绔镄勫搷搴旇繘琛屽帇缂╃殑锷熻兘锛屼粠钥屽彲浠ュ湪杩欎竴鏀硅繘涓婅幏鍙栧埌链澶х殑濂藉勚傚傛灉鍦ㄥ帇缂╁搷搴旂殑镞跺椤嚭鐜颁简闂棰桡纴杩欑瘒鏂囨。浼氩憡璇変綘濡备綍绂佺敤鎺夎繖涓锷熻兘銆

鏄濡傛灉钖锷ㄤ简鍝嶅簲铡嬬缉镄勫姛鑳斤纴HTTP鍝嶅簲澶撮噷镄凛ontent-Length灏变细浠h〃镌铡嬬缉钖庣殑闀垮害锛岃繖镞跺啀浣跨敤getContentLength()
鏂规硶𨱒ュ彇鍑鸿В铡嫔悗镄勬暟鎹灏辨槸阌栾镄勪简銆傛g‘镄勫仛娉曞簲璇ユ槸涓鐩磋皟鐢↖nputStream.read()鏂规硶𨱒ヨ诲彇鍝嶅簲鏁版嵁锛屼竴鐩村埌鍑虹幇-1涓烘銆

浠鍦ˋndroid 2.3鐗堟湰涓杩桦炲姞浜嗕竴浜汬TTPS鏂归溃镄勬敼杩涳纴鐜板湪HttpsURLConnection浼氢娇鐢⊿NI(Server Name
Indication)镄勬柟寮忚繘琛岃繛鎺ワ纴浣垮缑澶氢釜HTTPS涓绘満鍙浠ュ叡浜钖屼竴涓狪P鍦板潃銆傞櫎姝や箣澶栵纴杩桦炲姞浜嗕竴浜涘帇缂╁拰浼氲瘽镄勬満鍒躲傚傛灉杩炴帴澶辫触锛屽畠浼氲嚜
锷ㄥ幓灏濊瘯閲嶆柊杩涜岃繛鎺ャ傝繖浣垮缑HttpsURLConnection鍙浠ュ湪涓岖牬鍧忚佺増链鍏煎规х殑鍓嶆彁涓嬶纴镟村姞楂樻晥鍦拌繛鎺ユ渶鏂扮殑链嶅姟鍣ㄣ
鍦ˋndroid 4.0鐗堟湰涓锛屾垜浠鍙堟坊锷犱简涓浜涘搷搴旂殑缂揿瓨链哄埗銆傚綋缂揿瓨琚瀹夎呭悗(璋幂敤HttpResponseCache镄刬nstall()鏂规硶)锛屾墍链夌殑HTTP璇锋眰閮戒细婊¤冻浠ヤ笅涓夌嶆儏鍐碉细
镓链夌殑缂揿瓨鍝嶅簲閮界敱链鍦板瓨鍌ㄦ潵鎻愪緵銆傚洜涓烘病链夊繀瑕佸幓鍙戣捣浠诲姟镄勭绣缁滆繛鎺ヨ锋眰锛屾墍链夌殑鍝嶅簲閮藉彲浠ョ珛鍒昏幏鍙栧埌銆

𨱍呭喌钥屽畾镄勭紦瀛桦搷搴斿繀椤昏佹湁链嶅姟鍣ㄦ潵杩涜屾洿鏂版镆ャ傛瘆濡傝村㈡埛绔鍙戣捣浜嗕竴𨱒$被浼间簬 钬滃傛灉/foo.png杩椤紶锲剧墖鍙戠敓浜嗘敼鍙桡纴灏卞皢瀹冨彂阃佺粰鎴戋
杩欐牱镄勮锋眰锛屾湇锷″櫒闇瑕佸皢镟存柊钖庣殑鏁版嵁杩涜岃繑锲烇纴鎴栬呰繑锲炰竴涓304 Not
Modified鐘舵併傚傛灉璇锋眰镄勫唴瀹规病链夊彂鐢燂纴瀹㈡埛绔灏变笉浼氢笅杞戒换浣曟暟鎹銆
娌℃湁缂揿瓨镄勫搷搴旈兘鏄鐢辨湇锷″櫒鐩存帴鎻愪緵镄勚傝繖閮ㄥ垎鍝嶅簲浼氩湪绋嶅悗瀛桦偍鍒板搷搴旂紦瀛树腑銆

鐢变簬杩欎釜锷熻兘鏄鍦4.0涔嫔悗镄勭増链镓嶆湁镄勶纴阃氩父鎴戜滑灏卞彲浠ヤ娇鐢ㄥ弽灏勭殑鏂瑰纺𨱒ュ惎锷ㄥ搷搴旂紦瀛桦姛鑳姐备笅闱㈢殑绀轰緥浠g爜灞旷ず浜嗗备綍鍦ˋndroid 4.0鍙娄互钖庣殑鐗堟湰涓铡诲惎鐢ㄥ搷搴旂紦瀛樼殑锷熻兘锛屽悓镞惰缮涓崭细褰卞搷鍒颁箣鍓岖殑鐗堟湰锛

[java] view plain

private void enableHttpResponseCache() {
try {
long httpCacheSize = 10 * 1024 * 1024; // 10 MiB
File httpCacheDir = new File(getCacheDir(), "http");
Class.forName("android.net.http.HttpResponseCache")
.getMethod("install", File.class, long.class)
.invoke(null, httpCacheDir, httpCacheSize);
} catch (Exception httpResponseCacheNotAvailable) {
}
}

浣犱篃搴旇ュ悓镞堕厤缃涓涓嬩綘镄刉eb链嶅姟鍣锛屽湪HTTP鍝嶅簲涓婂姞鍏ョ紦瀛樼殑娑堟伅澶淬傚摢涓绉嶆墠鏄链濂界殑锛熷湪Android
2.2鐗堟湰涔嫔墠锛孒ttpClient𨰾ユ湁杈冨皯镄刡ug锛屽洜姝や娇鐢ㄥ畠鏄链濂界殑阃夋嫨銆

钥屽湪Android
2.3鐗堟湰鍙娄互钖庯纴HttpURLConnection鍒欐槸链浣崇殑阃夋嫨銆傚畠镄𪞝PI绠鍗曪纴浣撶Н杈冨皬锛屽洜钥岄潪甯搁傜敤浜峣ndroid椤圭洰銆傚帇缂╁拰缂揿瓨链哄埗鍙
浠ユ湁鏁埚湴鍑忓皯缃戠粶璁块梾镄勬祦閲忥纴鍦ㄦ彁鍗囬熷害鍜岀渷鐢垫柟闱涔熻捣鍒颁简杈冨ぇ镄勪綔鐢ㄣ傚逛簬鏂扮殑搴旂敤绋嫔簭搴旇ユ洿锷犲亸钖戜簬浣跨敤HttpURLConnection锛屽洜涓哄湪
浠ュ悗镄勫伐浣滃綋涓鎴戜滑涔熶细灏嗘洿澶氱殑镞堕棿鏀惧湪浼桦寲HttpURLConnection涓婇溃銆

鍒嗘瀽浜岋细

HTTP 鍗忚鍙鑳芥槸鐜板湪 Internet 涓娄娇鐢ㄥ缑链澶氥佹渶閲嶈佺殑鍗忚浜嗭纴瓒婃潵瓒婂氱殑 Java 搴旂敤绋嫔簭闇瑕佺洿鎺ラ氲繃 HTTP
鍗忚𨱒ヨ块梾缃戠粶璧勬簮銆傚湪 JDK 镄 java.net 鍖呬腑宸茬粡鎻愪緵浜呜块梾 HTTP 鍗忚镄勫熀链锷熻兘锛欻ttpURLConnection銆

HttpURLConnection鏄痡ava镄勬爣鍑嗙被锛孒ttpURLConnection缁ф圹镊猆RLConnection锛屽彲鐢ㄤ簬钖戞寚瀹氱绣绔椤彂阃丢ET璇锋眰銆丳OST璇锋眰銆傚畠鍦║RLConnection镄勫熀纭涓婃彁渚涗简濡备笅渚挎嵎镄勬柟娉曪细

int getResponseCode()锛氲幏鍙栨湇锷″櫒镄勫搷搴斾唬镰併
String getResponseMessage()锛氲幏鍙栨湇锷″櫒镄勫搷搴旀秷鎭銆
String getResponseMethod()锛氲幏鍙栧彂阃佽锋眰镄勬柟娉曘
void setRequestMethod(String method)锛氲剧疆鍙戦佽锋眰镄勬柟娉曘

鍦ㄤ竴鑸𨱍呭喌涓嬶纴濡傛灉鍙鏄闇瑕乄eb绔欑偣镄勬煇涓绠鍗曢〉闱㈡彁浜よ锋眰骞惰幏鍙栨湇锷″櫒鍝嶅簲锛孒ttpURLConnection瀹屽叏鍙浠ヨ儨浠汇备絾鍦ㄧ粷澶ч儴鍒嗘儏
鍐典笅锛学eb绔欑偣镄勭绣椤靛彲鑳芥病杩欎箞绠鍗曪纴杩欎簺椤甸溃骞朵笉鏄阃氲繃涓涓绠鍗旷殑URL灏卞彲璁块梾镄勶纴鍙鑳介渶瑕佺敤鎴风橱褰曡屼笖鍏锋湁鐩稿簲镄勬潈闄愭墠鍙璁块梾璇ラ〉闱銆傚湪杩欑嶆儏鍐
涓嬶纴灏遍渶瑕佹秹鍙奡ession銆丆ookie镄勫勭悊浜嗭纴濡傛灉镓撶畻浣跨敤HttpURLConnection𨱒ュ勭悊杩欎簺缁呜妭锛屽綋铹朵篃鏄鍙鑳藉疄鐜扮殑锛屽彧鏄澶勭悊璧
𨱒ラ毦搴﹀氨澶т简銆

涓轰简镟村ソ鍦板勭悊钖慦eb绔欑偣璇锋眰锛屽寘𨰾澶勭悊Session銆丆ookie绛夌粏鑺傞梾棰桡纴Apache寮婧愮粍缁囨彁渚涗简涓涓狧ttpClient椤圭洰锛岀湅瀹幂殑
钖岖О灏辩煡阆掳纴瀹冩槸涓涓绠鍗旷殑HTTP瀹㈡埛绔锛埚苟涓嶆槸娴忚埚櫒锛夛纴鍙浠ョ敤浜庡彂阃丠TTP璇锋眰锛屾帴鏀禜TTP鍝嶅簲銆备絾涓崭细缂揿瓨链嶅姟鍣ㄧ殑鍝嶅簲锛屼笉鑳芥墽琛孒TML椤
闱涓宓屽叆镄凧avascript浠g爜锛涗篃涓崭细瀵归〉闱㈠唴瀹硅繘琛屼换浣曡В鏋愩佸勭悊銆

绠鍗曟潵璇达纴HttpClient灏辨槸涓涓澧炲己鐗堢殑HttpURLConnection锛孒ttpURLConnection鍙浠ュ仛镄勪簨𨱍
HttpClient鍏ㄩ儴鍙浠ュ仛锛汬ttpURLConnection娌℃湁鎻愪緵镄勬湁浜涘姛鑳斤纴HttpClient涔熸彁渚涗简锛屼絾瀹冨彧鏄鍏虫敞浜庡备綍鍙戦佽锋眰銆
鎺ユ敹

鍝嶅簲锛屼互鍙婄$悊HTTP杩炴帴銆

浣跨敤HttpClient鍙戦佽锋眰銆佹帴鏀跺搷搴斿緢绠鍗曪纴鍙瑕佸备笅鍑犳ュ嵆鍙銆

鍒涘缓HttpClient瀵硅薄銆
濡傛灉闇瑕佸彂阃丢ET璇锋眰锛屽垱寤篐ttpGet瀵硅薄锛涘傛灉闇瑕佸彂阃丳OST璇锋眰锛屽垱寤篐ttpPost瀵硅薄銆
濡傛灉闇瑕佸彂阃佽锋眰鍙傛暟锛屽彲璋幂敤HttpGet銆丠ttpPost鍏卞悓镄剆etParams(HetpParams params)鏂规硶𨱒ユ坊锷犺锋眰鍙傛暟锛涘逛簬HttpPost瀵硅薄钥岃█锛屼篃鍙璋幂敤setEntity(HttpEntity entity)鏂规硶𨱒ヨ剧疆璇锋眰鍙傛暟銆
璋幂敤HttpClient瀵硅薄镄别xecute(HttpUriRequest request)鍙戦佽锋眰锛屾墽琛岃ユ柟娉曡繑锲炰竴涓狧ttpResponse銆

鐢℉ttpResponse镄刧etAllHeaders()銆乬etHeaders(String
name)绛夋柟娉曞彲銮峰彇链嶅姟鍣ㄧ殑鍝嶅簲澶达绂璋幂敤HttpResponse镄刧etEntity()鏂规硶鍙銮峰彇HttpEntity瀵硅薄锛岃ュ硅薄鍖呰呬简链嶅姟鍣
镄勫搷搴斿唴瀹广傜▼搴忓彲阃氲繃璇ュ硅薄銮峰彇链嶅姟鍣ㄧ殑鍝嶅簲鍐呭广

鍙﹀栵纴Android宸茬粡鎴愬姛鍦伴泦鎴愪简HttpClient锛岃繖镒忓懗镌寮鍙戜汉锻桦彲浠ョ洿鎺ュ湪Android搴旂敤涓浣跨敤Httpclient𨱒ヨ块梾鎻愪氦璇锋眰銆佹帴鏀跺搷搴斻

姣斿备竴涓狝ndroid搴旂敤闇瑕佸悜鎸囧畾椤甸溃鍙戦佽锋眰锛屼絾璇ラ〉闱㈠苟涓嶆槸涓涓绠鍗旷殑椤甸溃锛屽彧链夊綋鐢ㄦ埛宸茬粡锏诲綍锛岃屼笖锏诲綍鐢ㄦ埛镄勭敤鎴峰悕链夋晥镞舵墠鍙璁块梾璇ラ〉闱銆傚傛灉浣跨敤HttpURLConnection𨱒ヨ块梾杩欎釜琚淇濇姢镄勯〉闱锛岄偅涔堥渶瑕佸勭悊镄勭粏鑺傚氨澶澶嶆潅浜嗐

鍏跺疄璁块梾Web搴旂敤涓琚淇濇姢镄勯〉闱锛屼娇鐢ㄦ祻瑙埚櫒鍒椤崄鍒嗙亩鍗曪纴鐢ㄦ埛阃氲繃绯荤粺鎻愪緵镄勭橱褰曢〉闱㈢橱褰旷郴缁燂纴娴忚埚櫒浼氲礋璐g淮鎶や笌链嶅姟鍣ㄤ箣闂寸殑Sesion锛屽傛灉鐢ㄦ埛锏诲綍镄勭敤鎴峰悕銆佸瘑镰佺﹀悎瑕佹眰锛屽氨鍙浠ヨ块梾琚淇濇姢璧勬簮浜嗐

鍦ˋndroid搴旂敤绋嫔簭涓锛屽垯鍙浣跨敤HttpClient𨱒ョ橱褰旷郴缁燂纴鍙瑕佸簲鐢ㄧ▼搴忎娇鐢ㄥ悓涓涓狧ttpClient鍙戦佽锋眰锛孒ttpClient浼
镊锷ㄧ淮鎶や笌链嶅姟鍣ㄤ箣闂寸殑Session鐘舵侊纴涔熷氨鏄璇寸▼搴忕涓娆′娇鐢℉ttpClient锏诲綍绯荤粺钖庯纴鎺ヤ笅𨱒ヤ娇鐢℉ttpClient鍗冲彲璁块梾琚淇濇姢椤佃
浜嗐

⑸ 用过哪些好用的Android开源项目呢

1. 网络库:
目前最顺手的是OkHttp,其中的Okio模块现在也抽象成单独的开源库了,对Java io/nio做了很好的封装,性能非常高。
另外我个人不推荐Volley这个网络库,它的请求队列和request/response封装确实还不错,但是NetworkImageView等图片加载部分是有不少bug的,包括最头痛的卡顿(是出在二三级缓存策略或者imageLoader里具体记不得了)。而且Volley的接口设计也让我用得很头痛。

2.图片加载库
个人推荐Picasso,不太推荐Google官方推荐的Glide。
二者接口非常相似,都用得很舒服,但是Glide对图片的缓存策略跟Picasso不同,从使用场景来看Picasso应该更合逻辑一些。
另外Fresco这个库本身对包size增加太多了。如果不是有各种gif动画播放或者海量高清图片展示的话,感觉用不到。

3.数据库
目前看过效率最高的是GreenDao,不比直接使用sql语句执行慢,而且接口设计也很干净。研究过GreenDao的源码,深感我自己写也写不出更快的实现了。

作者:Van Bruce

⑹ 有哪些 Android 的开源界面库

比较火爆的Android开源库有以下:
1、volley
主要有以下模块:

(1) JSON,图像等的异步下载;
(2) 网络请求的排序(scheling)
(3) 网络请求的优先级处理
(4) 缓存
(5) 多级别取消请求
(6) 和Activity和生命周期的联动(Activity结束时同时取消所有网络请求)2、android-async-http
主要有以下模块:
(1) 在匿名回调中处理请求结果
(2) 在UI线程外进行

(3) 文件断点上传
(4) 智能重试
(5) 默认gzip压缩
(6) 支持解析成Json格式
(7) 可将Cookies持久化到SharedPreferences 3、Afinal框架
主要有四大模块:
(1) 数据库模块:android中的
,使用了线程池对sqlite进行操作。
(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。
(3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传文件功能。
(4) 图片缓存模块:通过FinalBitmap,imageview加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。4、xUtils框架
主要有四大模块:
(1) 数据库模块:android中的
,一行代码就可以进行增删改查;
(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI,资源和事件绑定;
(3) 网络模块:支持同步,异步方式的请求;
(4) 图片缓存模块:加载bitmap的时候无需考虑bitmap加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象;5、ThinkAndroid主要有以下模块:(1) MVC模块:实现视图与模型的分离。
(2) ioc模块:android中的ioc模块,完全注解方式就可以进行UI绑定、res中的资源的读取、以及对象的初始化。
(3) 数据库模块:android中的
,使用了线程池对sqlite进行操作。
(4) http模块:通过httpclient进行封装http数据请求,支持异步及同步方式加载。
(5) 缓存模块:通过简单的配置及设计可以很好的实现缓存,对缓存可以随意的配置
(6) 图片缓存模块:imageview加载图片的时候无需考虑图片加载过程中出现的oom和android容器快速滑动时候出现的图片错位等现象。
(7) 配置器模块:可以对简易的实现配对配置的操作,目前配置文件可以支持Preference、Properties对配置进行存取。
(8) 日志打印模块:可以较快的轻易的是实现日志打印,支持日志打印的扩展,目前支持对sdcard写入本地打印、以及控制台打印
(9) 下载器模块:可以简单的实现
、后台下载、
、对下载进行控制、如开始、暂停、删除等等。
(10) 网络状态检测模块:当网络状态改变时,对其进行检6、LoonAndroid 主要有以下模块:
(1) 自动注入框架(只需要继承框架内的application既可)
(2) 图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)
(3) 网络请求模块(继承了基本上现在所有的

(4) eventbus(集成一个开源的框架)
(5) 验证框架(集成开源框架)
(6) json解析(支持解析成集合或者对象)
(7) 数据库(不知道是哪位写的 忘记了)
(8) 多线程断点下载(自动判断是否支持多线程,判断是否是重定向)
(9) 自动更新模块
(10) 一系列工具类

⑺ android开发一般都使用什么框架

目前框架使用的主要都是开源框架,都可以在github上找到:
1、volley
2、android-async-http
3、Afinal框架
4、xUtils框架
5、ThinkAndroid
6、LoonAndroid
主要有以下模块:
(1) 自动注入框架(只需要继承框架内的application既可)
(2)
图片加载框架(多重缓存,自动回收,最大限度保证内存的安全性)
(3) 网络请求模块(继承了基本上现在所有的http请求)
(4)
eventbus(集成一个开源的框架)
(5) 验证框架(集成开源框架)
(6) json解析(支持解析成集合或者对象)

(7) 数据库(不知道是哪位写的 忘记了)
(8) 多线程断点下载(自动判断是否支持多线程,判断是否是重定向)
(9)
自动更新模块
(10) 一系列工具类

热点内容
linux下ntp服务器搭建 发布:2024-09-08 08:26:46 浏览:742
db2新建数据库 发布:2024-09-08 08:10:19 浏览:171
频率计源码 发布:2024-09-08 07:40:26 浏览:778
奥迪a6哪个配置带后排加热 发布:2024-09-08 07:06:32 浏览:101
linux修改apache端口 发布:2024-09-08 07:05:49 浏览:208
有多少个不同的密码子 发布:2024-09-08 07:00:46 浏览:566
linux搭建mysql服务器配置 发布:2024-09-08 06:50:02 浏览:995
加上www不能访问 发布:2024-09-08 06:39:52 浏览:811
银行支付密码器怎么用 发布:2024-09-08 06:39:52 浏览:513
苹果手机清理浏览器缓存怎么清理缓存 发布:2024-09-08 06:31:32 浏览:554