- 博客(11)
- 收藏
- 关注
原创 jetpack架构主键学习(3)-ViewModel
由上图官网的描述所示可知,ViewModel的用处:1.就是用于恢复界面的作用(参考ViewModel)2.从界面控制逻辑中分理处视图数据所有权接下来试试 创建一个VIewModel后恢复页面重新创建后的数据创建一个简单的页面创建一个简单的ViewModel正常情况下,修改页面的数据,然后页面旋转重建后,页面数据会变回默认 (这里暂不做演示,有兴趣的朋友自己去试一下,不使用viewModel的情况跟使用viewModel的情况)这里使用了savedIns...
2022-03-25 16:14:18 327
原创 jetpack架构主键学习(2)-LiveData
如果观察者(由Observer类表示)的生命周期处于STARTED或RESUMED状态,则 LiveData 会认为该观察者处于活跃状态。LiveData 只会将更新通知给活跃的观察者。为观察LiveData对象而注册的非活跃观察者不会收到更改通知。您可以注册与实现LifecycleOwner接口的对象配对的观察者。有了这种关系,当相应的Lifecycle对象的状态变为DESTROYED时,便可移除此观察者。这对于 Activity 和 Fragment 特别有用,...
2022-03-24 16:26:40 107
原创 jetpack架构主键学习(1)-DataBinding-ViewBinding
一、什么是 JetpackJetpack 是一个丰富的组件库,它的组件库按类别分为 4 类,分别是架构(Architecture)、界面(UI)、行为(behavior)和基础(foundation)。每个组件都可以单独使用,也可以配合在一起使用。每个组件都给用户提供了一个标准,能够帮助开发者遵循最佳做法,减少样板代码并编写可在各种 Android 版本和设备中一致运行的代码,让开发者能够集中精力编写重要的业务代码。二、Jetpack的优势第一次接触到jetpack的时候还并没有了解jetpa..
2022-03-23 16:42:43 3333
原创 线程池
系统提供的线程池有4种,jdk1.8之后又增加的一种1.定长线程池:Executors.newFixedThreadPool(int);创建固定大小线程池 , 可设置并发数 , 如果并发数已满 , 后续任务会 在 等待队列 中等待可用线程2.单核心线程池:Executors.newSingleThreadExecutor();3.无界(无限自动增长)Executors.newCachedThreadPool();4.按计划(可延时执行)Executors.newScheduledThr.
2021-05-15 18:05:53 92
原创 android蓝牙开发简单获取android设备已经连接过(已适配)的蓝牙设备信息
本文没有深入到如何搜索蓝牙,如何适配蓝牙(既然android系统本身有这部分功能,不需要的情况下就由系统完成就行)本文主要是获取已适配的蓝牙设备
2021-05-14 17:26:54 660
原创 andorid启动页(Android启动等待时默认白屏,看着有点难受,可以用图片来代替白屏)
android默认启动页白色的,有时候初始化东西有点多没优化的时候等待很久。可以设置一张图片做启动页,类似启动微信时显示地球的那个页面第一步:创建style第二步:在配置文件AndroidManifest中的启动的activity中设置theme属性第三步:在启动activity的onCreate中设置主题...
2021-05-14 11:24:35 259
原创 andorid JSON数据解析
待解析数据{ "age": "24", "sex": "男", "name": "测试"}第一种方式,Android自带的json解析面对简单的数据类型时可以直接使用try { JSONObject jsonObject = new JSONObject("待入待解析数据"); String age=jsonObject.getString("age");//使用getString假如不存在age这个参数数据,报空并抛出异常.
2021-05-13 16:59:00 102
原创 Okhttp的简单使用
引入包:implementation 'com.squareup.okhttp3:okhttp:4.9.0'//建议与单例模式一起使用,此处不做延伸//1.创建客户端okHttpClient = new OkHttpClient.Builder() //.sslSocketFactory(TrustAllCerts.createSSLSocketFactory(), TrustAllCerts.getX509TrustManager()) https协议才需要ssl
2021-05-13 10:24:48 226
原创 记录自身常用单例
记录自身常用单例1:双重锁校验private static volatile Single_case single_case;public static Single_case getInstance() { //第一层校验:无需没此都被synchronized限制 if (single_case == null) { synchronized (Single_case.class) { //第二层校验,可能前一个对象已经在实例化,但是
2021-05-13 09:39:55 60
原创 Android写入txt文件
/** * * @param context 刷新文件使用需要(否则电脑上不能第一时间获取到路径下的文件,重启之后刷新) * @param file 读写的文件 * @param stringList 写入的数据 */private void writeTxt(Context context, File file, List<String> stringList) { try { if (!file.exists()) { file..
2021-05-11 15:35:04 2107 1
原创 andorid连接MySQL/SQLserver服务器
1.下载MySQL驱动jar包mysql-connector-java-5.1.30-bin.jar 下载SQlServer驱动jar包jtds-1.3.1.jar2.将jar包导入libs中,右键add as library3.注意:网络请求,数据库操作、大数据操作都需要在工作线程中处理4.加载驱动try { Class.forName("com.mysql.jdbc.Driver");//加载MYSQL驱动 Class.forName("net.sourcef..
2021-04-23 10:46:24 165
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人