自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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

原创 Kotlin协程(一)

应该从函数里面的代码是否需要挂起来思考。

2024-07-09 21:08:12 698

原创 Android中测试环境下用HTTP请求时异常

做小demo时请求的接口用的是HTTP请求,报如下异常。可以看到:有下面异常。

2024-07-07 21:21:22 186

原创 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安卓MVC模式复习

将准备秋招,开始复习一下安卓的基础知识。

2024-06-27 21:52:14 267

原创 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下拉刷新官方组件

参考链接:https://jetpackcompose.cn/docs/layout/pull_refresh。

2024-06-22 12:50:41 173

原创 Hilt引入到Compose中使用(kts文件配置)

1.全局build.gradle下配置。2.项目build.gradle下配置。

2024-06-22 12:47:44 169

原创 Compose中获取Context弹Toast

不过在Compose里面SnackBar更为推荐常用,除了可作Toast功能还能与用户进行交互,后续会作为介绍其一个封装类的简单实现思路。LocalContext.current只能在compose内部进行使用。2.Compose函数里面获取context。1.简单封装Toast。

2024-06-19 22:29:14 162

原创 HTTP学习(1)

超文本传输协议超文本 -> 除了文本,还有图片、视频、超链接等等。

2024-06-11 20:54:32 945

原创 Compose中导航的学习

【代码】Compose中导航的学习。

2024-06-02 22:37:06 188

原创 hexo -d一直没反应的一个坑

用hexo 将文件传到github上遇到的一个坑

2022-06-04 19:33:03 566 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除