LayoutInflater开头先附一段LayoutInflater类的注释简介/** * Instantiates a layout XML file into its corresponding {@link android.view.View} * objects. It is never used directly. Instead, use ......
247
0
0
2023-05-10
目录一、案例演示二、实现步骤1、activity_main.xml2、MainActivity.java3、UserDao.java4、User.java5、SQLiteOpenHelper.java总结一、案例演示二、实现步骤1、activity_main.xml页面布局代码<?xml version="1.0" encoding="utf-8"?& ......
245
0
0
2023-05-09
OkHttp的封装由于是封装我们可以吧OKHttp和Gson给结合起来,那么我们在gradle文件添加以下的依赖compile "com.squareup.okhttp:okhttp:2.4.0"compile 'com.squareup.okio:okio:1.5.0'compile "com.google.code.gson:gson:2.8.0"①Ca ......
319
0
0
2023-05-08
目录前言事件分发原因事件分发对象事件分发方法事件分发参与者事件分发流程事件分发源码前言在 Android 中,事件分发机制是一块很重要的知识点, 掌握这个机制能帮你在平时的开发中解决掉很多的 View 事件冲突问题,这个问题也是面试中问的比较多的一个问题了,本篇就来总结下这个知识点。事件分发原因Android 中页面上的 View 是以树型结构显示的,Vie ......
275
0
0
2023-05-08
目录synchronized的三种使用方式synchronized底层语义原理理解Java对象头与Monitorsynchronized代码块底层原理synchronized方法底层原理Java虚拟机对synchronized的优化关于synchronized可能需要了解的关键点线程中断与synchronized中断与synchronized等待唤醒机制与s ......
406
0
0
2023-05-06
目录各种配置文件编写proto文件并编译编写简单的demo代码结语下面介绍的这个版本搭配是我研究好久好久才跑通的,这在我的电脑上是一组可行的配置,如果你使用了同样的配置跑不通,那可能是环境中某一部分还是有不同的地方,需要你自己再去找一下解决问题的办法,那么话不多说,直接上配置吧。各种配置文件首先我们需要设置三个配置文件,如下图所示我们先来看一下项目设置set ......
375
0
0
2023-05-05
目录一,先看效果图二,实现方式做音乐播放器,必然要用到通知栏,由于通知栏很多版本都有改动,一些厂商也做了调整,适配起来比较麻烦,能用系统自带的就用。这里分享一下系统媒体通知栏的适配。需要考虑的问题如下:1,通知栏适配,音乐播放需要常驻,所以要维护一个通知栏。2,音控处理,在安卓7.0及以下,通过MediaSessionCompat可控制锁屏页音乐播放。3,对 ......
406
0
0
2023-05-02
目录概览设置蓝牙蓝牙权限设置蓝牙查找设备查询已配对设备发现设备启用可检测性概览Android 平台包含蓝牙网络堆栈支持,此支持能让设备以无线方式与其他蓝牙设备交换数据。应用框架提供通过 Android Bluetooth API 访问蓝牙功能的权限。这些 API 允许应用以无线方式连接到其他蓝牙设备,从而实现点到点和多点无线功能。Android 应用可通过 ......
268
0
0
2023-05-02
目录1 Dart 中的事件循环模型1.1 向 microtask 队列中添加任务1.2 向 event 队列中添加任务2 Dart 中的异步实现2.1 Future()2.2 Future.delayed()2.3 Future.microtask()2.4 Future.sync()2.5 catchError、whenComplete2.6 async、 ......
272
0
0
2023-04-28
目录前言业务需求解读实体类设计数据库工具类备忘录数据表访问接口UI 界面实现运行结果总结前言前面一篇我们介绍了使用 shared_preferences实现简单的键值对存储,然而我们还会面临更为复杂的本地存储。比如资讯类 App会缓存一部分上次加载的内容,在没有网络的情况下也能够提供内容;比如微信的聊天记录都是存储在手机客户端。当我们需要在本地存储大量结构化 ......
263
0
0
2023-04-21
一、背景随着项目逐渐扩展,业务功能越来越多,代码量越来越多,开发人员数量也越来越多。此过程中,你是否有过以下烦恼?项目模块多且复杂,编译一次要5分钟甚至10分钟?太慢不能忍?改了一行代码 或只调了一点UI,就要run整个项目,再忍受一次10分钟?合代码经常发生冲突?很烦?被人偷偷改了自己模块的代码?很不爽?做一个需求,发现还要去改动很多别人模块的代码?别的模 ......
434
0
0
2023-04-20
目录前言一、接口/类委托二、属性委托三、延迟委托四、观察者委托五、Map委托总结前言在设计模式中,委托模式(Delegate Pattern)与代理模式都是我们常用的设计模式(Proxy Pattern),两者非常的相似,又有细小的区分。委托模式中,委托对象和被委托对象都是同一类型的对象,委托对象将任务委托给被委托对象来完成。委托模式可以用于实现事件监听器、 ......
354
0
0
2023-04-19
目录Android 匿名内存解析MemoryFile使用Service端Client端AshMemory 创建原理AshMemory 读写Linux共享机制简介总结Android 匿名内存解析有了binder机制为什么还需要匿名内存来实现IPC呢?我觉得很大的原因就是binder传输是有大小限制的,不说应用层的限制。在驱动中binder的传输大小被限制在了4 ......
352
0
0
2023-04-14
目录Android事件分发的事件从何而来Activity的事件分发ViewRootImpl事件分发DecorView事件处理Android事件分发的事件从何而来事件分发一直以来都是一个android知识的重点。从应用开发角度和用户的交互就是在处理事件。Activity的事件分发事件分发一般情况都会讲view的分发过程,他的过程缩略起来就可以这样表示。publ ......
283
0
0
2023-04-14
不知道你们在使用Retrofit访问后台接口时返回的数据是否是一样的格式,比如登录接口,在我们输入密码成功或错误的时候后台返回的数据格式是不同的,这样我们在添加GsonConverterFactory解析后台数据时由于后台会返回两种不同的数据所以会导致Gson解析失败的错误信息。这里以自己项目的登录接口为例子记录下自己的解决方案。登录成功和失败的两种数据格式 ......
264
0
0
2023-04-12