{"id":21213602,"url":"https://github.com/wzc520pyfm/lajiflandroid","last_synced_at":"2026-05-12T16:04:46.409Z","repository":{"id":154922972,"uuid":"476594816","full_name":"wzc520pyfm/lajiflAndroid","owner":"wzc520pyfm","description":"垃圾分类Android版应用, 拍照即可进行分析.","archived":false,"fork":false,"pushed_at":"2022-04-05T13:39:01.000Z","size":5308,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-22T00:01:35.223Z","etag":null,"topics":["android","garbage-classification"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/wzc520pyfm.png","metadata":{"files":{"readme":"ReadMe.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-01T06:07:42.000Z","updated_at":"2025-02-23T07:35:47.000Z","dependencies_parsed_at":"2023-05-01T17:31:19.444Z","dependency_job_id":null,"html_url":"https://github.com/wzc520pyfm/lajiflAndroid","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/wzc520pyfm/lajiflAndroid","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzc520pyfm%2FlajiflAndroid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzc520pyfm%2FlajiflAndroid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzc520pyfm%2FlajiflAndroid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzc520pyfm%2FlajiflAndroid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/wzc520pyfm","download_url":"https://codeload.github.com/wzc520pyfm/lajiflAndroid/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/wzc520pyfm%2FlajiflAndroid/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32946440,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-12T09:19:52.626Z","status":"ssl_error","status_checked_at":"2026-05-12T09:17:33.438Z","response_time":102,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","garbage-classification"],"created_at":"2024-11-20T21:17:16.220Z","updated_at":"2026-05-12T16:04:46.404Z","avatar_url":"https://github.com/wzc520pyfm.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"#### 运行效果\n\n\u003cimg src=\"https://cdn.jsdelivr.net/gh/wzc520pyfm/Picbed_PicGo@master/img/Screenshot_20220404_225720_com.baidu.duer.lajifl.jpg\" alt=\"Screenshot_20220404_225720_com.baidu.duer.lajifl\" style=\"width:20%;height:20%;\" /\u003e\u003cimg src=\"https://cdn.jsdelivr.net/gh/wzc520pyfm/Picbed_PicGo@master/img/Screenshot_20220404_225724_com.baidu.duer.lajifl.jpg\" alt=\"Screenshot_20220404_225724_com.baidu.duer.lajifl\" style=\"width:20%;height:20%;\" /\u003e\n\n### 1. 登录百度智能云并实名认证([百度智能云-智能时代基础设施 (baidu.com)](https://cloud.baidu.com/?from=console))\n\n### 2. 管理控制台 -\u003e 产品服务 -\u003e 图像识别 -\u003e 创建应用 -\u003e (免费领取接口调用次数) -\u003e 选择应用归属为个人(并填好所有必填项) -\u003e 创建应用\n\n### 3. 查看应用详情, 获取到 API Key 和  Secret Key\n\n### 4. 利用第三步获取到的key请求 '百度鉴权access_token接口' 获取access_token(有效期为30天) ([通用参考 - 鉴权认证机制 | 百度AI开放平台 (baidu.com)](https://ai.baidu.com/ai-doc/REFERENCE/Ck3dwjhhu))\n\n### 5. 获取access_token后请求百度图像识别接口, access_token放在params参数里, 图片的base64编码放在body(使用from传参)里 ([图像识别 - 通用物体和场景识别 | 百度AI开放平台 (baidu.com)](https://ai.baidu.com/ai-doc/IMAGERECOGNITION/Xk3bcxe21))\n\n### 6. 注册并登录木小果平台, 个人中心页-\u003e我的接口 -\u003e 购买垃圾分类接口(0元) -\u003e 获取到api_key (https://api.muxiaoguo.cn/)\n\n### 7. 将第五步识别到的物体信息作为第6步中垃圾分类的参数值, 请求 垃圾分类接口 获取返回值 ([垃圾分类 - 木小果API (muxiaoguo.cn)](https://api.muxiaoguo.cn/doc/lajifl.html))\n\n\n\n\n\n### 项目结构\n\n1. `grant_type`    `client_id`    `client_secret`   `api_key `  四个关键参数均存放在values/string.xml下\n\n2. 项目使用到: \n   * butterknife注入---简化代码,避免犯错,省去了繁琐的findView\n     * 示例博客 [Android常用之Butterknife使用详解 - SegmentFault 思否](https://segmentfault.com/a/1190000016460847)\n   * andoridUI组件库---快速开发必备\n     * dialog (https://github.com/yarolegovich/LovelyDialog)\n     * 加载动画 (https://github.com/HarlonWang/AVLoadingIndicatorView)\n   * retrofit网络请求库---封装网络请求,高度解耦\n     * 官方文档 [改造 (square.github.io)](https://square.github.io/retrofit/)\n     * 示例博客 [(37条消息) Retrofit2 详解和使用（一）_花酒果子-CSDN博客_retrofit2](https://blog.csdn.net/m0_37796683/article/details/90702095)\n   * gson\n     * retrofit使用的的json解析器, 用于解析网络请求的响应数据\n   \n3. 项目所使用的用户手机权限(在app/manifests/AndroidManifest.xml中配置)\n   * 文件读写权限\n   * 相机权限\n   * 网络请求权限\n   \n4. 目录结构\n   * api : retrofit接口\n   * bean :  实体类, 规定如何解析网络请求返回的数据\n   * http :  网络请求, 实现api中的接口并将收到的网络响应数据解析为bean实体类\n   * task :  线程, 执行网络请求\n     * 网络请求等耗时任务必须新开一个线程执行, 不能在主线程中进行网络请求\n   * utils :  工具类\n     * ImageUtil :  图片处理工具类\n     * SharedUtil :  全局状态存取工具类, 用于保存较小的数据\n   \n5. 安卓项目目录介绍\n\n   * manifests\n\n     * 项目配置文件, 包括页面配置, 权限配置, 应用图标等\n\n   * java\n\n     * 逻辑代码\n     * Test\n       * 测试类, 用于编写测试用例\n\n   * res\n\n     资源文件\n\n     * drawable\n\n       * 文件资源, 多为xml, png, jpg, svg等文件\n\n     * layout\n\n       * 页面布局文件\n\n     * mipmap\n\n       * 适配image, 提供了不同尺寸的image资源文件以实现对不同尺寸屏幕的适配, 应用图标一定是存放在这里, 这里也可以存放其他的需要支持自适应的图片\n\n     * values\n\n       存放常量\n\n       * colors.xml\n         * 颜色常量\n       * strings.xml\n         * 字符串常量\n       * styles.xml\n         * 主题\n\n   * Gradle\n\n     安卓构建工具.  项目依赖于各种程序包, 必须将项目所需的程序包都下载到项目, 项目才能编译运行, 但这些程序包本身不应该成为项目的关键代码, 始终将这些程序包保留在项目中会造成冗余, 为此, gradle将项目所需的依赖包记录下来, 在需要的时候再将其下载, 减小项目体积. 包括项目的编译, 打包等均由gradle完成\n\n     * build.gradle\n       * build.gradle(Project)\n         * 项目层面的gradle配置, 里面配置了依赖包源, gradle版本, 及一些特殊的gradle命令\n       * build.gradle(Module)\n         * 应用层面的gradle配置, 这里注意配置JDK版本, 应用版本, 应用信息, 打包配置, 编译配置, 项目依赖包配置等\n\n6. 阿里巴巴矢量图标库\n\n   * icon图标\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwzc520pyfm%2Flajiflandroid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwzc520pyfm%2Flajiflandroid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwzc520pyfm%2Flajiflandroid/lists"}