高仿各大商城首页---使用分类型的RecyclerView来实现

本文介绍如何创建一个高仿商城首页,利用分类型的RecyclerView实现不同内容的展示。首先,添加必要的依赖,然后在布局中设置RecyclerView并初始化。通过OkHttpUtils获取网络数据,FastJson解析JSON。接着,定义Adapter,包括构造器、getItemCount()、getItemType()方法,以及针对四种类型的适配器实现。特别地,展示了如何处理黑色星期五的轮播图部分。源代码已上传供参考。
摘要由CSDN通过智能技术生成

上一篇我们做了一个高仿各大商城的引导页,那今天让我继续。


正所谓,一入商城深似海~

商城类的App,确实是有许多东西值得学习,但是只要略微斟酌一下,你又会发现,它们之间存在着许多不谋而合的相似,也就是所谓的雷同~既然如此,让我们也来接下地气,先从一个简单的首页做起吧~


实现的效果如下图:





准备

①build.gradle文件需要添加的依赖:

  compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.android.support:recyclerview-v7:25.0.1'
    compile 'com.zhy:okhttputils:2.6.2'
    compile 'com.alibaba:fastjson:1.2.21'
    compile 'com.youth.banner:banner:1.4.4'
    compile 'com.github.bumptech.glide:glide:3.7.0'

②相关的联网权限不要忘了!


现在正式开始吧

1.大布局就是一个简单的RecyclerView:

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rv_home"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/titlebar" />
    

2.接着我们就要实例化RecyclerView,并设置适配器了。

但是在设置适配器之前我们要先准备好数据,这里我们使用okhttputils进行联网请求数据,并使用fastJson进行解析:

(注:bean类WomenBean直接使用GsonFormat生成)

 /**
     * 使用okhttpUtils进行联网请求数据
     */
    private void getDataFromNet() {
        String url = "http://api.funwear.com/mbfun_server/index.php?m=Home&a=getAppLayoutV2&page=home&cid=2&deviceCode=00000000-6469-5d7a-ffff-ffff99d603a9&osCode=android&osVersion=19&deviceId=00000000-6469-5d7a-ffff-ffff99d603a9&token=&source=android&version=v4.2.2&osName=HTC+M8t&appName=youfanguanfang";
        OkHttpUtils.
                get()
                .url(url)
                .build()
                .execute(new StringCallback() {
                    @Override
                    public void onError(okhttp3.Call call, Exception e, int id) {
                        Log.e("TAG", "联网失败" + e.getMessage());
                    }

                    @Override
                    public void onResponse(String response, int id) {
                        Log.e("TAG", "联网成功==" + response);

                        //联网成功后使用fastjson解析
                        processData(response);
                    }
                });
    }

// fastjson解析数据
    private void processData(String json) {
        JSONObject jsonObject = JSON.parseObject(json);

        String data = jsonObject.getString("data");
        JSONObject jsonData = JSON.parseObject(data);

        String module = jsonData.getString("module");
        List<WomenBean.WomenData.ModuleBean> moduleBeanList = parseAr
  • 9
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值