android:layout_height=“match_parent”></android.support.v7.widget.RecyclerView>
item:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android=“http://schemas.android.com/apk/res/android”
android:layout_width=“match_parent”
android:layout_height=“wrap_content”>
<ImageView
android:id=“@+id/imageView”
android:layout_width=“0dp”
android:layout_height=“120dp”
android:layout_weight=“2” />
<TextView
android:id=“@+id/textView”
android:layout_width=“0dp”
android:layout_height=“120dp”
android:layout_weight=“3”
android:gravity=“center” />
之后写一个RecyclerView的适配器,用具加入图片和文字
public class RecyclerViewAdapter extends RecyclerView.Adapter<RecyclerViewAdapter.MyHolder> {
private Context context;
private List<JavaBean.DataBean> data;//数据源集合
//构造方法
public RecyclerViewAdapter(Context context, List<JavaBean.DataBean> data) {
this.context = context;
this.data = data;
}
@NonNull
@Override
public MyHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View inflate = LayoutInflater.from(context).inflate(R.layout.item, viewGroup, false);
return new MyHolder(inflate);
}
@Override
public void onBindViewHolder(@NonNull MyHolder myHolder, int i) {
Picasso.with(context).load(data.get(i).getPic()).into(myHolder.imageView);//加入图片
myHolder.textView.setText(data.get(i).getTitle());//加入名字
}
@Override
public int getItemCount() {
return data.size();//返回集合size
}
public class MyHolder extends RecyclerView.ViewHolder {
ImageView imageView;
TextView textView;
public MyHolder(@NonNull View itemView) {
super(itemView);
imageView = itemView.findViewById(R.id.imageView);
textView = itemView.findViewById(R.id.textView);
}
}
}
提供网络字符串:http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1
写出解析类JavaBean类,即解析类!
接下来是重点,如何通过Retrofit获取网络数据,看java代码
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(“https://1604a.com/data/”)//网络数据源,网址前半段
.addConverterFactory(GsonConverterFactory.create())//解析
.build();
创建接口,get请求方式,写入网址的后半段,即最后一个“/”之后的字符,像下面这么写
public interface MyInterface {
@GET(“ymdx.json”)
Call gerRequest();
}
接着使用这个接口
MyInterface myInterface = retrofit.create(MyInterface.class);
Call call = myInterface.gerRequest();
接下来写Call的一个方法enqueue,注释有详细标明
call.enqueue(new Callback() {
//成功
@Override
public void onResponse(Call call, Response response) {
//解析添加到创建的集合
arrayList = response.body().getData();
recyclerView.setLayoutManager(new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL));
recyclerView.setItemAnimator(new DefaultItemAnimator());//RecyclerView动画:默认动画
//使用适配器
recyclerView.setAdapter(new RecyclerViewAdapter(MainActivity.this,arrayList));
}
//失败
@Override
public void onFailure(Call call, Throwable t) {
Toast.makeText(MainActivity.this, “请求失败”, Toast.LENGTH_SHORT).show();
}
});
看一下完整的java代码
public class MainActivity extends AppCompatActivity {
private List<JavaBean.DataBean> arrayList;
private RecyclerView recyclerView;
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)
文末
不管怎么样,不论是什么样的大小面试,要想不被面试官虐的不要不要的,只有刷爆面试题题做好全面的准备,当然除了这个还需要在平时把自己的基础打扎实,这样不论面试官怎么样一个知识点里往死里凿,你也能应付如流啊
小编将自己6年以来的面试经验和学习笔记都整理成了一个**937页的PDF,**以及我学习进阶过程中看过的一些优质视频教程。
其实看到身边很多朋友抱怨自己的工资很低,包括笔者也是一样的,其原因是在面试过程中没有给面试官一个很好的答案。所以笔者会持续更新面试过程中遇到的问题,也希望大家和笔者一起进步,一起学习。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
*面试经验和学习笔记都整理成了一个937页的PDF,**以及我学习进阶过程中看过的一些优质视频教程。
[外链图片转存中…(img-0vr0sGca-1712417161989)]
其实看到身边很多朋友抱怨自己的工资很低,包括笔者也是一样的,其原因是在面试过程中没有给面试官一个很好的答案。所以笔者会持续更新面试过程中遇到的问题,也希望大家和笔者一起进步,一起学习。
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!