zoukankan      html  css  js  c++  java
  • day 5

    购买界面要实现商品的浏览,引入数据,然后展示出来,这里我用RecyclerView布局来实现

    学习和实现目标

    1> 如何使用RecyclerView,这是最基本的,引入这个控件需要做什么。
    2> 如何实现RecyclerView的点击事件,启动新的Acitivity,并且能够传导数据。
    3> 如何使用目前最流行的Glide,从网络加载图片。
    4> 如何自定义Toolbar(或者叫ActionBar),实现一些顶部导航栏的功能

    RecyclerView在屏幕上显示的各个条目,加载的是同一个,或者几个xml布局文件,只不过是往里面塞了不同的数据而已。

    RecyclerView每个条目中的各个控件(ImageView,TextView,Button......),是由一个叫ViewHolder的家伙把控的。这个ViewHolder需要咱们自己写,并且它需要继承自RecyclerView.ViewHolder。

    RecyclerView每个条目中的数据,是由一个叫Adapter的家伙适配的,并且它需要上面的ViewHolder的配合。这个Adapter也是需要咱们自己实现的类,并且它需要继承自RecyclerView.Adapter。

    有一个叫LayoutManager的家伙负责RecyclerView条目的显示方式,比如垂直显示,水平显示,还是卡片式显示等。

    这里我们首先把数据写死,后面在导入数据库的数据,定义商品类,建立一个存有数据的集合。因为慢慢的完善功能商品类的数据属性也会慢慢的增加。

    初期商品类的数据我先简单的只有商品名称,商品价格,商品店家地理位置,商品图片,商品社区展示图片

    package Home.Data;
    
    import java.util.List;
    
    public class Goods {
        private long id;
        private String imageUrl;
        private String price;
        private String name;
        private List<Image> imageUrs1;
        private String address;
    
    
        public Goods(long id,String imageUrl, String price, String name,String address, List<Image> imageUrs1) {
            this.imageUrl = imageUrl;
            this.price = price;
            this.name = name;
            this.address = address;
            this.imageUrs1=imageUrs1;
            this.id=id;
        }
        public Goods() {
    
        }
        public long getId() { return id; }
        public void setId(long id){this.id=id;}
        public String getImageUrl() { return imageUrl; }
        public void  setImageUrl(String imageUrl){this.imageUrl = imageUrl;}
        public String getPrice() { return price; }
        public void setPrice(String price){this.price = price;}
        public String getName() { return name; }
        public void setName(String name){this.name = name;}
        public String getAddress() { return address; }
        public void setAddress(String address){this.address = address;}
        public List<Image> getImageUrls() { return imageUrs1; }
    
    }

    建立一个数据源

    package Home.Data;
    
    import com.example.expressdelivery.R;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class GoodsFactory {
    
        private static String[] imageUrls = {
                "https://picb.zhimg.com/80/v2-ca5ab83c1c0f746da6faf7ce802383c8_720w.jpg",
                "https://pic1.zhimg.com/80/v2-6a63a1812b9682ba6c6cb18bccfeff4c_720w.jpg",
                "https://picb.zhimg.com/80/v2-4508a3a0b4ba9e4da7bb9cae8a3d7f7c_720w.jpg",
                "https://picb.zhimg.com/80/v2-da738ec1dc9fd81f5035cb34775c0485_720w.jpg",
                "https://picb.zhimg.com/80/v2-3c37f69f7282934bed7207b871a8ce28_720w.jpg",
                "https://picb.zhimg.com/80/v2-59a234421ec151b95ffcec8bf8f42611_720w.jpg",
                "https://picb.zhimg.com/80/v2-b22bfd40a6f4fa40e97c7b1d21d4d84a_720w.jpg",
                "https://pic1.zhimg.com/80/v2-2e87f46ea63aea7bc25432be17104bdc_720w.jpg",
                "https://pic4.zhimg.com/80/v2-0dbab36effd0131c5a96b283ad49d619_720w.jpg",
                "https://pic1.zhimg.com/80/v2-67484a5dce474b61a36071b93d27e9e6_720w.jpg"
        };
    
        private static String[] prices = {
                "599",
                "699",
                "1299",
                "299",
                "679",
                "879",
                "569",
                "389",
                "479",
                "999"
        };
    
        private static String[] names = {
                "Vans", "Nike Kyrie 6", "Nike Air Force", "Air Jordan 1",
                "Nike Zoom", "Converse", "Nike Air Forc", "李宁", "彪马", "Newblance"
        };
        private static String[] addresses = {
                "江西抚州乐安", "河北石家庄", "北京", "上海",
                "广东河源", "湖南长沙", "湖北武汉", "天津", "四川成都", "贵州绵阳"
        };
        private static long[] ids = {
                1001,1002,1003,1004,1005,1006,1007,1008,1009,1010
        };
        public static List<Goods> createMeizis(int num) {
    
            List<Goods> Goodes = new ArrayList<>();
            for (int i = 0; i < num; i++) {
                int a = i ;
                String url = imageUrls[a];
    
                String price = prices[a];
                String name = names[a];
                String address = addresses[a];
                long id=ids[a];
                Goodes.add(new Goods(id,url, price, name,address,ImagesFactory.createImages(num)));
            }
            return Goodes;
        }
    }

    后期导入数据就直接在数据源这个类里导入。

  • 相关阅读:
    9、Spring Boot 2.x 集成 Thymeleaf
    【专题】Spring Boot 2.x 面试题
    8、Spring Boot 2.x 服务器部署
    7、Spring Boot 2.x 集成 Redis
    6、Spring Boot 2.x 集成 MyBatis
    5、Spring Boot 2.x 启动原理解析
    4、Spring Boot 2.x 自动配置原理
    3、Spring Boot 2.x 核心技术
    2、Spring Boot 2.x 快速入门
    centOS下安装JDK1.8.60,glassfish4.1.1以及MySQL
  • 原文地址:https://www.cnblogs.com/chenaiiu/p/13455669.html
Copyright © 2011-2022 走看看