四、狗狗大全应用实战

传送门

《一、Android Studio的安装和使用》
《二、Android界面开发》
《三、Android网络开发》
《四、狗狗大全应用实战》

视频教程

https://space.bilibili.com/249229063/channel/seriesdetail?sid=1930119

学习目标

综合前面学习内容,完成狗狗大全App,展示一个狗狗名字和图片的列表。效果如下:

WechatIMG16.jpeg

源代码地址:https://github.com/uncleleonfan/DogBook

狗狗大全接口

Android应用使用的网络数据一般是应用后台提供接口API获取,这里我们没有搭建服务器后台,而是使用apishop提供的开放API:https://www.apishop.net/#/api/detail/?productID=192
我们使用当中的狗狗列表的API:
截屏2021-12-19 下午9.45.00.png
注册apishop账号,会生成账号对应的apiKey,可在apishop的控制台查看你的API KEY,申请使用狗狗大全API之后,会有20次免费调用的机会。接口返回示例:

    {"statusCode":"000000","desc":"请求成功","result":{"petFamilyList":[{"petID":77,"name":"腊肠犬","engName":"Dachshund","price":"2000起","coverURL":"http://img.boqiicdn.com/Data/BK/P/img22101406708896.jpg"}],"totalCount":1}}

获取狗狗列表

我们修改MainActivity.java里面的sendRequest()方法,将url换成获取狗狗列表的API

String url = "https://api.apishop.net/common/dogFamily/queryDogList?apiKey=您的API KEY";

”您的API KEY“替换成您自己的apishop里面的API KEY。改写OKHttp的回调方法onResponse,解析狗狗列表数据,我们可以对照接口返回的示例进行解析。

截屏2021-12-19 下午10.03.43.png

通过成员变量mPetFamilyList来接收我们最终要获取的狗狗列表数据。
截屏2021-12-19 下午10.06.02.png

通知RecyclerView刷新列表

狗狗列表数据获取完成之后,需要刷新RecylerView的列表。首先我们把RecyclerView变成一个成员变量,这样就可以在onResponse方法中获取到RecyclerView对象。

截屏2021-12-19 下午10.08.07.png

由于onResponse是在OkHttp创建的子线程,我们要通知界面进行刷新的话,需要切换到主线程执行,这里需要用到runOnUiThread方法,调用之后,会在主线程执行run方法,通知RecyclerView的Adapter数据发生变化,需要重新绑定视图。

截屏2021-12-19 下午10.12.15.png

构建狗狗列表条目视图

之前我们是通过new控件对象的方式,创建RecyclerView列表条目的视图,但当条目视图比较复杂时,一般使用布局文件的方式构建视图。在app模块中的res/layout目录中创建条目布局文件dog_list_item.xml,使用布局LienarLayout来排列狗狗图片对应的ImageView和狗狗名字对应的TextView。
截屏2021-12-19 下午10.19.56.png

适配器绑定狗狗列表视图

截屏2021-12-19 下午10.24.51.png

在onCreatViewHolder方法中通过LayoutInflater将布局文件dog_list_item.xml转化成条目视图item,并且将item让MyViewHolder持有。onBindViewHolder方法中,将条目视图与狗狗列表数据进行绑定,设置狗狗标题和加载狗狗图片。getItemCount返回列表条目的个数,即狗狗列表数据的个数。

狗狗网络图片的加载

狗狗图片是一个网络图片,需要使用网络图片库来进行加载。这里我们使用Android开发中比较流行的开源图片加载库Glide进行加载。Glide项目地址:https://github.com/bumptech/glide

添加对Glide的依赖

在app模块下的build.gradle中添加对Glide的依赖:

截屏2021-12-19 下午10.39.20.png
添加完成后,点击右上角的Sync Now下载Glide相关库。

加载狗狗网络图片

调用Glide提供的API加载狗狗的网络图片

Glide.with(MainActivity.this).load(coverUrl).into(imageView);

由于返回的狗狗图片的URL是http协议,但是Android 9以后强制使用https协议,所以图片可能加载不出来,可以通过配置AndroidManifest.xml中application标签的usesCleartextTraffic来跳过https强制限制。

截屏2021-12-19 下午10.46.56.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/64448.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网络对大学生影响的调查研究报告

作者:倪宇轩,王伟燃,卢锴,徐新顺, 胡大宸(排名不分先后) 摘要:现在大多数大学生由于在高中时期,对网络接触的十分少,进入大学之后难以端正对待网络的态度,并且…

设计《大学生暑期社会实践调查问卷》

1.设计“大学生暑期社会实践调查问卷”页面,如下图所示。 2.调查表前导语的内容如下所示: 大学生暑期社会实践调查问卷 亲爱的同学:大家好! 为了更好的了解人们对近年来计算机类专业填报火热现象的看法,特制定本问…

关于大学生寝室点外卖的调研报告

关于大学生点外卖的调研报告 调研人:陈劲涛 李清安 潘瑞祥 苏洸远(名字不分先后) 这次的分析的主要对象是大一学生,课题主要是关于大学生在寝室里点外卖的情况;从数据分析中看到的本质问题;以及出现这些…

大学生对于外卖和食堂之间的抉择的调查报告 新生研讨课校内调查

电子科技大学 张成卓,熊浩宇,郭子畅 2018年末 引言 随着科技的进步,快递行业在电商的刺激下蓬勃发展,一定程度上改变了很多行业的运营情况,其中餐饮业受到的影响可以说是很大的。身边越来越多的人足不出户就能吃到自…

