Android 垃圾分类APP(一)申请API、搭建项目、访问接口获取数据

“contain”: “常见包括砖瓦陶瓷、渣土、卫生间废纸、猫砂、污损塑料、毛发、硬壳、一次性制品、灰土、瓷器碎片等难以回收的废弃物”,

“tip”: “尽量沥干水分;难以辨识类别的生活垃圾都可以投入干垃圾容器内”

},

{

“name”: “智能眼镜”,

“type”: 0,

“aipre”: 0,

“explain”: “可回收垃圾是指适宜回收、可循环利用的生活废弃物。”,

“contain”: “常见包括各类废金属、玻璃瓶、易拉罐、饮料瓶、塑料玩具、书本、报纸、广告单、纸板箱、衣服、床上用品、电子产品等”,

“tip”: “轻投轻放;清洁干燥,避免污染,费纸尽量平整;立体包装物请清空内容物,清洁后压扁投放;有尖锐边角的、应包裹后投放”

},

{

“name”: “游泳眼镜”,

“type”: 3,

“aipre”: 0,

“explain”: “干垃圾即其它垃圾,指除可回收物、有害垃圾、厨余垃圾(湿垃圾)以外的其它生活废弃物。”,

“contain”: “常见包括砖瓦陶瓷、渣土、卫生间废纸、猫砂、污损塑料、毛发、硬壳、一次性制品、灰土、瓷器碎片等难以回收的废弃物”,

“tip”: “尽量沥干水分;难以辨识类别的生活垃圾都可以投入干垃圾容器内”

},

{

“name”: “眼镜”,

“type”: 3,

“aipre”: 0,

“explain”: “干垃圾即其它垃圾,指除可回收物、有害垃圾、厨余垃圾(湿垃圾)以外的其它生活废弃物。”,

“contain”: “常见包括砖瓦陶瓷、渣土、卫生间废纸、猫砂、污损塑料、毛发、硬壳、一次性制品、灰土、瓷器碎片等难以回收的废弃物”,

“tip”: “尽量沥干水分;难以辨识类别的生活垃圾都可以投入干垃圾容器内”

},

{

“name”: “眼镜布”,

“type”: 3,

“aipre”: 0,

“explain”: “干垃圾即其它垃圾,指除可回收物、有害垃圾、厨余垃圾(湿垃圾)以外的其它生活废弃物。”,

“contain”: “常见包括砖瓦陶瓷、渣土、卫生间废纸、猫砂、污损塑料、毛发、硬壳、一次性制品、灰土、瓷器碎片等难以回收的废弃物”,

“tip”: “尽量沥干水分;难以辨识类别的生活垃圾都可以投入干垃圾容器内”

},

{

“name”: “眼镜架”,

“type”: 3,

“aipre”: 0,

“explain”: “干垃圾即其它垃圾,指除可回收物、有害垃圾、厨余垃圾(湿垃圾)以外的其它生活废弃物。”,

“contain”: “常见包括砖瓦陶瓷、渣土、卫生间废纸、猫砂、污损塑料、毛发、硬壳、一次性制品、灰土、瓷器碎片等难以回收的废弃物”,

“tip”: “尽量沥干水分;难以辨识类别的生活垃圾都可以投入干垃圾容器内”

},

{

“name”: “眼镜框”,

“type”: 3,

“aipre”: 0,

“explain”: “干垃圾即其它垃圾,指除可回收物、有害垃圾、厨余垃圾(湿垃圾)以外的其它生活废弃物。”,

“contain”: “常见包括砖瓦陶瓷、渣土、卫生间废纸、猫砂、污损塑料、毛发、硬壳、一次性制品、灰土、瓷器碎片等难以回收的废弃物”,

“tip”: “尽量沥干水分;难以辨识类别的生活垃圾都可以投入干垃圾容器内”

},

{

“name”: “眼镜盒”,

“type”: 3,

“aipre”: 0,

“explain”: “干垃圾即其它垃圾,指除可回收物、有害垃圾、厨余垃圾(湿垃圾)以外的其它生活废弃物。”,

“contain”: “常见包括砖瓦陶瓷、渣土、卫生间废纸、猫砂、污损塑料、毛发、硬壳、一次性制品、灰土、瓷器碎片等难以回收的废弃物”,

“tip”: “尽量沥干水分;难以辨识类别的生活垃圾都可以投入干垃圾容器内”

},

