- 博客(659)
- 资源 (20)
- 收藏
- 关注
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Andriod --- JetPack :Room + ViewModel + LiveData 增删改查实例
1.Andriod — JetPack (一):初识 JetPack2.Andriod — JetPack (二):LifeCycle 的诞生3.Andriod — JetPack (三):ViewModel 的诞生4.Andriod — JetPack (四):BaseObservable 与 ObservableField 双向绑定5.Andriod — JetPack (五):DataBinding + LiveData +ViewModel 简单实例6.Andriod — JetPack
2022-03-31 19:40:49
4576
1
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Andriod --- JetPack :Room 增删改查
文章目录一、前言二、Romm 的应用一、前言Android 采用 SQlit 作为数据库存储,开源社区常用的 ORM (Object Relational Mapping) 库有 ORMLite、GreenDao 等。Room 和其他库一样,也是在 SQLite 上提供了一成封装。这个 ORM 我们解释一下,因为我们用 Java 写的程序都是面向对象编程的(oop),而数据库是面向关系的,表与表之间的关系等等,那么我们怎么把这两者之间串联起来的就有了ORM,对象-关系-映射,这个东西。而 Room
2022-03-31 16:11:13
3511
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Andriod --- JetPack :BaseObservable 与 ObservableField 双向绑定
一、什么叫单向绑定与双向绑定单向绑定:对象变化的时候 TextView 自动更新双向绑定:对象变化的时候 EditView 自动更新。EditText 变化的时候对象的值也发生变化。二、BaseObservable 双向绑定代码实例MainActivity.javaimport androidx.appcompat.app.AppCompatActivity;import androidx.databinding.DataBindingUtil;import androidx.databin
2022-03-28 17:32:50
2368
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Andriod --- JetPack :DataBinding + LiveData +ViewModel 简单实例
一、DataBinding让布局页面承担了部分原本属于页面的工作,是页面文件和布局耦合度进一步降低。页面文件:Activity。布局:activity_main.xml减少了很多 findViewById 与 OnClickListener二、LiveData在 ViewModel 中的数据发生变化时通知页面这里的 Model 层下面的例子未呈现,等过后学到了 JetPack - Room 自然就懂了三、ViewModel1.它是介于 View(视图)和 Model(数据模型)直接的桥梁2
2022-03-14 15:49:44
3565
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Andriod --- JetPack:ViewModel 的诞生
一、ViewModel的诞生1.瞬态数据的丢失比如用户在界面上输入了数据,如果屏幕旋转之后,数据就发生了丢失。ViewModel实际上是以Map的方式保存我们的数据2.异步调用的内存泄漏3.类膨胀提高维护的难度和测试的难度比如在 Activity 中写的代码太多,导致维护难度增加二、ViewModel的作用1.它是介于 View(视图)和 Model(数据模型)直接的桥梁2.使视图和数据能够分离,也能够保持通信三、使用ViewModel的注意事项1.不要向ViewModel中传入Co
2022-03-14 14:56:27
675
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Andriod --- JetPack :LifeCycle 的诞生
一、使用的原因解耦系统组件与普通组件二、代码实例1比如一个普通控件 Chronometer 的使用与 Activity 的生命周期关联的太强,即普通控件 Chronometer 的业务逻辑必须在 Activity 的生命周期中处理,这样的耦合度就太高,所以我们使用LifeCycle 来解决我们先来看没有使用 LifeCycle 之前的代码:MainActivity.javapackage com.example.lifecycle;import androidx.appcompat.app
2022-03-13 22:09:24
2648
![](https://csdnimg.cn/release/blogv2/dist/pc/img/listFixedTop.png)
原创 Andriod --- JetPack :初识 JetPack
一、JetPack出现的原因App架构设计的标准的缺失,我们所用过的MVC、MVP、MVVM系列模式可能都是根据自己项目的场景构建的,而并不符合Google的设计方案,所以Google推出Android架构设计标准JetPack。二、什么叫JetPack简单一句话概括:JetPack 是一个由多个库组成的套件,可以帮助开发者遵循最佳做法,减少样板代码编写,可在各种Android版本和设备中一直运行代码,让开发者集中精力编写重要的代码,看下面的图:三、为什么使用JetPack1..
2022-03-13 19:21:19
2870
原创 Android --- Kotlin学习之路:协程的使用,什么是协程,为什么要用协程?(学习笔记)
协程是基于线程,它是轻量级的线程java用的是线程,kotlin用的是协程,协程是个并发管理工具,定位跟线程其实是一样的。其实就是把java的线程包了一层。之前我们做网络请求的时候,想把网络请求的结果响应在主线程中,应该怎么写?一般情况下我们会在主线程去开启一个子线程发起网络请求,然后将请求的结果在主线程显示比如Retrofit,会帮我们实现自动在主线程去发起网络请求,不用我们自己new Thread,然后。
2024-07-19 14:24:39
980
原创 Android --- Kotlin学习之路:自己写一个SDK给别的APP用(暴漏一个接口,提供学生的身高数据)
今天又来肝kotlin了,主题是:用kt写一个SDK给其他人用,这个小技能在项目中会经常用到,应该有很多小伙伴还不会用,不会的请往下看—⬇。接下来,我们到另外一个app,把刚才打包好的hights-release.aar放到libs下面。接下来你就会在项目工程下面看到刚刚所创建的module,我这里是hights。下添加以下代码,为了后面打包用,写完下面代码,记得sync一下。最终打包好的aar就会输出到build/libs/下面。最后随便写个main,调用SDK中的方法就可以了。
2024-07-12 16:52:24
407
原创 Android --- Kotlin学习之路:基础语法学习笔记
----------------------------------------基础只是学习完之后训练的例子-------------------------------------------------println(“server respose result : ${if (isLogin) “登录成功” else “登录失败”}”)我们可以给jar包中的某个类添加方法,因为jar包中的那个方法本身是不可以修改的。println(“是否继续使用程序,继续使用请输入Y,不使用请输入N”)
2024-07-10 15:11:28
1098
原创 Android --- Android 8.0之后不允许在后台启动一个服务的解决方案
这些限制导致在后台运行的服务可能会被系统认为是无效的,从而限制或者终止这些服务。JobIntentService 是 Android 提供的一个服务类,专门用于处理那些需要长时间运行的后台任务,它能够利用系统的 JobScheduler API,在适当的时候执行任务,而不会像普通服务那样直接在后台无限期运行。如果你的应用确实需要在后台长时间运行,并且需要执行一些重要的任务,可以将服务设置为前台服务(Foreground Service)。前台服务会在状态栏显示一个持续的通知,用户可以随时看到服务正在运行。
2024-07-09 15:51:43
427
原创 Android --- 运行时Fragment如何获取Activity中的数据,又如何将数据传递到Activity中呢?
在 Fragment 中,可以通过 getActivity() 方法获取当前 Fragment 所依附的 Activity 实例。使用 ViewModel 来管理数据,Fragment 和 Activity 都可以通过获取同一个 ViewModel 实例来共享数据。定义一个接口,在 Fragment 中实现该接口,并在 Activity 中设置接口的回调,这样可以实现 Fragment 向 Activity 传递数据的双向通信。
2024-07-09 14:27:23
523
原创 Android --- Kotlin学习之路:Retrofit 异步网络请求
【代码】Android --- Kotlin学习之路:Retrofit 异步网络请求。
2024-07-08 13:20:23
77
原创 Android --- Kotlin学习之路:Okhttp 同步异步网络请求
【代码】Android --- Kotlin学习之路:Okhttp 同步异步网络请求。
2024-07-05 16:34:14
241
原创 Android --- Kotlin学习之路:ViewBinding+Adapter+RecycleView实现垂直列表
【代码】Android --- Kotlin学习之路:ViewBinding+Adapter+RecycleView实现垂直列表。
2024-07-05 14:31:18
403
原创 Android --- 新电脑安装Android Studio 使用 Android 内置模拟器电脑直接卡死,鼠标和键盘都操作不了
大概原因就是,初始化默认Google的安卓模拟器占用的RAM内存是2048,如果电脑的性能和内存一般的话就可能卡死,解决方案是手动修改安卓模拟器的config文件,重启模拟器。新电脑安装Android Studio 使用 Android 内置模拟器电脑直接卡死,鼠标和键盘都操作不了。1.点击模拟器右侧三个点 - Show on Disk。3.修改hw.ramSize = 256字段即可。下面有演示的是 2024版本的 AS。2.找到config文件。
2024-07-02 10:03:35
468
1
原创 Android --- MVVM+DataBinding+Fragment+Retrofit+Adapter 简单示例
首先,我们将使用 Retrofit 进行网络请求,所以我们需要添加 Retrofit 的依赖。接下来,我们创建一个接口来定义我们的 API 请求。
2024-06-07 10:30:45
365
转载 Android --- 线程池概述
Executors:jdk1.5之后的一个新类,提供了一些静态方法,帮助我们方便的生成一些常用的线程池,ThreadPoolExecutor是Executors类的底层实现//构造方法public ThreadPoolExecutor(int corePoolSize,//核心池的大小int maximumPoolSize,//线程池最大线程数long keepAliveTime,//保持时间TimeUnit unit,//时间单位。
2024-06-04 10:45:12
35
转载 Android --- 自定义View的三种实现方式及自定义属性使用介绍
我们在使用Android原生控件的时候,经常可以看到在布局文件中可以设置很多的属性值,如
2024-06-03 12:18:30
343
转载 Android --- 图解四种启动模式及实际应用场景解说
而一般onCreate方法中会进行该页面的数据初始化、UI初始化,假设页面的展示数据无关页面跳转传递的參数,则不必操心此问题,若页面展示的数据就是通过getInten() 方法来获取,那么问题就会出现:getInten()获取的一直都是老数据,根本无法接收跳转时传送的新数据!系统会为它创建一个单独的任务栈,由于栈内复用的特性。假设你在当前的Activity中又要启动同类型的Activity,此时建议将此类型Activity的启动模式指定为SingleTop,能够降低Activity的创建,节省内存!
2024-06-03 10:52:58
398
转载 SVN --- Failed to run the WC DB work queue associated with 错误的解决
svn checkout 代码是出现如标题的错误,提示我clean up ,clean up失败,于是网上搜到了这一clean up 失败的解决方法,clean up 后再进入代码update 就可以了。5.看到很多记录,下一步执行sqlite3 .svn/wc.db “delete from work_queue”6.ok了,现在在到项目里面,执行cleanup,完全没问题了,图标状态也已经恢复了。svn提交遇到恶心的问题,可能是因为上次cleanup中断后,进入死循环了。解决方法:清空svn的队列。
2024-05-31 16:52:55
335
1
原创 Android --- 英文单引号用'替换报错:does not contain a valid string resource
Android --- 英文单引号用'替换报错:does not contain a valid string resource
2024-04-23 17:25:59
328
1
原创 Android --- Content Provider是使用示例,通俗易懂
当两个应用程序之间需要共享数据时,可以通过 Content Provider 来实现。在这个示例中,我们将创建一个简单的 Content Provider,让 App_B 暴露人口总数的数据,并由 App_A 来获取这个数据。
2024-01-30 15:38:25
789
原创 Android --- Activity/Window/DecorView/ViewRootImpl的创建时机
【代码】Android --- Activity/Window/DecorView/ViewRootImpl的创建时机。
2023-12-01 16:38:06
717
转载 VMWare使用中遇到的问题:1.“该虚拟机似乎正在使用中,请按“获取所有权(T)”按钮获取它的所有权。” 2.打不开磁盘Ubuntu.64位.vmdk,导致打开虚拟机失败
2、然后,将后缀为.lck的文件夹删除,或者或避免删错可以移动到备份文件夹中,也可以直接重命名此文件夹,在这里我将文件夹Windows 10 x64.vmx.lck改为Windows 10 x64.vmx.lck.backup。3、然后重新打开虚拟机,发现此虚拟机可以正常打开了,这样就成功的解决了“该虚拟机似乎正在使用中”问题。作者:知识货栈 https://www.bilibili.com/read/cv24303987/ 出处:bilibili。这是由于上一次虚拟机未正常关闭而引起的。
2023-10-07 09:20:38
598
原创 Andoird --- RecycleView 恢复上次滚动到的位置
【代码】Andoird --- RecycleView 恢复上次滚动到的位置。
2023-06-20 19:48:55
14
原创 Android --- 内存泄漏,如果查不到具体泄漏的原因怎么处理?
解决方案:通过反射把SearchActiity中的mActivityResultRegistry砍掉,因为查不到具体原因,只能这么做。
2023-06-08 09:31:58
483
原创 Memory Analyzer(MAT)打开android eclipse Dump内存文件出现 Unknown HPROF Version解决办法
原因是: android的虚拟机导出的内存文件hprof文件格式与标准的 java hprof文件格式标准不一样,根本原因两者的虚拟机不一致导致的。参考:https://www.cnblogs.com/shuzui1985/archive/2013/03/01/3020963.html。只需要使用SDK中自带的转换工具转换就可以了。注意要在以下位置用命令行的方式输入。
2023-06-05 15:21:41
1003
原创 Andorid --- File->ProjectStructure->SDK Location->Gradke Setting下面的Gradle JDK不可选择,选了之后也不生效,解决方案
Andorid --- File->ProjectStructure->SDK Location->Gradke Setting下面的Gradle JDK不可选择,选了之后也不生效,解决方案
2023-05-19 17:15:36
358
原创 Android --- 打包APK的时候无法将data/data/包名/databases/下的数据库文件一起打包怎么解决?
【代码】Android --- 打包APK的时候无法将data/data/包名/databases/下的数据库文件一起打包怎么解决?
2023-04-21 10:55:56
486
原创 Android --- logcat 打印日志、设置缓存大小、过滤等
3.禁止所有log tag 的输出,设置所有log, S等级及以上的log才能输出,S等级最高,V等级最低。5.使log tag 为 APP_A 的输出,设置log tag 为 APP_A 的V等级及以上能输出。4.禁止log tag 为 sss的输出,设置log tag 为 sss 的S等级及以上才能输出。决定相关log的指定等级及以上才可以写入,ABC是指某个tag,TAG长度不能太长。2.使能所有log tag 输出,设置所有log V等级及以上才能输出。4.输出APP_A的log。
2023-03-01 12:00:57
6779
转载 Andriod --- 如何理解混淆配置?
今天看到一篇有关Android混淆配置比较好的文章,拿出来分享给大家,一起学习!android studio自带java语言的ProGuard工具,主要用来压缩、优化、混淆,然后配合Gradle构建工具实现混淆。
2023-02-28 14:33:48
490
520/情人节/过生日/纪念日表白 - 爱心飘落
2024-07-08
Python 基础课程《17.数据结构与算法》
2024-05-29
Python 基础课程《16.函数使用进阶》
2024-05-29
Python 基础课程《15.迭代器与生成器》
2024-05-29
Python 基础课程《14.异常》
2024-05-29
Python 基础课程《13.变量的使用进阶》
2024-05-29
Python 基础课程《12.文件的基本操作》
2024-05-28
Python 基础课程《11.面向对象》
2024-05-28
Python 基础课程《10.模块与包》
2024-05-28
Python 基础课程《8.函数》
2024-05-28
Python 基础课程《7.字典与集合》
2024-05-28
Python 基础课程《6.列表、元组、字符串》
2024-05-28
Python 基础课程《5.循环结构》
2024-05-28
Python 基础课程《4.选择结构》
2024-05-28
Python 基础课程《3.python基础语法》
2024-05-28
Python 基础课程《2.python的世界》
2024-05-28
《中国电子学会青少年编程Python》2022年12月6级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年12月5级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年12月4级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年12月3级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年12月2级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年12月1级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年9月5级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年9月4级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年9月3级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年9月2级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年9月1级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年6月5级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年6月4级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年6月3级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年6月2级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年6月1级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年3月5级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年3月4级题目及答案
2023-11-18
《中国电子学会青少年编程Python》2022年3月3级题目及答案
2023-11-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人