制作一个安卓程序全记录
1.创建一个空白的项目
你可以在创建的选项里找到一些预设好的模板,这里我们直接使用空白的。
- 01
- 02
- 03
2.合适的虚拟机
我按照自己手机的2340x1080分辨率选择了合适的虚拟机,这样安装在自己手机测试的程序就不会出现适配问题,当然如果要给别人使用,那最好要适配一下。安装虚拟机时选择系统版本,直接上最新版本就行。
3.创建基础的界面文件
- 这里我们使用fragment,不使用activity,fragment其实本质上就是轻量化的activity,可以使程序运行更加流畅。当然在选择创建的时候,谷歌已经给我们提供了一些预设好的模板,比较有用的就是带有viewmodel的fragment,不过这里为了练习和掌握viewmodel的创建,我们选择空白界面。
4.创建MyViewModel
- 选择新建java文件,名字为了好记同时表现出和ViewModel的关系,我们取名为MyViewModel
- 该类继承于AndroidViewModel,继承他的好处就是我们的程序可以访问sharedpreference,也就是可以通过ViewModel访问全局资源
继承完事之后,我们这个ViewModel还需要一个构造函数,直接快速重写一下就好了,然后因为我们要用到SavedStateHandle(用来永久性保存简单的数据而不需要涉及到SQLlite数据库),我们需要在构造函数的参数列表中添加第二个参数,具体情况看下面的代码
//这个是修改完成的构造函数,这里可能需要你手动导入一下Androidx包,就是如果SavedStateHandle标红,那么你就手动导入一下包import androidx.lifecycle.SavedStateHandle;
public MyViewModel(@NonNull Application application,SavedStateHandle handle) {
super(application);
}
参数添加完成之后我们当然要创建一下对象啦,后面的就用代码解释了,之后的代码就和我自己要写的程序有关系了,不过我会尽可能都注释起来的
的代码就和我自己要写的程序有关系了,不过我会尽可能都注释起来的