【报告分享】2021大学生消费行为洞察报告-校果研究院(附下载)

摘要:中国在校大学生群体不断扩大,目前大学生人数已达4183万人。同时,随着家庭结构带来消费力的变化。「421」的家庭结构,即双方老人及父母孩子,意味着独一代的大学生将获得更多的“家庭资源”,月均可支配现金超2000。…

UQPSK调研报告

目录 研究现状国外研究现状国内研究现状 基本原理BPSKDQPSKQPSKUQPSK 调制实现QPSK 调制正交调相法相位选择法 QPSK 解调UQPSK 调制UQPSK 解调 技术优点技术局限性 研究现状 数字相位调制又称为相移键控(Phase Shift Keying, PSK),是一种十分重要的调制技术。PSK 是…

大学生外卖市场需求状况调查数据可视化报告

最近我们被客户要求撰写关于外卖市场需求可视化的研究报告,包括一些图形和统计输出。 随着社会经济的发展,饮食生活已经逐渐融入了我们的日常生活世界,每天都不可避免地在 "吃 "的问题上有更多的考虑,吃好、吃多已经不再…

大学生月生活费调研报告

调研报告 调研人:尉子谦,王奎元,王臻,周路尧 课题:格拉斯哥学院学生月生活费情况 调查形式:线上匿名填写调查问卷现场采访; 任务分配:每人去校园采访至少五人 问卷填写结果&…

#应用统计学: 大学生校园市场饮料产品消费情况的调查报告

目录 第一部分 预习准备... 4 一、实验目的... 4 二、实验要求... 4 三、实验仪器和设备... 4 第二部分 实验过程... 4 一、实验步骤... 4 1.问卷设计(原始问卷)... 4 2.确定调查对象... 6 3.分发调查问卷... 6 4.回收调查问卷... 6 二、实验…

大学生实习就业调研报告之一 - 调研数据统计和分析

摘要:2014年8月,CSDN高校俱乐部推出面向大学生的《实习就业需求调研》活动。截止10.31日活动结束,共收到几百所高校学生的反馈,汇集当代大学生在实习就业中普遍存在的心态问题及就业期望。为此高校俱乐部整理分析全部调研数据&…

iOS 摸鱼周报 #87 | Planning for AGI

本期概要 本期话题:App Store 的定价机制升级扩展;四位女性开发者与 App Store 的故事内容推荐:推荐近期的一些优秀博文,涵盖结构化并发、开发者故事、开发经验分享、Swift Builtin 函数等方面的内容摸一下鱼:Planning…

Python+Appium+Pytest+Allure实战APP自动化测试

pytest只是单独的一个单元测试框架,要完成app测试自动化需要把pytest和appium进行整合,同时利用allure完成测试报告的产出。 编写常规的线性脚本具体的步骤如下: 1、设计待测试APP的自动化测试用例 2、新建app测试项目 3、配置conftest.py文…

详情:揭秘A100、A800、H800、V100在HPC与大模型训练中的霸权

关键词:AIGC;NLP;ChatGLM;AGI;LLAMA;BERT;GLM;LLVM;LSAT;ChatGPT;深度学习;高性能计算;大语言模型;大型语言模…

关于改简历的那点事

前两天突然有个朋友找我帮忙看下简历,说为什么投了简历效果不大,让我帮看下有什么问题。 想起前段时间我也是为了换工作改简历简直要挠破头 从上到下讲下我改简历的经过吧 一、整体篇幅 修改前(4页):个人信息求职意…

那些简历造假拿 Offer 的程序员,后来都怎么样了?

四大项目,挑战Python全栈工程师? https://edu.csdn.net/topic/python115?utm_sourcecxrs_bw 脉脉有个网友说,同事靠简历造假和银行流水造假,进了腾讯。 腾讯啊亲。 关键是,年薪60万,这就更羡煞人了。 这…

修改简历有用吗

看情况,一般都是很有用哒!简历修改会突出你的重点和优点,优化你的简历内容,让面试官一眼看到简历就被吸引了! 如以上图片所示。

从2D图像生成3D模型,基于Im2Avatar

原文链接:Im2Avatar: Colorful 3D Reconstruction from a Single Imagegithub.com 这个模型不仅可以生成3D模型,还可以生成颜色,现在我就介绍一下生成形状的部分,这个网络不是end to end的形式所以形状和颜色是分别训练的。源代码…

【推荐收藏】13个强大的Al网站

编辑:机器学习算法与Python实战 1、只需几分钟就能轻松地生成一个标志、书籍封面、横幅和更多。https://stockimg.ail 2、有史以来最逼真、功能最全面的人工智能语音软件。它从你的文本输入中为你提供最引人注目、最丰富和最逼真的声音。https://beta.elevenlabs.io…

即时通讯工具腾讯 QQ v9.1.9.26361 绿色便携版

腾讯出品的即时通讯工具 QQ 9.0 的口号是“从心出发 趣无止境”,界面全新改版,吸收了 QQ for Mac 的界面元素,效率变得更高,从登陆到主界面再到对话面板都和以往截然不同,风格更加现代化,也更扁平化&#x…

TIM网盘批量下载方法

0 x 00 引言 2022年12月5日TIM云文件将要停服, 网盘里有我11G的资料, 所以需要批量的将文件下载下来, 本文将提供一种Windows端TIM云文件下载的方法. 0 x 01 运行环境 操作系统: Windows 11 专业版 22H2TIM版本: TIM3.4.2(22058) 0 x 02 批量下载方法 1. 点击到TIM网盘根目录…