Android基础知识常用框架的使用方法

 

  在开发中或多或少会用到开源库,用开源库的好出是,简化自己的代码,提升程序的稳定性(毕竟开源库已经经过很长时间的检验了)。下面就来总结一下android  开发中常用到的开源库

有关图片的框架:

(1)Picasso       (毕加索)

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);

 

(2)Glide  

(Glide滑行的意思,可以看出这个库的主旨就在于让图片加载变的流畅)

跟Picsso有很大的类似  

集成的方法  gradle 集成   implementation 'com.github.bumptech.glide:glide:3.7.0'

基本的使用方法和Picsso很类似,但是Glide在加载gif图和缓存机制上还是明显优于Picsso的,Glide的方法要多于Picsso。

(3)circleimageview  (轻易实现图片的圆形化,)

集成的方法: 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" /> 

 

 (4)banner 简单快速实现图片轮播

 

集成方法:gradle 集成: implementation 'com.youth.banner:banner:1.4.10'

基本的使用:

布局:

 

    android:id="@+id/Lunbotu"
    android:layout_width="match_parent"
    android:layout_height="150dp"
    android:layout_marginTop="5dp"
    android:layout_marginRight="12dp"
    android:layout_marginLeft="12dp"
    />

 

后台代码:

 

private void setBanner() {
    //设置图片集合
    List imgs = new ArrayList<>();
    imgs.add(R.drawable.abc);
    imgs.add(R.drawable.bcd);
    imgs.add(R.drawable.efg);
    List titles = new ArrayList<>();
    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  

官网地址: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()         

           }

       } );

 有关解析的

GSON    

gradle集成方式 : implement ‘com.google.code.gson:gson:2.7’

能将json字符串自动映射成一个对象,

基本的用法:

Gson gson =new Gson();

List applist =gson.fromJson(jsonData,newTypeToken>(){}.getType());

for (App app: applist){ 

}

有关数据库的

Litepal 

官网地址:https://github.com/LitePalFramework/LitePal#latest-downloads

LitePal是一款开源的Android数据库框架,采用对象关系映射(ORM)模式,将常用的数据库功能进行封装,可以不用写一行SQL语句就可以完成创建表、增删改查的操作。并且很轻量级,jar包不到100k,几乎零配置。

Gradle 集成 不再赘述,可自行搜索

ButterKnife的使用

1、强大的View绑定和Click事件处理功能,简化代码,提升开发效率

2、方便的处理Adapter里的ViewHolder绑定问题

3、运行时不会影响APP效率,使用配置方便

4、代码清晰,可读性强

基本的使用步骤

https://github.com/JakeWharton/butterknife

在gradle文件中加入如下代码

dependencies {
  implementation 'com.jakewharton:butterknife:9.0.0-rc1'
  annotationProcessor 'com.jakewharton:butterknife-compiler:9.0.0-rc1'
}

该框架的好处在于采用注解的方式省去了一些findviewByid的重复操作

 @BindView(R2.id.button) //绑定button 控件  
    public Button button ; 

点击事件可以这样写

@OnClick(R2.id.button1 )    
   
 public void showToast(){  
     
   Toast.makeText(this, "is a click", Toast.LENGTH_SHORT).show(); 
 
    }

你可能感兴趣的:(Android学习总结)