- 博客(22)
- 收藏
- 关注
原创 Kotlin中Unit、Any和Nothing
Unit是一个特殊的类型,它表示“没有意义的值”的单元类型。在Kotlin中,当你不需要函数返回任何具体值时,可以使用Unit类型。因为对这个Nothing很感兴趣所以写了这篇博客,想和这个函数一样,如果休息时间有人call我就抛异常。一般就用来抛异常,还有一种是循环和资源复用?表示一个函数或方法永远不会正常返回。利用Nothing是所有类的子类型。和Java 中 void一样。类似Java中Object。Java里面没有这个概念。
2024-07-11 22:45:45 135
原创 Jetpack Compose学习记录(一)
学了一段时间的Compose,不得不说声明式UI比原生的开发效率快很多,而且Compose也是Google现在主推的开发模式,可以动态化地更改ui,相比于databinding对数据和布局进行绑定。Compose更近一步,界面上任一控件也可以动态地进行改变。在某些场景下,有些需要写多套布局,而Compose只需要写一套。缺点个人认为也显而易见,虽然理论上可以实现几乎所有和原生一样的功能,但是比如RecyclerView这样的控件,Compose中的LazyColumn还是没有那么丝滑;
2024-07-11 22:29:41 344
原创 Android中RecyclerView使用详解(一)
RecyclerView 是 Android 开发中一个非常强大且灵活的组件,用于在有限的窗口中展示大量数据集。它提供了一种比传统的 ListView 更高效的方式来滚动大量数据项。RecyclerView 不仅可以像 ListView 那样垂直滚动,还可以水平滚动,甚至支持更复杂的布局,如网格布局(Grid Layout)、瀑布流布局(Staggered Grid Layout)。
2024-07-11 00:48:06 679
原创 Markdown文档基础语法
#一级标题##二级标题反斜杆\为转义符加粗的文字** 加粗的文字 **斜体* 斜体*删除的文字~~ 删除的文字 ~~都可以套用:比如加粗斜体:加粗的斜体换行一般为空两格然后回车键,我更习惯用br标签前面一个* 一个空格1.加上一个空格二级列表四个空格```kotlin```> 加上空格[百度](url)百度我是脚注1图片的话要链接一般设置成网络图片或本地图片。在超链接的前面加个!|姓名|年龄||-|-|<img src="https://img-blog.csdnimg.cn/i
2024-07-07 12:27:24 209
原创 Andoird中Sqlite数据库的使用
是一种轻量数据库,一般用于手机或者嵌入式设备中。SQL:结构化查询语言。在Android中我们一般继承于SQLiteOpenHelper进行SQLite的一个实现。
2024-07-06 21:51:08 368
原创 Android持久化存储之SharedPreferences
之前ViewModel,是在内存做一个缓存,一般情况下当应用退出就会丢失。而持久化存储,也就是存储到磁盘里面,一般卸载应用清除数据会丢失。默认在data/data/包名/shared_prefs下,本质是xml里面的键值对。apply()方法是异步的,不会阻塞主线程,而commit()方法是同步的,会阻塞主线程直到数据被写入。4、MODE_WORLD_WRITEABLE:可被其他应用写入。2、MODE_PRIVATE:私有方式存储,其他应用无法访问。下面的代码,sp的传入需要Context。
2024-07-03 22:51:20 348
原创 Android中ViewModel、LiveData以及DataBinding的使用
ViewModel、LiveData以及DataBinding都是Jetpack中的组件,准备做一个三者结合的计数器小应用,分别为+1,+2。由于ViewModel的特性我们切换横竖屏的时候数据仍然不会丢失。
2024-07-03 00:17:03 480
原创 Android横竖屏
默认有竖屏,也就是protrait布局文件,我们点击下图所示的按钮创建横屏landscape布局文件。可以在xml中配置configChanges, 表示在改变屏幕方向或大小的时候状态不变。当横竖屏切换的时候Activity走了Destroy,如果我们想保存状态,可以通过重写。我们移动设备一般可以切换横竖屏,可以编写不同的布局文件显示不同的布局。还可以设置屏幕的方向,有些车机会限定横屏或者竖屏。有些应用也会,比如金铲铲,王者荣耀。比如给横竖屏的按钮换个颜色。
2024-06-30 23:16:20 301
原创 Android本地化
简单学习一下Android本地化,也就是在手机系统切换语言时显示不同的文字,比如Hello变成你好。在strings.xml里面配置字段,并且点击右上角进入配置。xml中一个textview,使用定义的字符串资源。点击图标配置选取中文下对应的含义。
2024-06-30 14:05:49 275
原创 Android MVVM架构学习
ViewModel:作用个人感觉和MVP的Presenter层一样。不过ViewModel是不持有view引用的,当VIewModel的数据更新时,view层会相应更新ui,一般与jetpack相配合。View: 界面层,对应于Activity,XML,负责数据显示以及用户交互。相比MVP,这里面的view视图数据一般是在xml中使用DataBinding进来双向绑定数据的。Model:数据层,包含数据实体和对数据实体的操作。DataBinding可以看我的上一篇博客链接。应该写的还是比较简单清晰的。
2024-06-29 22:18:11 293
原创 Android安卓里ViewBinding和DataBinding的使用
相信大家在接触Android开发的时候都会在Activity中使用findViewById来将xml中的组件,如Button、TextView等进行绑定。ViewBinding帮我们生成了一个ActivityMainBinding类,我们通过ActivityMainBinding.inflate()来加载布局,再设置bingding的根布局为内容视图。在ViewBinding的基础上除了可以绑定控件id,还进行了数据绑定。在build.gradle或kts文件进行配置。xml配置进行事件绑定。
2024-06-29 19:37:53 319
原创 Android安卓MVP模式
最近实习写mvvm比较多,但是好多老项目都是mvp,准备接下来写一个mvp模式的demo练手,在此之前做一个复习。mvp在mvc模式的基础上发展而来,原来的Controller是Activity,但是还view,高度耦合。具体可以看我的上一篇博客。
2024-06-29 00:58:18 1016
原创 Android SDK开发学习
SDK全称 Software Development Kit,广义上的SDK 是为特定的软件包、软件框架、硬件平台、操作系统等建立应用程序时所使用的开发工具的集合;1)数据化存储相关,sp、mmkv、sqlite等最好都不要明文存储==如地图SDK、人脸识别或OCR的SDK、支付SDK、音视频SDK等等。2)网络安全配置,networkSecurityConfig。注入注入(APP)应用上下文,用于获取相关资源及服务。其实就是jar包、so库、aar包,可以在应用获取也可以利用。1)需要考虑调用简单。
2024-06-23 12:08:07 183
原创 Compose中获取Context弹Toast
不过在Compose里面SnackBar更为推荐常用,除了可作Toast功能还能与用户进行交互,后续会作为介绍其一个封装类的简单实现思路。LocalContext.current只能在compose内部进行使用。2.Compose函数里面获取context。1.简单封装Toast。
2024-06-19 22:29:14 162
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人