首页 > 其他分享 >Android 移动应用开发---乡村民宿(2)Banner 轮播图,并实现跳转对应界面

Android 移动应用开发---乡村民宿(2)Banner 轮播图,并实现跳转对应界面

时间:2024-12-07 12:04:30浏览次数:9  
标签:插件 实体类 轮播 数据 民宿 跳转 new Banner

一,添加插件

1,去东软职业技能在线下载插件2,找到需要的插件,并导入到libs里,只需要在build.gradle里面刷新一下就行了刷新就是把第三个步骤先注释点击sync Now,再取消注释再点一下sync Now

这样就刷新成功了,我们就可以正常使用Banner插件了

一般常用的插件有这些

如果没有步骤三的那行代码可以看我第一篇文章,“导入插件”。

二,添加Banner组件(xml)

 <com.youth.banner.Banner
          android:layout_width="match_parent"
          android:layout_height="200dp"
          android:id="@+id/banner"
          />

三,创建数据实体类

在乡村民宿的API里找到轮播图的接口,再去postman里去拿到他的json数据,再转换成实体类

我们先创建一个java类,例如Banner_data,复制你请求到的json数据

Alt+s调出窗口把数据复制进JSON窗口里面去,点击ok

这样我们的实体类就自动创建好了。

四,编写Java代码

1,开启一个线程

//开启一个线程 
 new Thread(()->{
//数据请求
      }).start();

2,数据请求

在postman里点击右侧有已经写好的请求,我们可以复制下来并修改一下,提高效率,

复制到刚刚开启的线程里面

有这些红色报错不要慌,只需要把光标移到对应位置按Alt+回车选择improt class即可解决

然后把

Response response = client.newCall(request).execute();
,改为String string = client.newCall(request).execute().body().string();

然后会发现

execute()会有红色波浪线,我们把光标放到上面,Alt+回车,

然后用new Gson拿到实体类里的数据

然后开启一个主线程,找到banner组件的id,然后传参(图片中有注释),

如下图,然后会发现还是会报错,没关系,我们按住Alt+回车就解决了

3,把拿到的数据绑定到banenr组件中

   getActivity().runOnUiThread(()->{                /*       实体类     获取的实体类数据data      */
                    binding.banner.setAdapter(new BannerImageAdapter<Banner_data.DataDTO>(data) {
                        @Override
                        public void onBindView(BannerImageHolder bannerImageHolder, Banner_data.DataDTO dataDTO, int i, int i1) {
                            Glide.with(getActivity()).load("http://124.93.196.45:10091/prod-api"+dataDTO.getImage()).into(bannerImageHolder.imageView);
                        }
                    });
                });
            } catch (Exception e) {
                e.printStackTrace();
            }

with里要传入一个上下文,load里传入一个基础的URl,再加上json数据里传来的url,into里传入控件id

写完这里我们的Banner轮播图就写好了,已经可以正常运行了。

4,我们可以在轮播图中设置一个指示器,以便观看

注意我添加的位置,不要写错地方了哦

<iframe allowfullscreen="true" data-mediaembed="csdn" frameborder="0" id="0XewDG2g-1733542833175" src="https://live.csdn.net/v/embed/437550"></iframe>

Banner

这就是最终的轮播图效果

五,创建Activity,用来接收数据,实现跳转详情页面

1,例如我创建的BannerActivity

编写xml的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".Activity.BannerActivity">
    <RelativeLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/teal_200"

        >
        <ImageView
            android:id="@+id/return1"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/left"
            android:layout_centerVertical="true"
            />


        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="民宿列表"
            android:gravity="center"
            android:textSize="30dp"
            android:textStyle="bold"
            android:textColor="@color/white"
            />
    </RelativeLayout>
<ImageView
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:scaleType="centerCrop"
    android:id="@+id/iv"
    />

</LinearLayout>

用dataDTO.你想拿到的json数据,用一个变量保存,给banenr绑定一个点击事件,点击后再用Intent传输数据,并跳转页面。

