开启成长之旅!这是我参与「日新方案 2 月更文应战」的第 22 天,点击查看活动详情
前言
到本年的2月9日,我就正式进行安卓开发一年了,也算重新手小白,变成新手菜鸡了。作为菜鸡,不去总结一下,学到的技能是一定会遗忘的,所以本文来小结一下这一年的技能学习吧。
正篇
在刚开始作业时,我那时还不知道有这类开发平台,平常也就靠看项目代码来学习安卓开发,而咱们项目对我来说最具特色的便是和我作业外去学习的安卓开发形式不同。
Native混合开发
咱们作业时不光靠Java去写安卓代码,由于需求和服务器以及设备进行交互,咱们的代码还需求写SDK的C++代码,但这份C++代码主体是服务器工程师去写的,咱们仅仅去调用他们封装好的接口,可是仍是要写JNI方面代码,以达到从他们封装好的C++接口到咱们Java层运用的目的,这是我刚开始上手项目的认知,流程便是:
后面才发现咱们不是这个地方来成心去Native开发的,而是咱们的视频播映时需求OpenGL也是C++语言开发的,以及音频方面的操控之类,但我至今对这方面的开发还不是很了解,未来需求对这块重点学习。
UI开发
全体来说,曩昔一年根据APP开发,简直咱们都是在进行UI设计开发,经过各个安卓UI组件的配合,乃至需求一些自定义View以完成需求的UI稿,这方面大概是进步最快的,从各个组件的了解熟悉,到运用改造,再到写自定义View,慢慢深化学习下去,这块仍是很容易进步的。当然,咱们也应该去多了解View的绘制流程之类的
public abstract class ViewGroup extends View implements ViewParent, ViewManager {
...
}
多看看源代码的完成进程。
数据存储
在安卓开发进程中,咱们有时候需求本地化持久数据,这时候假如简略的数据直接运用Sp去存储(简略易用的安卓SharedPreferences存储(数据存储系列) – ()):
例如写入操作:
val editor = getSharedPreferences("data", Context.MODE_PRIVATE).edit()
editor.putString("name", "Tom")
editor.putInt("age", 18)
editor.putBoolean("married", false)
editor.apply()
假如数据复杂一些,咱们最好仍是去运用File文件存储(原汁原味的安卓文件存储(数据存储系列) – ()):
经过读写文件去完成数据持久化存储。
假如更为重要的数据咱们还能够运用服务器去数据库存储,可是又得回到SDK开发上,咱们需求和服务器那儿沟通好相关的存取方法来得到和上传相关数据。
自我学习
上一年自我学习方面也是经过一些技能交流群去知晓一些学习途径,然后也了解了不少作业开发上不知道的常识,比方Flutter这块,我也算是了解到跨端这方面的常识了。
Widget buildTools() {
return ButtonTools(
state: _type,
onRecoder: onRecoder,
onReset: onReset,
toggle: toggle,
);
}
总结
整理了一下上一年学习的技能,虽然有些琐细,但还算有用,本年的方向就能更为清晰,把这些常识掌握的更厚实,也能在本年能够更进一步去学习更为困难的常识。