{

“name”: “隐形眼镜”,

“type”: 3,

“aipre”: 0,

“explain”: “干垃圾即其它垃圾,指除可回收物、有害垃圾、厨余垃圾(湿垃圾)以外的其它生活废弃物。”,

“contain”: “常见包括砖瓦陶瓷、渣土、卫生间废纸、猫砂、污损塑料、毛发、硬壳、一次性制品、灰土、瓷器碎片等难以回收的废弃物”,

“tip”: “尽量沥干水分;难以辨识类别的生活垃圾都可以投入干垃圾容器内”

},

{

“name”: “隐形眼镜包装盒”,

“type”: 0,

“aipre”: 0,

“explain”: “可回收垃圾是指适宜回收、可循环利用的生活废弃物。”,

“contain”: “常见包括各类废金属、玻璃瓶、易拉罐、饮料瓶、塑料玩具、书本、报纸、广告单、纸板箱、衣服、床上用品、电子产品等”,

“tip”: “轻投轻放;清洁干燥,避免污染,费纸尽量平整;立体包装物请清空内容物,清洁后压扁投放;有尖锐边角的、应包裹后投放”

}

]

}

非常简单,下面我再介绍一些常识,刚才的测试是不计入每天的次数统计的,普通会员每天100次免费,超过之后则会扣天豆。天豆可以在我的控制台查看,不建议充值,个人开发的话,基本免费的次数够用了。

在这里插入图片描述

那么现在的接口地址就有了,如下:

http://api.tianapi.com/txapi/lajifenlei/index?key=783da68c7ea7e10fcd259db651cc550b&word=眼镜

这里面的key换成自己的,我这每天一百的免费量可经不起折腾啊。

二、创建项目


下面来创建Android项目了,打开Android Studio,项目命名为:GoodTrash。

翻译过来就是 好垃圾。这个名字是不是挺有意思的,它有三层意思,第一是英文直译,第二就是好的垃圾,第三就是好垃圾指这个项目。

在这里插入图片描述

既然是网络API接口,那么首先应该解决网络的问题。先来配置网络访问环境,第一个就是http的访问许可,Android9.0之后默认使用https访问网络,而这个垃圾分类的接口是http格式的,因此先增加许可。

在res下新建一个xml文件夹,文件夹下新建network_config.xml,里面的代码如下:

<?xml version="1.0" encoding="utf-8"?>

如下所示:

在这里插入图片描述

为了使这个配置生效,需要到AndroidManifest.xml中配置,如下所示:

在这里插入图片描述

我在manifest标签下配置网络权限,这样应用就可以访问网络了。在application标签下配置刚才的xml文件,这样就可以通过http访问网络了。

在xml文件夹下新建一个file_paths.xml,里面的代码如下:

<?xml version="1.0" encoding="utf-8"?>

然后在AndroidMainfest.xml的application标签下增加如下代码:

<provider

android:name=“androidx.core.content.FileProvider”

android:authorities=“com.llw.goodtrash.fileprovider”

android:exported=“false”

android:grantUriPermissions=“true”>

<meta-data

android:name=“android.support.FILE_PROVIDER_PATHS”

android:resource=“@xml/file_paths”/>

下面配置工程的build.gradle,在里面增加jitpack库。

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

在这里插入图片描述

然后修改app的build.gradle,在android{}闭包下增加如下代码:

compileOptions {

sourceCompatibility = 1.8

targetCompatibility = 1.8

}

然后Sync Now同步一下。为了简化开发中的过程了,我这里打算使用mvp框架,也是我之前写的一篇文章,mvp框架中又使用了网络访问框架,也是一篇文章。如果你对这两者一点都没有概念的话,建议你先看看这两篇文章。

Android OkHttp+Retrofit+RxJava搭建网络访问框架(含源码)

Android MVP框架搭建与使用(含源码)

那么我就在当前的项目中引入这个mvp框架,首先下载这个框架的源码,

MvpDemo.rar

这是不需要积分的,下载后解压。然后打开在当前AS中引入mvp模块,

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后再点击Next,等待加载到你的项目之后。

之后点击这个图标,进入项目结构。

在这里插入图片描述

我们现在的mvp框架虽然移动进来了,但是app模块需要依赖才能使用。

在这里插入图片描述

mvp是一个模块,因此最终选择的是模块依赖,

在这里插入图片描述

点击OK,然后你会发现有报错。

在这里插入图片描述

这是重复使用了配置文件的原因。打开mvplibrary的AndroidManifest.xml

在这里插入图片描述

删掉我标注的这句话。然后点击这个小象图标重新同步配置项目

在这里插入图片描述

然后就正常了,下面我们可以来访问接口了。

三、访问API接口


可以在MainActivity中写一个这样的方法,通过使用Okhttp来请求API接口,这里使用的是Get请求,也都是常规的代码。由于变化的只有物品,因此作为入参传进来。