intent.putExtra("img",image);

img是要接收的变量名,image是数据

new Intent里传入的是上下文

在创建的BannerActivity的java代码中接收数据

标签:插件,实体类,轮播,数据,民宿,跳转,new,Banner
From: https://blog.csdn.net/2402_84145660/article/details/144305706

相关文章

  • 【汇编语言】标志寄存器(三) —— 条件跳转,精准决策:汇编语言的比较与转移
    文章目录前言1.检测比较结果的条件转移指令1.1什么是条件转移指令?1.2两类条件转移指令2.根据无符号比较的条件转移指令2.1如何记忆?2.2如何实现比较转移的功能?2.3举例说明2.3.1例12.3.2例23.总结4.例题巩固4.1问题一4.1.1问题与思路4.1.2问题的分析与解......
  • 基于智能聊天+SpringBoot+Vue的民宿预定管理系统(毕业设计:选题+开题+程序设计+文档+PPT
    文章目录前言详细视频演示系统介绍后台管理技术框架后端采用SpringBoot框架前端框架Vue选题推荐(部分)成品项目展示(部分)系统测试系统测试的目的系统功能测试代码参考为什么选择我?获取源码前言......
  • 解决webstorm无法识别@等,无法ctrl跳转问题,vue项目配置
    1.1.配置webpack.config.js文件/*为了webstorm识别vite中设置的别名*/'usestrict'constpath=require('path')module.exports={context:path.resolve(__dirname,'./'),resolve:{extensions:['.js','.vue'......
  • PyQt信号槽实现页面的登录与跳转 #页面进一步优化
    将登录框中的取消按钮使用信号和槽的机制,关闭界面。将登录按钮使用信号和槽连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",密码是否为"123456",如果账号密码匹配成功,当前界面关闭,另一个界面展开。如果匹配失败,则输出登录失败,并将密码框和账号框中的内......
  • 微信小程序页面跳转方式详解
    微信小程序是一种轻量级的应用程序,可以在微信内部运行。为了实现页面之间的跳转,微信小程序提供了多种方式,包括声明式导航、编程式导航以及条件导航。本文将详细介绍这些页面跳转方式。1.声明式导航声明式导航是通过在WXML文件中使用<navigator>组件来实现页面跳转的......
  • a链接被点击后,在跳转之前的处理事件
    在HTML中,<a>标签通常用于创建链接,使用户能够点击并跳转到另一个页面或网址。如果你想在跳转前处理一些事件,你可以使用JavaScript来实现这一功能。以下是一个简单的示例,展示了如何在用户点击<a>链接并在页面跳转之前执行一些JavaScript代码:<!DOCTYPEhtml><htmllang="en">......
  • python毕设 基于JavaEE的民宿预订平台程序+论文
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、选题背景随着旅游业的蓬勃发展,民宿作为一种新兴的住宿方式在国内外都受到了广泛关注。关于民宿预订平台的研究,现有研究主要以大型酒店预订平台......
  • 【uniapp】轮播图
    前言Uniapp的swiper组件是一个滑块视图容器组件,可以在其中放置多个轮播图或滑动卡片。它是基于微信小程序的swiper组件进行封装,可以在不同的平台上使用,如微信小程序、H5、App等。效果图前端代码swiper组件<template><viewclass="banner-content"><swiperclass=......
  • 支持30+种类型幻灯片 | 轮播图 | 旋转木马的强大jQuery插件
    jssorslider是一款功能非常强大的可制作超过30种不同类型的幻灯片|轮播图|旋转木马的JQUERY插件。jssor具有高性能,轻量级,跨浏览器等特点,它可以支持IE6+的浏览器,并且可以支持移动触摸设备。它的特点还有:轻量级,压缩版本只有17KB大小。高性能,通过消耗很少的CPU来完成平滑过渡效果......
  • 用CSS实现一个轮播图
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>CSSCarousel</title>......