优秀的android第三方库推荐-新闻详情

优秀的android第三方库推荐


发布时间:2017-09-29责任编辑:朱明 浏览:972


Android开发过程中为了避免重复造轮子,一些功能可以借助成熟的第三方库来完成,以下是比较常用的第三方库:

 

1TwinklingRefreshLayout

项目地址:https://github.com/lcodecorex/TwinklingRefreshLayout

支持下拉刷新和上拉加载,仿谷歌SwipeRefreshLayout,可自定义下拉及上拉动画。

代码:

// 下拉刷新与上拉加载
twinklingRefreshLayout = (TwinklingRefreshLayout) view.findViewById(R.id.twinkling_refreshLayout);
twinklingRefreshLayout.setFloatRefresh(true);
twinklingRefreshLayout.startRefresh();

twinklingRefreshLayout.setOnRefreshListener(new RefreshListenerAdapter() {
   
@Override
   
public void onRefresh(TwinklingRefreshLayout refreshLayout) {
       
super.onRefresh(refreshLayout);

       
twinklingRefreshLayout.startRefresh();
       
page = 1;
        getData();
    }

   
@Override
   
public void onLoadMore(TwinklingRefreshLayout refreshLayout) {
       
super.onLoadMore(refreshLayout);
       
twinklingRefreshLayout.startLoadMore();
       
page += 1;
        getData();
    }

   
@Override
   
public void onFinishRefresh() {
       
super.onFinishRefresh();
    }

   
@Override
   
public void onFinishLoadMore() {
       
super.onFinishLoadMore();
    }
});
 
2:Sketch
项目地址:https://github.com/panpf/sketch
一款强大的手势缩放框架。
代码:
// 图片手势缩放
SketchImageView pic = (SketchImageView) findViewById(R.id.full_screen_pic);

DisplayOptions displayOptions =
new DisplayOptions();
displayOptions.setLoadingImage(R.mipmap.
error);
displayOptions.setErrorImage(R.mipmap.
error);
pic.setOptions(displayOptions);
pic.setZoomEnabled(
true);
pic.displayImage(getIntent().getStringExtra(
"url"));
 
3:Luban
项目地址:https://github.com/Curzibn/Luban
一款优秀的仿微信图片压缩工具。
代码:
Luban.with(ModifyInformationActivity.this).load(file).setCompressListener(new OnCompressListener() {
   
@Override
   
public void onStart() {
       
progressBar.setVisibility(View.VISIBLE);
    }

   
@Override
   
public void onSuccess(File data) {
       
try {
            File dir =
new File(MyApplication.PIC_PATH);
           
if(!dir.exists()){
                dir.mkdirs();
            }

           
if(data.exists()){
                Bitmap afterCompress = BitmapFactory.decodeFile(data.getAbsolutePath());
               
long time = System.currentTimeMillis();
                String res = MyApplication.
PIC_PATH + "/" + time + ".jpg";

                FileOutputStream out =
new FileOutputStream(res);
                afterCompress.compress(Bitmap.CompressFormat.
JPEG, 100, out);
                out.flush();
                out.close();

               
file = new File(res);
            }
else{
                System.
out.println("无法获取Bitmap图像");
            }
        }
catch (Exception e){
            e.printStackTrace();
        }
finally {
           
progressBar.setVisibility(View.GONE);
        }
    }

   
@Override
   
public void onError(Throwable e) {
        e.printStackTrace();
       
progressBar.setVisibility(View.GONE);
    }
}).launch();
 
4:Bugly
地址:https://bugly.qq.com/v2/
腾讯开发的用于查看异常上报和运营统计的工具。
代码:
compile 'com.tencent.bugly:crashreport:latest.release'
 
// 腾讯Bugly true为调试模式
CrashReport.initCrashReport(getApplicationContext(), "5e0063c2f2", false);
 
“5e0063c2f2”在Bugly官网注册应用后获得。


诚信工作室   供稿