Android 购物车实现(思路+步骤+源码,android视频提取音频

2024-06-04 5955阅读

android:textSize=“20sp”

android:textStyle=“bold” />

item_store.xml

android:id=“@+id/rv_goods”

android:layout_width=“match_parent”

android:layout_height=“wrap_content” />

OK,布局这边就写完了。

三、配置项目


配置项目的依赖和网络使用情况,首先在AndroidManifest.xml中增加网络访问权限的配置

Android 购物车实现(思路+步骤+源码,android视频提取音频 第1张

然后修改一下styles.xml中的样式

Android 购物车实现(思路+步骤+源码,android视频提取音频 第2张

然后就是配置项目的依赖库了,首先在工程的build.gradle下配置

maven { url “https://jitpack.io” }

Android 购物车实现(思路+步骤+源码,android视频提取音频 第3张

然后在app下的build.gradle中配置。

//Gson解析

implementation ‘com.google.code.gson:gson:2.8.6’

//RecyclerView

implementation ‘androidx.recyclerview:recyclerview:1.1.0’

//RecyclerView的好搭档

implementation ‘com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.22’

//热门强大的图片加载器

implementation ‘com.github.bumptech.glide:glide:4.9.0’

annotationProcessor ‘com.github.bumptech.glide:compiler:4.9.0’

Android 购物车实现(思路+步骤+源码,android视频提取音频 第4张

配置好之后点击右上角的Sync Now进行同步依赖库。同步好之后进入第四步,渲染数据

四、渲染数据


列表的渲染自然是离不开适配器的,那么一个购物车里面可能有多个店铺,一个店铺有多个商品,那么就是两个列表,也需要两个适配器,店铺适配器和商品适配器。

首先是店铺适配器,在com.llw.cart下创建一个adapter包,包下新建一个StoreAdapter类,里面的代码如下:

package com.llw.cart.adapter;

import androidx.annotation.Nullable;

import androidx.recyclerview.widget.LinearLayoutManager;

import androidx.recyclerview.widget.RecyclerView;

import com.chad.library.adapter.base.BaseQuickAdapter;

import com.chad.library.adapter.base.BaseViewHolder;

import com.llw.cart.bean.CarResponse;

import com.llw.cart.R;

import java.util.List;

/**

  • 店铺适配器

  • @author llw

*/

public class StoreAdapter extends BaseQuickAdapter {

private RecyclerView rvGood;

public StoreAdapter(int layoutResId, @Nullable List data) {

super(layoutResId, data);

}

@Override

protected void convert(BaseViewHolder helper, CarResponse.OrderDataBean item) {

rvGood = helper.getView(R.id.rv_goods);

helper.setText(R.id.tv_store_name,item.getShopName());

final GoodsAdapter goodsAdapter = new GoodAdapter(R.layout.item_good,item.getCartlist());

rvGood.setLayoutManager(new LinearLayoutManager(mContext));

rvGood.setAdapter(goodAdapter);

}

}

然后是商品适配器,在新建一个GoodsAdapter类,里面的代码如下:

package com.llw.cart.adapter;

import android.widget.ImageView;

import androidx.annotation.Nullable;

import com.bumptech.glide.Glide;

import com.chad.library.adapter.base.BaseQuickAdapter;

import com.chad.library.adapter.base.BaseViewHolder;

import com.llw.cart.bean.CarResponse;

import com.llw.cart.R;

import java.util.List;

/**

  • 商品适配器

  • @author llw

*/

public class GoodsAdapter extends BaseQuickAdapter {

public GoodsAdapter(int layoutResId, @Nullable List data) {

super(layoutResId, data);

}

@Override

protected void convert(BaseViewHolder helper, CarResponse.OrderDataBean.CartlistBean item) {

helper.setText(R.id.tv_good_name, item.getProductName())

.setText(R.id.tv_good_color,item.getColor())

.setText(R.id.tv_good_size,item.getSize())

.setText(R.id.tv_goods_price,item.getPrice()+“”)

.setText(R.id.tv_goods_num,item.getCount()+“”);

ImageView goodImg = helper.getView(R.id.iv_goods);

Glide.with(mContext).load(item.getDefaultPic()).into(goodImg);

}

}

适配器都写好了,那么该去Activity中去显示数据了。

进入MainActivity,创建一些变量

public static final String TAG = “MainActivity”;

private RecyclerView rvStore;

private List mList = new ArrayList();

private StoreAdapter storeAdapter;

然后新建一个initView方法,在这里进行数据的解析,然后赋值,后面设置到适配器中。

/**

  • 初始化

*/

private void initView() {

//设置亮色状态栏模式 systemUiVisibility在Android11中弃用了,可以尝试一下。

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

rvStore = findViewById(R.id.rv_store);

CarResponse carResponse = new Gson().fromJson(Constant.CAR_JSON, CarResponse.class);

mList.addAll(carResponse.getOrderData());

storeAdapter = new StoreAdapter(R.layout.item_store, mList);

rvStore.setLayoutManager(new LinearLayoutManager(this));

rvStore.setAdapter(storeAdapter);

}

最后在onCreate方法中调用initView方法即可。

Android 购物车实现(思路+步骤+源码,android视频提取音频 第5张

然后可以运行了,效果如下:

Android 购物车实现(思路+步骤+源码,android视频提取音频 第6张

现在这个列表就展示出来了,简单的模拟了一下购物车,商品不多,点到为止。

五、功能实现


从上面的代码步骤中已经做好了准备工作,下面就要来


    免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

    目录[+]