OkHttpUtils框架
studio依赖compile 'com.zhy:okhttputils:2.6.2'
OkHttpUtils.get().url(url).build().execute(new StringCallback() { @Override public void onError(Call call, Exception e, int id) { } @Override public void onResponse(String response, int id) { } });这里的response即为获取到的String类型,Call类型有多种,这里是get方法,可以换成post
Xutils3框架
studio依赖compile 'org.xutils:xutils:3.3.40'
public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); x.Ext.init(this); } }
联网获取数据
//Xutils3联网获取数据 RequestParams param = new RequestParams(url); param.setSaveFilePath(Environment.getExternalStorageDirectory()+"/abc/abc.apk");//下载文件存储位置 x.http().get(param, new Callback.ProgressCallback<File>() { @Override public void onSuccess(File file) { Log.d("TAG",file.toString()); down(); } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } @Override public void onWaiting() { } @Override public void onStarted() { } @Override public void onLoading(long total, long current, boolean isDownloading) { pBar.setMax((int) total); pBar.setProgress((int) current);//progress更新进度 } });
另外xutils3自带注解等其他功能。
ImageLoader框架
自定义application
public class MyApplication extends Application{
public static ImageLoader imageLoader = ImageLoader.getInstance();
@Override
public void onCreate() {
super.onCreate();
//创建默认的ImageLoader配置参数
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.threadPriority(Thread.NORM_PRIORITY - 2)//线程优先级
.denyCacheImageMultipleSizesInMemory()
.discCacheFileNameGenerator(new Md5FileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.LIFO)
.build();
ImageLoader.getInstance().init(config);//全局配置初始化
}
}
public static ImageLoader imageLoader = ImageLoader.getInstance();
@Override
public void onCreate() {
super.onCreate();
//创建默认的ImageLoader配置参数
ImageLoaderConfiguration config = new ImageLoaderConfiguration.Builder(getApplicationContext())
.threadPriority(Thread.NORM_PRIORITY - 2)//线程优先级
.denyCacheImageMultipleSizesInMemory()
.discCacheFileNameGenerator(new Md5FileNameGenerator())
.tasksProcessingOrder(QueueProcessingType.LIFO)
.build();
ImageLoader.getInstance().init(config);//全局配置初始化
}
}
用法:
//初始化init配置,使用默认的配置参数
//ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(getApplicationContext()));
控件加载图片 ImageLoader.getInstance().displayImage(uri, imageView);
//ImageLoader.getInstance().init(ImageLoaderConfiguration.createDefault(getApplicationContext()));
控件加载图片 ImageLoader.getInstance().displayImage(uri, imageView);
优化:
private DisplayImageOptions options;
options = new DisplayImageOptions.Builder()
.showStubImage(R.drawable.ic_loading)//设置图片在下载期间显示的图片
.showImageForEmptyUri(R.drawable.ic_empty)//设置图片Uri为空或是错误的时候显示的图片
.showImageOnFail(R.drawable.ic_error)//设置图片加载/解码过程中错误时候显示的图片
.cacheInMemory()//设置下载的图片缓存在内存中
.cacheOnDisc()//设置下载的图片缓存在SD卡中
.displayer(new RoundedBitmapDisplayer(5))
.build();
.showStubImage(R.drawable.ic_loading)//设置图片在下载期间显示的图片
.showImageForEmptyUri(R.drawable.ic_empty)//设置图片Uri为空或是错误的时候显示的图片
.showImageOnFail(R.drawable.ic_error)//设置图片加载/解码过程中错误时候显示的图片
.cacheInMemory()//设置下载的图片缓存在内存中
.cacheOnDisc()//设置下载的图片缓存在SD卡中
.displayer(new RoundedBitmapDisplayer(5))
.build();
ImageLoader.getInstance().displayImage(uri, imageView,options);
ButterKnife框架
studio依赖
compile 'com.jakewharton:butterknife:8.5.1' compile 'com.jakewharton:butterknife-compiler:8.5.1'
下载ButterKnife插件,按快捷生成代码拿ID,设置监听
插件下载完成后快捷键是alt+insert,鼠标光标位置需要在布局代码上。
Gson框架
studio依赖compile 'com.google.code.gson:gson:2.8.0'
下载Gson插件可以一键生成实体类,下载完成后新建空的实体类,
按快捷键alt+s在将json数据粘进去,一键生成。
Gson解析json:
public class GsonParsing { public static List<HelpContent.DataBean> gsonData(String json){ Gson gson = new Gson(); HelpContent result = gson.fromJson(json,new TypeToken<HelpContent>(){}.getType()); return result.getData(); } }