Skip to content

w040150594/refuseGarbageApp_Android

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

选题背景

随着智慧城市的快速发展,居民的生活水平不断提高,人民对高质量生活环境绿色环保型社会的需求日益强烈。为了满足人民日益增长的生活需求,各种多元化的商品及生活用品蜂拥而至。随之而来的是日益增多的生活垃圾,对环境造成了极大的压力,有些城市已经出现了垃圾围城的现象。垃圾分类是造成环境污染、资源循环利用困难的一大因素,已成为我国需要解决的迫在眉睫的问题。在巨大的市场推动下,国内的垃圾分类公司如雨后春笋。为了实现对生活垃圾的初步分类,目前,市场上已推出可分类垃圾桶,但人们对垃圾是否可回收的概念模糊,常常也会造成垃圾的混乱投放。垃圾站传统的物理化学分类设备体积大,回收率低,导致许多可回收应用的垃圾未得到充分利用而导致巨大资源浪费。
因此,我便开发了了垃圾分类App,此系统运用了前沿人工智能技术,实现对垃圾的智能识别与分类。系统识别精准,从而可有效提高回收率、减少垃圾处理量、减轻环境污染、支持节能、促进循环经济的发展等,弥补传统垃圾分类系统的不足,解决由于前期垃圾分类不彻底造成的问题。

功能介绍截图演示

首屏
登录注册
首页
百科页
设置

易错练习
答题结果
搜索页面(图片)
搜索页面(文字)

技术实现、关键代码与解析

技术实现

  • java
  • SQLite数据库,存储垃圾相关数据和用户账号密码数据
  • okhttp, 天聚数行垃圾分类免费接口获取垃圾分类热搜词,垃圾图像识别,垃圾关键词实时搜索。

image.png

关键代码与解析

获取系统各种权限
image.png

登录注册

image.png

  1. 通过SQLite 存储用户账号密码
  2. SharedPreferences 记住账号密码

首页

  1. 使用 okhttp 实现实时调用获取垃圾分类热搜
  2. 结果按照热度降序排名展示

image.png

垃圾分类搜索页面

文字搜索
  1. 先在本地数据库SQLite 搜索匹配的垃圾,并展示结果
  2. 若本地搜索不到,就去请求远程接口获取

image.png

图像识别
  1. 先将从拍照或者本地图库获取到的图片进行压缩然后转为为 base64(远程接口上限 3M)
  2. 核心压缩算法压缩后判断大小是否超标,不超过继续降低质量压缩直到大小 3M 一下,以确保在图片大小 3M 范围内图片质量最大化,提高识别准确度
  3. 将压缩处理后图片通过调用图像识别识别垃圾结果展示给用户

image.png

易错练习页面

  1. 首先生成题目
  2. 每次选择答案提交后,判断所选答案和正确答案,做出相应处理,存储结构使用哈希表
  3. 答题数量到 10 题后,根据前面的哈希表存储的答题情况展示答题结果和分数

image.png

百科页

  1. 页面嵌入 webview 控件,加载百度百科网页权威的垃圾分类定义和科普,方便用户查阅

image.png

设置页

创建并显示通知:

  1. 获取NotificationManager服务,这是用来管理通知的系统服务。
  2. 设置PendingIntent,当用户点击通知时,将启动NotificationActivity。
  3. 使用NotificationManager的notify方法来显示通知。

image.png
联系我们:

  1. 创建一个Intent用于启动拨号界面。
  2. 使用Intent.ACTION_DIAL作为动作,并通过setData方法设置电话号码。
  3. 调用startActivity方法启动拨号界面。

image.png
退出登录:

  1. 创建一个新的Intent,其动作为"com.example.refuseclassification.FORCE_OFFLINE"。
  2. 通过当前活动的上下文(getActivity())发送这个广播,通知广播接收器执行退出登录后销毁 activity 等操作

image.png

心得体会

通过本次垃圾分类 app 的开发,我熟悉了使用 okhttp 获取远程接数据,掌握了调用本地相机,本地图库实现对图片的压缩转码技术,以及本地 SQLite SharedPreferences 存储技术的使用,加深了技术应该为内容和用户服务的思想。总的来说,结合这些安卓技术开发有用有价值的 垃圾分类 app 收货很大!

About

垃圾回收 app-安卓开发课程

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages