斗筲之人网

Android Studio第12课关于databinding

Android Studio第12课关于databinding


📋 作者介绍:友友们好我是课关乱披风锤,大二学生党一枚
💖作者主页:乱披风锤的课关个人博客主页.乱披风锤
🔥我和友友们一样喜欢编辑,天天敲代码,课关沉迷学习,课关日渐消瘦。课关很荣幸能向大家分享我的课关所学,和大家一起进步。课关如果文章有错误,课关欢迎在评论区指正。课关那么开始今天的课关学习吧!
🎉 支持我:点赞👍+收藏⭐️+留言📝

Android Studio第12课关于databinding(学习打卡Day19)

  • 一、课关开启Databinding
  • 二、课关添加依赖
  • 三、课关打开网络权限
  • 四、课关生成databinding布局
  • 五、课关创建数据类
  • 六、在data变量中声明变量及类全名
  • 七、通过@{ }使用变量;(默认值无需加引号,且只在预览视图显示)
  • 八、databinding在recycleview中使用
  • 总结

一、开启Databinding

//在build.gradle中添加android {     compileSdk 32    dataBinding{         enabled=true    }

二、添加依赖

implementation("com.squareup.okhttp3:okhttp:4.9.3")    implementation 'com.squareup.retrofit2:retrofit:2.9.0'    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'    implementation 'com.squareup.okhttp3:logging-interceptor:4.9.3'    implementation 'com.github.bumptech.glide:glide:4.13.0'    annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0'

三、打开网络权限

在这里插入图片描述

四、生成databinding布局

光标在布局文件的根布局–>点击Alt + Enter–>点击 “Convert to data binding layout

五、创建数据类

package com.hnucm.databinding;import androidx.databinding.BaseObservable;public class Person extends BaseObservable {     public int age;    public String name;    public int getAge() {         return age;    }    public void setAge(int age) {         this.age = age;    }    public String getName() {         return name;    }    public void setName(String name) {         this.name = name;        notifyChange();    }}

六、在data变量中声明变量及类全名

七、通过@{ }使用变量;(默认值无需加引号,且只在预览视图显示)

八、databinding在recycleview中使用

ActivityMainBinding activityMainBinding;    public Listchatlist = new ArrayList<>();    MyAdapter myAdapter;    @Override    protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);        activityMainBinding = DataBindingUtil.setContentView(this,R.layout.activity_main);        Api api = RetrofitUtils.getRetrofit("http://121.4.44.56/").create(Api.class);        CallchatItemCall = api.getChatList();        chatItemCall.enqueue(new Callback() {             @Override            public void onResponse(Callcall, Responseresponse) {                 ChatItem chatItem = response.body();                chatlist.addAll(chatItem.chatlist);                myAdapter.notifyDataSetChanged();            }            @Override            public void onFailure(Callcall, Throwable t) {             }        });        myAdapter = new MyAdapter();        activityMainBinding.recyclerView.setAdapter(myAdapter);        activityMainBinding.recyclerView.setLayoutManager(new LinearLayoutManager(this));    }    public class MyAdapter extends RecyclerView.Adapter{         @NonNull        @Override        public MyViewHodler onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {             ChatItemBinding chatItemBinding = DataBindingUtil.                    inflate(LayoutInflater.from(MainActivity.this),R.layout.chat_item,parent,false);            MyViewHodler myViewHodler = new MyViewHodler(chatItemBinding.getRoot());            myViewHodler.chatItemBinding = chatItemBinding;            return myViewHodler;        }        @Override        public void onBindViewHolder(@NonNull MyViewHodler holder, int position) {             holder.chatItemBinding.setItemlist(chatlist.get(position));        }        @Override        public int getItemCount() {             return chatlist.size();        }    }    public class MyViewHodler extends RecyclerView.ViewHolder{        public  ChatItemBinding chatItemBinding;        public MyViewHodler(@NonNull View itemView) {             super(itemView);        }    }}

在这里插入图片描述


总结

好了,那么今天的学习就到这里了。友友们觉得不错的可以给个关注,点赞或者收藏哦!感谢各位友友们的支持。以下的代码希望各位大佬们自行检验哦,毕竟亲手操作让记忆更加深刻。

未经允许不得转载:斗筲之人网 » Android Studio第12课关于databinding