大道如青天,我独不得出
将网易云API通过宝塔布署到云服务器
解决在Android Compose中点击空白处收回软键盘
Kotlin基础语法
解决阿里云远程连接yum无法安装问题(Ubuntu 22.04)
Android Compose——ScrollableTabRow和LazyColumn同步滑动
指针大小:32位操作系统中指针占4个字节; 64位操作系统中指针占8个字节
C++程序在执行时,将内存大致分为四个区域; - 代码区:存放函数体的二进制代码,操作由系统管理 - 全局区:存放全局变量和静态变量以及常量 - 栈区:由编译器自动分配释放,存放函数的参数值(形参),局部变量等 - 堆区:由程序员分配和释放,若程序员不手动释放,系统在程序结束时自动回收
此Demo采用Android Compose声明式UI编写而成,主体采用MVVM设计框架,Demo涉及到的主要技术包括:Flow、Coroutines、Retrofit、Okhttp、Hilt以及适配了深色模式等;主要数据来源于Bilibili API。
此Demo是参考Google Github其中一个Demo而完成,涉及的内容并不复杂,主要是为了熟悉Compose编码习惯,其次参考官方的代码,可以有利于培养编程思维,仅此而已
第二版基于第一版新增了以下功能: 1. 音乐下载 2. 音乐离线播放 3. mLog视频播放 4. 个人信息 5. 音乐信息 6. 删除本地音乐
Github上有位牛人将网易云音乐的接口进行部署和总结,然后我将它的仓库部署到我的云服务器上,因为他的是需要翻墙的,此项目所有接口信息均与网易云音乐关联。 由于此项目用于熟悉kotlin语言,所以绝大部分代码均使用kotlin编写; 目前EasyMusic为第一版,功能上还有欠缺,但主流程已经基本完成;
本Demo采用Hilt+Retrofit+Paging3完成,主要为了演示paging3分页功能的使用
首先,某个类的成员变量称为依赖,如若此变量想要实例化引用其类的方法,可以通过构造函数传参或者通过某个方法获取对象,此等通过外部方法获取对象实例的称为依赖注入;而依赖注入又可以简单分为`手动注入`和`自动注入`两种方式;`Hilt`就是基于Dagger进行`场景化优化`的一个依赖注入库,Hilt是Google专门为Android平台打造的一个依赖注入库,在使用上极大程度进行啦简化(与dagger相比)
此项目功能较为简单,基本就是使用Room数据库实现CRUD,但是此项目实现了一个干净的架构,项目使用MVVM架构进行设计,每一个模块的职责划分清晰,功能明确,没有冗余的代码。其中涉及了Hilt依赖注入,对于数据库的的操作,使用接口实现类进行获取,然后将实现类的CRUD操作封装在一个数据类中,最后通过Hilt自动注入依赖,供外部调用。
此天气数据源采用[心知天气API(试用版)](https://www.seniverse.com/),免费版获取数据有限,只能获取普通的温度、湿度等,例如压力、云量、可见度等均获取不到,试用版相当于正式版,可以获取大部分数据,试用日期是14天。 首页不同城市天气页面之间的滑动采用的是`ViewPager`,编辑界面的搜索栏采用的是`SearchView+ListView`,其中城市数据源是统计到一个xml文件中;通过点击搜索匹配项,插入至SQLite数据库中,然后刷新当前天气子项,然后通过`EventBus`通知首页更新views页面。处于编辑状态时,删除子项,同样使用`EventBus`通知
自定义圆形TextView 效果图 建立attr文件 绘制圆形 字符拼接 清空栈内元素 运算执行 手势监听 入栈&&出栈 运算结果 小数位判断 运算代码 任意进制转换 效果视频 进制转换 结果逆置 结果返回
绘制滚动条 区别选中与未选择文字 绘制等高间距 滑动事件监听 解析承载城市数据的XML文件 下载XML文件 解析文件 适配器 建立适配器类 适配器子项视图 效果图 代码 适配器绑定 单向绑定
联系人总览 效果图 SQLite数据库 建表 CRUD 增 删 改 查 滚动条 联系人分组 数据库数据与滚动条绑定 添加联系人 效果图 添加紧急电话联系人 数据源 添加 新增 编辑与查看联系人 查看 效果图 大图姓氏 数据收发 发 收 编辑及删除 删除 拨号 申请权限 隐式Intent
电子地图 地图 修改定位图标 定位 导航 尾言
功能实现 人脸支付 API初始化 人脸特征提取 返回支付结果 密码框输入支付 自定义密码输入框控件 初始化控件 密码匹配 尾言 效果展
效果视频 跳转至百度地图进行算路导航 APP内进行算路导航 功能实现 跳转方式实现 权限声明 判断手机内是否安装百度地图 实现跳转至百度地图 非跳转方式实现 UI设计 背景 圆点 布局代码 功能实现 权限声明 初始化BroadCast 初始化车辆信息 初始化节点信息 节点信息交换 地址信息转地理信息(经纬度) 保存地理信息 算路导航 销毁
散列函数的构造方法 数字分析法 平方取中法 平方取中法测试 测例1 测例2 折叠法 折叠法测试 测例1 测例2 随机数法 随机数法测试 测例1 除留余数法 解决散列冲突的方法 开放定址法 公共溢出区法 以开放定地法为基础的全部代码 全部代码 测试效果 以公共溢出区法为基础的全部代码 全部代码 测试效果 尾言
单例封装杀死Activity 代码 引用 添加Activity 杀死所有Activity
MVC 描述 缺点 优点 MVP 效果图 描述 缺点 优点 代码解析 视图效果图 建立实体类 建立实体类接口 实现实体类接口 设置P层 建立交互接口 数据绑定 MVVM 效果图 描述 代码解析 导入dataBinding 实体类 建立viewmodel xml绑定数据 视图与数据绑定
实现RecyclerView列表 效果图 导入引用 导入Recyclerview依赖 导入dataBinding引用 代码解析 建立实体类 建立RecyclerView子项 适配器 建立适配器 设置子项点击事件 adapter全部代码 建立VM层 子项点击事件的使用 VM层代码 数据与视图交互
效果图 示例结构图 代码解析 导入dataBinding 实体类 显示图片 实体类全部代码 xml视图 VM 接收数据 发送数据 建立接口,回调数据 制造数据 绑定视图与数据层
六大原则 单一职责原则 定义 定义: 确保单例类只有一个实例,并且这个单例类提供一个函数接口让其他类获取到这个唯一的实例。 1 解释:一个类只负责一个职责,不要存在多于一个导致类变更的原因。
单例模式的介绍 优点 缺点 Synchronized Synchronized示例 Synchronized与非Synchronized Singleton 第一个示例 第二个示例 第三个示例 第四个示例 第五个示例
功能介绍 代码详解 总结
一个简单智能停车APP 功能介绍 代码详解 总结
开发者平台配置篇 创建应用 导入相关jar包
自定义View 画一个实心圆 效果图 创建attrs.xml文件 初始化样式属性 支持Padding属性 支持wrap_content属性 布局文件中的应用 画一个带外圆环的圆 效果图 创建attrs.xml文件 初始化样式属性 内圆与外圆环的绘制 布局文件中的应用 画一个外圆环可根据数值变动的圆 效果图 创建attrs.xml文件 初始化样式属性 绘制View 提供方法修改样式 布局文件中的应用
Android自定义View——体重表盘 分析 起始角度 圆弧 指针 代码 初始化属性 画布 绘制内圆弧 绘制外圆弧 绘制中间指针 绘制中间文字 绘制左右两边文字 动画 全部代码
SharedPreferences封装 存 取 封装类
顺序线性表的插入、删除、合并 前言 插入 删除 合并
线性单向链表的插入、删除、合并 前言 插入 删除 合并
不同的按键对应实现不同功能的灯闪烁 功能介绍 程序解读 总结
我们在编程中,如果要插入一张图片,大部分直接使用ImageView直接加载,但在实际编程当中,有时候图片的原始尺寸并不符合ImageView。 使用BitmapFactory类中的四个方法:decodeFile,decodeResource,decodeStream,decodeByteArray(文件,资源,IO流,字节数组)中加载Bitmap对象,可以使用InSampleSize采样率来缩小图片,还可以缩小图片内存大小,一定程度避免OOM。
新大陆云平台篇 简介 代码分析 全部代码
点对点通信 内容简介 代码分析 全部代码 全部头文件
点对点通信实现跑马灯 内容简介 代码解析 全部代码
一:BitmapDrawable 二:ShapeDrawable 三:StteListDrawable 四:LevelListDrawable 五:ScaleDrawable 六:ClipDrawable
云平台登陆代码详解 开启应用 登陆云平台
下载云平台Android–SDK 云平台Android–SDK下载
创建通知之前需要对android版本进行一个判断 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) 1 activity_main.xml代码里仅有一个Button用于响应通知,代码不再展示
简介: 我们一个程序会存在不同的Activity,也会存在许多实例,这些实例就会进入任务栈中,任务栈采用“后进先出”的算法,例如:我们使用手机,打开QQ,在QQ界面进入一个聊天界面,此时存在两个Activity实例,假设我们按一下back键我们将回到QQ主界面,在按一下back键我们将回到屏幕主界面,这就是“后进先出”。
显示Intent 我相信显示Intent大家已经使用的非常熟练了,此处不再过多阐述。
点亮第一盏灯 引用的引脚值对应开放板上各个引脚,不同开发板存在差异
实现四盏灯全亮 宏定义引脚 初始化引脚 亮灯
通过延迟函数实现轮流闪烁 宏定义 初始化引脚 IO 延迟函数 执行策略一 执行策略二