最后
想要了解更多关于大厂面试的同学可以点赞支持一下,除此之外,我也分享一些优质资源,包括:Android学习PDF+架构视频+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
{
“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搭建网络访问框架(含源码)
那么我就在当前的项目中引入这个mvp框架,首先下载这个框架的源码,
这是不需要积分的,下载后解压。然后打开在当前AS中引入mvp模块,
然后再点击Next,等待加载到你的项目之后。
之后点击这个图标,进入项目结构。
我们现在的mvp框架虽然移动进来了,但是app模块需要依赖才能使用。
mvp是一个模块,因此最终选择的是模块依赖,
点击OK,然后你会发现有报错。
这是重复使用了配置文件的原因。打开mvplibrary的AndroidManifest.xml
删掉我标注的这句话。然后点击这个小象图标重新同步配置项目
然后就正常了,下面我们可以来访问接口了。
可以在MainActivity中写一个这样的方法,通过使用Okhttp来请求API接口,这里使用的是Get请求,也都是常规的代码。由于变化的只有物品,因此作为入参传进来。
private void getRecognitionResult(String goods) {
//使用Get异步请求
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
//拼接访问地址
.url(“http://api.tianapi.com/txapi/lajifenlei/index?key=783da68c7ea7e10fcd259db651cc550b&word=” + goods)
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
写在最后
在技术领域内,没有任何一门课程可以让你学完后一劳永逸,再好的课程也只能是“师傅领进门,修行靠个人”。“学无止境”这句话,在任何技术领域,都不只是良好的习惯,更是程序员和工程师们不被时代淘汰、获得更好机会和发展的必要前提。
如果你觉得自己学习效率低,缺乏正确的指导,可以一起学习交流!
加入我们吧!群内有许多来自一线的技术大牛,也有在小厂或外包公司奋斗的码农,我们致力打造一个平等,高质量的Android交流圈子,不一定能短期就让每个人的技术突飞猛进,但从长远来说,眼光,格局,长远发展的方向才是最重要的。
35岁中年危机大多是因为被短期的利益牵着走,过早压榨掉了价值,如果能一开始就树立一个正确的长远的职业规划。35岁后的你只会比周围的人更值钱。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!