在开发中或多或少会用到开源库,用开源库的好出是,简化自己的代码,提升程序的稳定性(毕竟开源库已经经过很长时间的检验了)。下面就来总结一下android 开发中常用到的开源库
android端图片处理的神器 官网:http://square.github.io/picasso/
集成的方法 gradle 集成 implementation 'com.squareup.picasso:picasso:2.5.2'
具体的用法:
1) Picasso.get().load(url).into(view); 可以继续加连缀
2)Picasso.get()
.load(url)
.resize(50, 50)
.centerCrop()
.into(imageView)
3) Picasso.get().load(R.drawable.landing_screen).into(imageView1);
Picasso.get().load("file:///android_asset/DvpvklR.png").into(imageView2);
Picasso.get().load(new File(...)).into(imageView3);
跟Picsso有很大的类似
集成的方法 gradle 集成 implementation 'com.github.bumptech.glide:glide:3.7.0'
基本的使用方法和Picsso很类似,但是Glide在加载gif图和缓存机制上还是明显优于Picsso的,Glide的方法要多于Picsso。
集成的方法: gradle 集成 implementation ‘de.hdodenhof:circleimageview:2.1.0’
基本的使用:
xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center"> android:id="@+id/circleImageView" android:layout_width="150dp" android:layout_height="150dp" android:src="@mipmap/psb" app:civ_border_color="@android:color/holo_red_dark" app:civ_border_width="5dp" /> 集成方法:gradle 集成: implementation 'com.youth.banner:banner:1.4.10' 基本的使用: 布局: 后台代码: private void setBanner() { } 官网地址:http://square.github.io/okhttp/ 为高效而生 集成方法 dradle 集成 implement ‘ com.squareup.okhttp3:okhttp:3.2.0’ 我们在一般的项目中应用的时候,编写一个网络类,用的时候调用该类的静态方法就可以了, public class HttpUtil { public static void sendOKHttpRequest(String adress, okhttp3.Callback callback){ OkHttpClient okHttpClient=new OkHttpClient(); Request request=new Request.Builder() .url( adress ) .build(); okHttpClient.newCall( request ).enqueue( callback ); } } 传入url就可以请求到网络资源, HttpUtil.sendOKHttpRequest( "url", new okhttp3.Callback() { @Override public void onFailure(Call call, IOException e) { } @Override public void onResponse(Call call, Response response) throws IOException{ StringresponseData=response.body().string() } } ); 有关解析的 gradle集成方式 : implement ‘com.google.code.gson:gson:2.7’ 能将json字符串自动映射成一个对象, 基本的用法: Gson gson =new Gson(); List for (App app: applist){ } 官网地址:https://github.com/LitePalFramework/LitePal#latest-downloads LitePal是一款开源的Android数据库框架,采用对象关系映射(ORM)模式,将常用的数据库功能进行封装,可以不用写一行SQL语句就可以完成创建表、增删改查的操作。并且很轻量级,jar包不到100k,几乎零配置。 Gradle 集成 不再赘述,可自行搜索 1、强大的View绑定和Click事件处理功能,简化代码,提升开发效率 2、方便的处理Adapter里的ViewHolder绑定问题 3、运行时不会影响APP效率,使用配置方便 4、代码清晰,可读性强 基本的使用步骤 https://github.com/JakeWharton/butterknife 在gradle文件中加入如下代码 该框架的好处在于采用注解的方式省去了一些findviewByid的重复操作 @BindView(R2.id.button) //绑定button 控件 点击事件可以这样写 @OnClick(R2.id.button1 ) (4)banner 简单快速实现图片轮播
android:layout_width="match_parent"
android:layout_height="150dp"
android:layout_marginTop="5dp"
android:layout_marginRight="12dp"
android:layout_marginLeft="12dp"
/>
//设置图片集合
List
imgs.add(R.drawable.abc);
imgs.add(R.drawable.bcd);
imgs.add(R.drawable.efg);
List
titles.add("教育图片1");
titles.add("教育图片2");
titles.add("教育图片3");
banner.setImages(imgs)
.setBannerStyle( BannerConfig.CIRCLE_INDICATOR_TITLE)
.setBannerTitles( titles )
.setDelayTime(4000)
.setBannerAnimation( Transformer.Tablet)
.setImageLoader(new GlideImageLoader()).start();有关网络的开源库
(1)okhttp3
GSON
>(){}.getType());
有关数据库的
Litepal
ButterKnife的使用
dependencies {
implementation 'com.jakewharton:butterknife:9.0.0-rc1'
annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
}
public Button button ;
public void showToast(){
Toast.makeText(this, "is a click", Toast.LENGTH_SHORT).show();
}