private void getRecognitionResult(String goods) {

//使用Get异步请求

OkHttpClient client = new OkHttpClient();

Request request = new Request.Builder()

//拼接访问地址

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:Android)

总结

【Android 详细知识点思维脑图(技能树)】

image

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

缺少的**,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司19年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

[外链图片转存中…(img-1jJWoHXJ-1713111780922)]

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!

  • 7
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 基于YOLO(You Only Look Once)的垃圾分类app可以通过智能图像识别和分类算法实现实时垃圾分类。用户可以通过app打开手机相机,对垃圾进行拍照,然后上传照片到app中。 首先,app会使用基于YOLO的物体检测算法,识别照片中的物体,包括各种垃圾和非垃圾物品。这个算法可以在一张照片中同时检测多个物体,并给出每个物体的类别和位置。 然后,app会使用另一个基于YOLO的垃圾分类算法,对检测到的垃圾进行分类。这个算法会将垃圾分为可回收物、厨余垃圾、有害垃圾和其他垃圾等类别。算法会对每个垃圾进行准确分类,并在app中显示垃圾的类别。 接下来,app会向用户展示分类结果,并给出相应的处理建议。例如,如果被识别的物体是可回收物,app会建议用户将其放入可回收物垃圾桶中;如果是厨余垃圾app会建议用户进行相应的处理方式。 此外,app还可以提供其他垃圾分类相关的功能,例如提供垃圾分类知识和技巧、分享垃圾分类经验等。 基于YOLO的垃圾分类app能够快速而准确地识别和分类垃圾,帮助用户实现垃圾的正确处理和回收利用。这样的app可以促进垃圾分类的普及,提高人们的环保意识,从而保护环境和可持续发展。 ### 回答2: 基于Yolo的垃圾分类App是一款利用机器学习算法和计算机视觉技术,帮助使用者实现垃圾分类的便捷工具。Yolo是一种目标检测算法,通过一次前向传递即可同时检测图像中的多个目标,适合用于我们的垃圾分类App。 该App的工作原理是用户将垃圾放在手机摄像头前,App会实时捕捉摄像头画面,并通过Yolo算法识别垃圾的类别。该算法能够快速、准确地识别出图像中的垃圾,并将结果返回给用户。 在用户捕捉的画面上,垃圾会被用方框标记并显示垃圾的类别,例如玻璃、纸张、塑料等。同时,App还会提供有关垃圾的详细信息,如垃圾的处理方式、可回收性等。用户可以根据识别的结果进行相应的分类和处理,实现有效的垃圾分类。 此外,该App还具有一些其他功能。例如,用户可以保存识别结果的记录,以便随时查看和管理已识别垃圾的数据。此外,App还可以提供垃圾分类的相关知识和推荐阅读,帮助用户了解更多关于垃圾分类和环保的信息。 基于Yolo的垃圾分类App是一款便捷的工具,它利用先进的机器学习算法和计算机视觉技术,帮助用户实现垃圾分类,推动环保事业的发展。用户可以通过它快速准确地识别垃圾,并获取相关知识和建议。希望这款App能够促进人们对垃圾分类的重视和参与,共同保护环境。 ### 回答3: 基于YOLO的垃圾分类App是一款能够通过图像识别技术帮助用户进行垃圾分类的应用程序。YOLO(You Only Look Once)是一种先进的实时目标检测算法,能够在图像中实时识别出多个不同类别的物体。 该App的工作原理是用户使用手机摄像头拍摄垃圾物品,然后将图像传输到服务器端进行处理。服务器使用已经训练好的YOLO模型对图像中的垃圾进行目标检测,并根据检测结果对垃圾进行分类。 App的用户界面简洁直观,方便用户操作。用户只需打开App,选择相机功能,然后通过摄像头拍摄垃圾物品。随后,App会将图像传输至服务器,并等待服务器端的识别结果。 服务器端的YOLO模型能够识别出各种垃圾物品,比如可回收物、有害垃圾、厨余垃圾和其他垃圾。识别结果将会在几秒钟内返回到用户的手机屏幕上。结果以文本或图像的形式展示,准确指示用户拍摄的垃圾属于哪个类别。 此外,该App还具备用户反馈功能。用户可以提交与识别结果不符的反馈,为系统提供更多的训练数据,帮助提高识别准确率。 基于YOLO的垃圾分类App不仅方便了用户进行垃圾分类,也提高了垃圾分类的准确度。通过让用户参与到垃圾分类过程中,该App有助于推广垃圾分类的理念,使垃圾分类变得更加普及和便捷。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值