- 博客(60)
- 资源 (7)
- 收藏
- 关注
原创 Android视图手册之TCP和UDP(网络协议)
按OSI 7层协议划分,TCP / UDP在传输层,是无法后续非系统层面修改的协议逻辑。
2024-05-21 22:22:44
1318
1
原创 Android视图手册之ContentProvider
ContentProvider(内容提供者),作用是为不同的应用之间数据共享,提供统一的接口,通过uri来标识其它应用要访问的数据,通过ContentResolver的增、删、改、查方法实现对共享数据的操作。还可以通过注册ContentObserver来监听数据是否发生了变化来对应的刷新页面。其中ContentProvider只是承担了一个中间工作者的角色,内部的数据源的操作由提供的应用开发者自己实现,例如Sqlite,文件,XMl,网络等等。/*** 内容提供者/*** 进行创建。
2022-10-29 16:57:03
1763
原创 并发(锁)概要整理
锁能够有效的避免一些线程冲突,但为了解决各类问题情景我们也衍生出了各种类型的锁,比如自旋锁,互斥锁、递归锁等等,我们就Android中常用的几种锁来展开理理对应Android来说的一些线程并发问题。
2022-10-24 06:00:00
491
原创 关于谷歌health Connect库调用的摘要
Health Connect 是一个 Android API 和平台。它将来自多个设备和应用的数据整合到一个生态系统中。对于 Android 开发者来说,它提供了一个读取和写入用户健康与健身数据的接口。对于 Android 用户来说,它提供了一个位置来控制哪些应用对不同类型的数据具有读取和/或写入权限。Health Connect 还提供设备端存储空间。按上述代码集成后,便可快速根据自己需求进行调用测试,因国内设备暂时无法调用,所以未构建相关ui进行测试,仅是协助各位快速拿到核心代码和调用流程。
2022-09-02 23:30:02
1383
1
原创 Android视图手册之Service
Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即使启动服务的组件(Activity)已销毁也不受影响。此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行。
2022-08-20 17:31:43
774
原创 Compose Canvas饼图效果绘制
利用触摸手势,以原图中心点作为基准,将每次移动的分量进行拆分,来判断该区间对于x分量和y分量应该采取加或减的增幅方式,举个例子,当处于饼图下方时(一半高度以下),移动方向为正时,其增幅为正,该方向为顺时针方向,所以角度可以增加,当处于饼图左侧时(一半宽度偏左),移动方向为下时,其增幅为负,该方向为逆时针方向,所以角度需要减少。因为饼图整体呈圆形,所以我们将所有数据合起来当一个圆,里面的每一块数据的占比,就是它的弧度,而对于弧度我们可以用Canvas中的drawArc可以来绘制器弧形。.........
2022-07-19 22:21:41
985
3
原创 Android视图手册之Broadcast广播
作为Android的四大组件之一的广播,是我们和系统交流的重要桥段,比如系统电量的变化,锁屏,日期变化,插上外部电源等等,都会让系统用广播的形式发出,当我们的应用需求需要去接收这些信息的时候就可以用广播来实现。除了和系统交流,我们也可以利用广播和其他应用,或自身进行交流,其本质是基于AMS(Activity Manager Service)来集中管理的消息传递方式。想要使用广播,我们首先需要先创建一个广播接收者,来处理接收到的广播信息和内容,如下只要继承android.content.BroadcastRe
2022-06-26 07:00:00
410
原创 Android视图手册之Handler机制
Android视图手册是本人希望通过结合图文的方式,基于Google官方文档对Android的各个基础知识进行清晰易懂的解释而整理的理论篇。内部尽量不用篇幅较长的代码进行解读,更多的希望通过图文流程的角度理解Android相关的知识,让读者能够容易看懂,容易理解和快速温习,是一本以理论为主的基础手册。适用人员:初步接触Android理论 需要大致了解相关知识的新手;有几年开发经验需要快速回顾基本知识的老手。因本手册大致是Android的基本知识内容,不适用基础扎实的高手进行拓展学习。第二篇 消息分.
2022-06-03 00:00:00
366
原创 Android视图手册之Activity生命周期
Android视图手册是本人希望通过结合图文的方式,对Android的各个基础知识进行清晰易懂的解释而整理的理论篇。内部尽量不会涉及过多实质代码进行解读,更多的希望通过图文流程的角度理解Android相关的知识。适用人员:初步接触Android理论 需要大致了解相关知识的新手;有几年开发经验需要快速回顾基本知识的老手。因本手册大致是Android的基本知识内容,不适用基础扎实的高手进行拓展学习。第一篇 生命周期...
2022-05-28 17:53:40
423
原创 ADB处理万能方案
ADB处理万能方案找不到adb操作设备预先操作,拔掉手机连接线,关闭Android Studio,手机助手等可能会启动adb进程的程序。1、最常见的方案就是先找到占用ADB的端口的程序,然后杀死重启服务。1)找到占用程序的端口(后面是ADB的端口号 默认5037) netstat -ano | findstr 5037可能会出现下列 如下4512 是进程的pidTCP 127.0.0.1:5037 0.0.0.0:0 LISTENING 45122)根据显示的进程pid杀死进程task
2022-05-17 10:47:33
3282
3
原创 packagebname==null 问题解决
packagebname==null遇到 packagebname==null相关报错把项目引用的jdk版本修改一下就行了
2022-02-14 20:38:25
7001
原创 修改cmd编码方式
修改cmd编码方式临时设置:: 设置UTF-8chcp 65001:: 设置简体中文(GBK)chcp 936 永久修改1、按“win+R”或者点击开始菜单,找到运行,在运行输入框里面输入“regedit“,打开注册表编辑器2、定位到:HKEY_CURRENT_USER\Console%SystemRoot%_system32_cmd.exe这时候可以看下有没有 CodePage文件,对于没有 CodePage 的,可以鼠标右键-> 新建 -> DWORD(32位)值,创建
2022-02-14 19:33:13
3350
原创 Apk反编译修改版本号&资源文件方案(基于AndroidKiller)
Apk反编译修改版本号&资源文件方案(基于AndroidKiller)图文操作版密钥配置修改版本号替换资源文件重新编译命令操作版(适用于exe无法打开的情况)前提条件解包APK命令修改版本号修改资源回编译命令签名命令签名验证报错原因签名失败找不到apk的异常AndroidKiller下载(0积分 积分已调成0 可免费下载)图文操作版1、解压文件解压文件,打开AndroidKiller.exe密钥配置2、下面就是进行签名密钥配置的一个过程,用来准备等待后续执行,配置好签名是为了后续编译打包
2022-01-15 19:24:09
6794
1
原创 Android recyclerview 无限循环居中并自动向下滚动
Android recyclerview 无限循环居中并自动向下滚动描述:这是一个基于recyclerview实现的 Android 无限循环滚动Demo,可自定义item。项目代码在最后面!!!!跳转到最后控件效果如下:此控件为Android 无限循环居中并可以自动向下滚动。实现功能:上下滚动无限循环(跳转回之前相似的postion)自动滚动利用flex可进行流式内容布局设计核心:主要的设计核心是依赖于recyclerview进行设计的,主要通过重写layoutmanager,A
2021-12-29 23:12:36
5230
原创 Android 中间滚轮选择器,可自定义中间控件(基于recyclerview实现)
Android 中间滚动选择器,可自定义中间控件(基于recyclerview实现)描述:这是一个 声纹进度播放效果的Demo。项目代码在最后面!!!!跳转到最后控件效果如下:此控为Android 中间滚动选择器,可进行滚轮选择。实现功能:返回滚轮View 和 是否处于中间的状态 可依此进行中间View的自定义可自定义滚轮数量可传入中间坐标背景 会适配到中间滚轮位置中间选择回调默认前后可放大和缩小为无限循环滚动(跳转回之前相似的postion)设计核心:主要的设计核心是依赖于
2021-12-26 00:06:18
3336
原创 超简单recyclerview 最后一行显示不全解决方案
超简单recyclerview 最后一行显示不全解决方案项目代码在最后面!!!!跳转到最后问题现象:在设置recyclerview的时候我们常常会遇到类似如下图片显示的情况,最后一个item总是显示一半?那么怎么快速解决呢?解决方案(仅修改adapter几行代码即可):基于item本身的容器,我们其实可以在默认再添加一个容器然后不显示即可,修改代码如下:修改处1 将本就不存在的item置为INVISION 顺便处理好你本身的item点击逻辑,避免干扰 @Override publ
2021-12-25 23:21:39
4689
2
原创 Android 音频进度播放View(原View升级版)
Android 音频进度播放View(原View升级版)描述:这是一个 声纹进度播放效果的Demo。项目代码在最后面!!!!跳转到最后控件效果如下:此控件是基于之前的控件View加入了音频控制内容和跟随播放音乐进度显示进度原仅控件文章可点击查看实现功能:声纹可随机显示也可固定可自定义加载前后两种颜色可选择传入音乐进行播放,音乐播放进度和点击控件可控制音乐暂停和播放设计核心:主要的设计核心是依赖于drawRoundRect方法进行声纹条形的绘制,通过MediaPlay添加音乐播放
2021-12-22 23:21:45
2378
原创 mmkv 原理解析
mmkv 原理解析本文通过对mmkv的原理,和源码分析,深入剖析mmkv的功能实现。mmkv是什么? 首先,在mmkv开源项目中对MMKV是这么描述的,MMKV 是基于 mmap 内存映射的 key-value 组件,底层序列化/反序列化使用 protobuf 实现,性能高,稳定性强。从 2015 年中至今在微信上使用,其性能和稳定性经过了时间的验证。 由上我们可以大致总结一下mmkv的核心也是我们本文会着重介绍的知识和内容。,一、基于 mmap 内存映射 二、使用 protobuf 实现序
2021-10-06 23:37:21
5273
原创 Unexpected error while obtaining screenshot from device: EOF
Q 问题在Android Studio进行截图时遇到Unexpected error while obtaining screenshot from device: EOF对应政策1、先看看是不是对应截图的手机应用开启了防截屏,防录屏如果开启了是不会给截屏的2、adb 版本降低,如果不是第一种情况,再考虑将现有版本的adb 工具还原老板附解决方式:1、关闭Android studio2、在SDK目录下(…\Sdk\platform-tools),将现有的adb.exe重命名为adb.exe
2021-09-28 19:02:03
471
原创 Android 关于ApplicationInfo flags快速了解
关于ApplicationInfo flags快速了解 在Application中我们可以常常通过添加flags来标志一些属性和能力,比如android:protectionLevel="system"或android:protectionLevel="signatureOrSystem"就表示添加了FLAG_SYSTEM这个标志,表示属于系统级应用,当然,这个FLAG_SYSTEM依赖于签名检查或权限。flag的判断和使用 首先在Application中flages的默认值是0,而这些标志则用移
2021-09-20 17:21:26
5104
原创 Android 裸眼3D效果View
Android 裸眼3D效果View描述:这是一个裸眼3D效果的控件View。Tips:本项目代码部分逻辑参考于其他文章,众人拾柴火焰高,希望大家能多多补充。项目代码在最后面!!!!跳转到最后控件效果如下:实现功能:实现三层图片叠加效果(裸眼3D效果)可设置每层图片移动速率可设置每层图片移动的限制度数可直接设置图片或引入图片设计核心:主要的设计核心是依赖于传感器对手机晃动的监听(重力感应监听器),对每层图片进行不同的移动,实现仿3D效果。核心代码:SensorLayout 用
2021-08-15 23:20:32
2551
5
原创 Android 网页加载问题
Android webView网页加载问题1、出现 ERR_CACHE_MISS 无法加载异常解决方案:在AndroidMainfest里添加网络权限:<uses-permission android:name="android.permission.INTERNET"></uses-permission>2、出现 ERR_NAME_NOT_RESOLVED无法加载异常出现这个问题可以检查以下几点:浏览器配置;请求的url地址;网络配置设置;(WiFi 或 数据
2021-08-08 18:23:57
1804
原创 Android VIew之图片缩放,移动
Android VIew之图片缩放,移动描述:这是一个可以放大,缩小图片的控件。Tips:本项目代码部分逻辑参考于其他文章,众人拾柴火焰高,希望大家能多多补充。项目代码在最后面!!!!跳转到最后控件效果如下:实现功能:双击图片进行缩放通过手势对图片进行缩放通过拖拽对图片进行拖移监听点击区域View缺陷:图片控制区域与View相关联仅对当张图片生效用法:导入图片的用法和Imageview一致,另外可添加EnlargeClickLister监听以下事件:void tou
2021-08-08 12:46:52
1444
原创 Android 高仿今日头条效果频道拖拽效果
仿今日头条效果package com.example.test.demochannel;import android.annotation.SuppressLint;import android.content.Context;import android.graphics.Bitmap;import android.os.Handler;import android.util.Log;import android.view.LayoutInflater;import android.vi
2021-07-27 00:01:37
1246
2
原创 多级树遍历和使用
多级树遍历和使用工具类参考:https://www.iteye.com/blog/ylq365-980627TreeNode.javapackage com.example.myapplication;import java.util.List;import java.util.ArrayList;import java.io.Serializable;public class TreeNode implements Serializable { private int paren
2021-07-15 23:17:45
344
原创 Dart Null safety 快速理解
简介Dart语言在2.0引入空指针安全也就是Null safety,Null safety简单来说就是对空指针添加了安全界定,用我理解的话来说,之所以会有空指针安全被作为语法规则引入,以下面几点为主:代码开发更愉快,最近流行的Kotlin其中的一个优势就是其引入了Null Safely,这在代码开发上能避免很多错误,而作为Dart语言开发的主阵地flutter是以热重载(hot fix)为开发优势的,能够使开发者不重复进行代码编译,通过运行时就能进行开发工作,大大节省了代码开发时间,在Dart引入Nu
2021-07-01 17:42:35
1143
1
原创 flutter 去掉Appbar上面一部分内容
问题描述在使用appbar的时候不想添加上面的title,leading和actions,只想保留下面的bottom,Appbar结构如下原导航栏代码:DefaultTabController( //导航栏的长度 length: 3, child: Scaffold( appBar: AppBar( title: null, backgroundColor: Colors.red, cen
2021-06-29 16:33:02
1549
原创 flutter之自定义一个输入框的便签线条View
实现效果 在提供设计代码前,我还是习惯性地先将设计的效果图放入以便大家能快速参考是否是自己想要的,本文主要内容为便签内部的输入框和后面便签下划线效果的蒙版的设计和实现。 线条背景View 整体层次上主要采用Stack作为层叠结构,线条是我用Canvas进行绘制的,View的核心内容如下:必填:height:整个背景高度width:线长separateheight:每个相隔高度(一般是字符大小,如果字符有设行间距就是fontsize*height)可选:color:分割
2021-06-28 13:17:35
329
原创 flutter之item 时间轴设计
实现效果时间轴样式设计,本文具体实现内容为下图红色画框部分。item实现过程具体item实现元素为如下:1、时间轴:可以用Container或 VerticalDivider来画,因为这里想添加圆弧效果,用Container来描述: Container( alignment: Alignment.center, decoration: BoxDe
2021-06-25 11:29:49
492
原创 flutter学习之NULL问题解决
flutter学习之NULL问题解决在flutter实战的第二章计数器实例学习和应用的过程中遇到两个null问题,这是直接复用原来的代码产生的,应该是后续的flutter版本升级对相关调用类构造方法添加了空判断导致的。计数器实例代码import 'package:flutter/material.dart';class Study extends StatelessWidget { @override Widget build(BuildContext context) { ret
2021-06-12 16:41:39
6821
2
原创 简单View之列表item拖拽到区域删除
拖拽到区域删除效果图效果图如下为拖拽删除图,有需要可拷贝下面代码直接进行复用。本例实现包括长按切换item位置,删除item和显示删除区域。实现逻辑整体实现是基于ItemTouchHelper,通过复写itemTouch的长按拖拽,然后和删除区域进行位置比对,如果移动的item到达了需要删除的区域范围内,我们就将其进行删除,如果是到了其他item的位置就进行切换。这里借用了一个工具就是Itemtouchhelper,这个作为官方可以直接和recycler绑定的工具类,可以帮助我们拿到item的移
2021-05-06 19:56:50
453
原创 bindView注释代码转成findByViewId脚本
bindView注释代码转成findByViewId脚本 在接手代码的时候一般回遇到有用butterknife来绑定控件的习惯,butterknife确实是个非常方便的控件,但是在实际使用的时候还是会存在一部分问题,彻底避免自然是改回原来的控件绑定方式,但是一个个打太过麻烦,我这里就写了个绑定脚本,直接放到Java代码里运行就行。在线Java编译器:https://tool.lu/coderunner/注意:1、复制进去的化有绑定控件代码就行,其他非绑定控件代码会过滤掉。2、在线Java运行编译
2021-03-11 18:38:33
255
2
列表拖拽交换和区域删除Demo源码.zip
2021-05-06
ESP8266超全工具包
2020-11-26
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人