自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 问答 (30)
  • 收藏
  • 关注

原创 Android-Jetpack-Lifecycle原理

目录使用方法使用方法class MainLifecycleObserver : LifecycleObserver { @OnLifecycleEvent(Lifecycle.Event.ON_ANY) private fun onAny() { // 每次有新的生命周期方法调用,都会调用 onAny MLog.i("onAny") } @OnLifecycleEvent(Lifecycle.Event.ON_CREATE) p

2021-08-16 15:21:56 196 1

原创 Android 启动优化

启动命令耗时// adb shell am start -S -W 包名/启动的Acitivityadb shell am start -S -W com.yitaixiang.app.prod/com.gcigb.box.module.login.FlashActivityStopping: com.yitaixiang.app.prodStarting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.L

2021-07-30 10:46:56 254

原创 Kotlin Flow 常用操作符

摘抄自 Kotlin 语言官网文档,为的是列出相关操作符,方便自己后期查看点我跳转 Kotlin 官网文档 Flow目录Flow 是什么?创建Flowflow{}flowOf(1,2,3).asFlow()emitcollect取消withTimeoutOrNull(250)转换maptransform限长操作符take末端操作符toList、toSetfirst、single、foldreducefilterflowOnbuffer合并conflatecollectLatestFlow 是什么?挂

2021-07-28 18:06:20 1048

原创 Java 数据结构对比

ArrayList优点:查找快,尾部插入(删除)快缺点:删除(插入) 头部(中间)的元素慢查找快:是因为内存是连续的,0xabcdefg + i * 4 可以快速找到元素尾部插入(删除)快:不需要 arrayCopyLinedList优点:插入(删除)速度快缺点:查找速度慢插入(删除)速度快:双向链表的数据接口,只需要修改指向(prv、next)就可以完成查找速度慢:验证链表一直往下找HashMap1.7 之前:数组 + 链表1.8 之后:数组 + 链表 + 红黑树优点:结

2021-07-23 17:32:11 223

原创 MySQL 常用函数 - 日期函数

目录当前日期返回当前时间返回当前日期和时间返回日期时间的各个部分返回年份返回天数部分返回月份值返回小时值返回分钟值返回秒钟值返回日期参数所对应的微妙数提取传入表达式的时间部分提取字符串中的值计算时间值计算起始日期 d 加上 n 天的日期时间 t 加上 n 秒的时间两个日期的想个天数计算起始日期 d 加上一个时间段后的日期,默认是天从日期减去指定的时间间隔日期减去 1 天后的日期时间减去 5 秒后的时间计算时间差值按表达式的要求显示日期将字符串转变为日期返回星期几:Friday返回在本月的第几天日期 d 今天

2020-09-21 16:02:03 137

原创 MySQL 常用函数 - 数字函数

目录平均数返回数量返回列中最大的值返回列中最小的值合计绝对值最接近小数的整数返回列表最大的值返回列表最小的值余数number 的 n 次方保留指定小数位数将弧度转为角度将角度转为弧度除数随机数返回圆周率平方根返回自然对数返回以 N 为底的对数返回 x 的符号,x 是负数、0、正数分别返回 -1、0 和 1求正切值,参数:弧度求正弦值,参数:弧度反余弦值,参数:弧度反正弦值反正切值余切值余弦值平均数SELECT AVG(money) FROM hero;返回数量SELECT COUNT(*) FRO

2020-09-21 15:37:03 270

原创 MySQL 常用函数 - 字符串

目录返回字符串的字符数将多个字符串合并成一个返回字符在字符串中的位置替换字符串格式化数字添加逗号分隔转换大小写在字符串中截取字符填充字符删除字符串中的空格重复字符串反转字符串返回 N 个空格比较字符串返回字符串的字符数SELECT CHAR_LENGTH('runoob');SELECT CHAR_LENGTH('runoob ');SELECT CHAR_LENGTH('这是一个');SELECT CHARACTER_LENGTH('runoob');SELECT CHARACTER_L

2020-09-21 15:16:15 83

原创 MySQL 操作练习

目录启动 MySQL登录本机 MySQL 数据库列出所有数据库列表选择要操作的数据库创建一个 hero 数据表删除 hero 表增删删除所有数据根据条件删除改查查询所有数据查询部分字段排序选取唯一不同的值Where 子句中的运算符查询两个数值之间的数据通配符查询指定数量数据别名JOIN启动 MySQLnet start mysql登录本机 MySQL 数据库mysql -u root -p列出所有数据库列表SHOW DATABASES;选择要操作的数据库USE study_databa

2020-09-16 14:51:16 362

原创 MySQL 练习

SHOW DATABASES;CREATE DATABASE testCreate;USE arrange;CREATE TABLE persons( id_p INT NOT NULL AUTO_INCREMENT, name_p VARCHAR(10) NOT NULL, gender VARCHAR(1) NOT NULL, age INT, email VARCHAR(255), city VARCHAR(20), PRIMARY KEY (id_p));INSE.

2020-09-15 15:41:51 211

原创 Android 收藏一些链接

目录约束布局约束布局约束布局ConstraintLayout看这一篇就够了

2020-05-22 14:07:10 780

原创 Android 偷懒小妙招儿

目录为Activity自动添加 android:screenOrientation="portrait" 属性android:screenOrientation="portrait" 报红问题为Activity自动添加 android:screenOrientation=“portrait” 属性$AS安装目录\plugins\android\lib\templates\activities\common\root\AndroidManifest.xml.ftl<manifest xmlns

2020-05-09 16:41:42 146

原创 Android 搭建框架之个人感悟

工作也已经四年多了,在今年才有了“好记性不如烂笔头”的觉悟,以后会慢慢将工作中的感悟以文档的形式记录下来。

2020-05-05 11:25:57 346

原创 Android 遇到过的问题汇总

目录小内存手机加载大图OOMTextView选择器小内存手机加载大图OOMpublic static boolean isLowMemory(){ int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024 / 1024); if (maxMemory < 300) { return tru...

2020-04-24 17:05:28 170

原创 Android Fragment注意点

持续更新中…目录getActivity() == nullgetActivity() == null

2020-04-23 18:45:02 174

原创 Android 在安装完成界面直接打开应用,按HOME回到桌面,再次点击应用图标,会重新走 android.intent.category.LAUNCHER Activity

Android 在安装完成界面直接打开应用,按HOME回到桌面,再次点击应用图标,会重新走 android.intent.category.LAUNCHER Activity,解决方案如下:在该Activity的onCreate加入如下代码,@Overrideprotected void onCreate(@Nullable Bundle savedInstanceState) { ...

2020-04-22 17:21:17 462

原创 Java 泛型

为什么使用泛型?在编译期提前进行类型检测更容易复用

2020-04-21 21:43:27 188

原创 Java 常用算法之排序算法

冒泡排序public class Sort1 { public static void main(String[] args) { int[] array = new int[]{3, 8, 9, 2, 0, 1, 10, 23, 524, 12, 234, 7, 230, 999, 123, 5, 10000}; for (int i = 0; i &...

2020-04-18 17:11:32 95

原创 Java 常用算法之查找算法

通用public static int[] getArray() { int[] array = new int[100]; for (int i = 0; i < array.length; i++) { array[i] = i + 1; } return array;}1、顺序查找publ...

2020-04-18 10:53:04 99

原创 Android 每日一问

持续更新中…您在项目开发中使用的屏幕适配方案是什么样的?使用dimens使用谷歌的自动布局或百分比布局自定义适配布局文件对于手机与平板的适配,使用Layout目录切入源码层实现...

2020-04-17 18:53:26 153

转载 Android 自定义View详细介绍

onMeasure用于测量子控件的宽高MeasureSpec在很大程度上决定了一个View的尺寸规格。三种模式:MeasureSpec.EXACTLYMeasureSpec.AT_MOSTMeasureSpec.UNSPECIFIEDEXACTLY:是写出具体的dp值AT_MOST:一般对应wrap_content,最大值不能超过父控件宽高UNSPECIFIED:一般在...

2020-04-04 14:51:16 203

原创 Android 自定义控件相关方法

View的绘制流程OnMeasure()——>OnLayout()——>OnDraw()各步骤的主要工作:OnMeasure():测量视图大小。从顶层父View到子View递归调用measure方法,measure方法又回调OnMeasure。OnLayout():确定View位置,进行页面布局。从顶层父View向子View的递归调用view.layout方法的过程,即父...

2020-04-04 14:30:06 99

原创 Android 三种自定义控件的应用

通常来说自定义控件分为三种:继承于View或ViewGroup继承于系统现有控件,如:Button、TextView、ImageView …基于组合控件,包含了其他控件组合控件当我们构建这样的菜单列表,不必每一个item在布局里都重写一次,可以提取相同的元素,将单个item封装成控件,需要时直接引用即可。思路:分析一下布局中的元素,左边的icon,中间的text,右边的箭头,右边...

2020-04-04 13:22:21 211

原创 Android 混合开发优缺点

混合应用开发正是结合原生和H5开发的一种开发模式。原生代码部分利用WebView控件或者其它的框架为H5提供了一个容器,在应用中比例非常自由,比方Web 占90%,原生占10%;或者各占50%;再或者原生占80%,Web占20%。优点开发效率高,节约时间同一套代码Android和IOS基本都可用;更新和部署比较方便,不需要每次升级都要上传到应用商店进行审核,只需要在服务器端升级就可以;...

2020-04-04 12:53:31 1171

原创 Android 单一工程vs组件化开发

单一工程顾名思义,就是一个代码工程(Project)对应一个APP了,这个APP的所有业务功能都是集中在同一个工程里实现的。组件化简单来说,就是将一个APP的业务功能进行拆分,每一个功能都是一个单独的工程(Module),每个工程都能独立运行,且只包含自己的业务,我们姑且叫这个独立的功能为一个组件服务,最后由一个空壳APP将多个拆分出的组件集成而成。单一工程缺点**对工程的任意修改...

2020-04-04 12:24:51 203

原创 Java 常用设计模式

先简单列举一下我常用的设计模式,有空再更新,嘿嘿嘿。。创建型单例模式工厂模式建造者模式结构型桥接模式适配器模式装饰器模式代理模式行为型模板方法模式观察者模式策略模式命令模式责任链模式访问模式...

2020-04-04 10:57:16 93

原创 Java 六大设计原则

六大设计原则分别为:依赖倒置原则-Dependency Inversion Principle (DIP)里氏替换原则-Liskov Substitution Principle (LSP)迪米特法则 - Least Knowledge Principle (LKP)单一职责原则-Single Responsibility Principle (SRP)接口隔离原则-Interface...

2020-04-04 10:39:13 168

原创 Android 迁移Androidx后,5.1系统版本 WebView 崩溃问题

由于公司项目是原生与H5混合开发,前段时间将项目迁移到了Androidx,今天早上用低版本测试机测试时,发现奔溃,已解决。记录一下,崩溃日志如下:解决方案如下:public class LollipopFixedWebView extends WebView { public LollipopFixedWebView(Context context) { ...

2020-04-01 14:11:17 1770 2

原创 Android 仿微信朋友圈不同数量图片排列方式

前段时间做了不同数量的图片展示,给大家分享一年,先上个效果图:

2020-03-24 11:49:34 1426 4

原创 Android 时间格式化(刚刚、x分钟前、x小时前、昨天、x天前、xx月xx日、xxxx年xx月xx日)

最近公司项目在搞动态相关的,产品昨天给出了时间格式,下午花了一点时间搞了一下,分享给大家。1 分钟以内:刚刚1-2分钟:1分钟以前过了1个小时(60分钟以内使用xx分钟以前):1小时以前过了1个24:00:昨天过了2个24:00:2天前不是本年:xxxx年xx月xx日public class TimeHelp { public static String...

2020-03-24 11:29:43 1677 1

原创 Linux 终端快捷键

在终端中删除很长一段字符用 backspace ?写了很长一段字符后发现,头部漏写了什么?试试下面的快捷键吧!Tab :自动补全Ctrl+a:光标移动到开始位置Ctrl+e:光标移动到末尾Ctrl+k:删除此处至末尾Ctrl+u:删除此处至开始Ctrl+d:删除当前字符Ctrl+h:删除前一个字符Ctrl+w:删除前一个单词Alt+d:删除后一个单词...

2020-03-23 23:18:43 93

原创 Sublime 编辑器常用快捷键

受老同事的影响,将石墨文档中的记录搬出来,不由得感到一阵舒服,嘿嘿。。。。。。1、通用↑↓← → 上下左右移动光标Alt 调出菜单Ctrl + Shift + P 调出命令板(Command Palette)Ctrl + ` 调出控制台2、编辑Ctrl + Enter 在当前行下面新增一行然后跳至该行Ctrl + Shift + Ent...

2020-03-23 23:11:28 312

原创 Android Studio 常用快捷键整理

熟练使用这些快捷键,可以使你的开发事半功倍!嘿嘿。。。。。。。。。。Ctrl+Alt+Shift+T 重构Alt+Insert 弹出快速代码生成框,有构造方法、getter/setter方法、toString方法Alt+鼠标左键长按 可以同时选中多行Alt+F7 搜索某个方法是否被调用Alt+F7 查看引用该方法的所有片段Alt+Q 显示当前类的标题Shift+F6...

2020-03-23 23:03:53 150

原创 Android 腾讯开源UI框架 - QMUI 点击效果修改

这两天受到老同事的影响,突然想要写博客了,以前都是写在石墨文档里,在线更新方便,嘿嘿。。好了,废话不多说。QMUI 作为腾讯开源的 github 上 star 数 10.4k 的优秀开源UI框架,相信做 Android APP 开发的小伙伴,都多多少少听说过,此框架内的按钮可以设置点击效果 alpha,但是只能在代码中设置开启这个属性,并且默认是 0.5f,并没有暴露在外面的设置透明值的方...

2020-03-23 22:57:43 681 1

原创 Android TextView 选择器踩过的坑

关于selector选择器,相信当家都不陌生,textColor、background等等都可以设置选择器。前几天把最近新加的功能跑到公司的测试机上发现,纷纷崩溃!心里仿佛一万只什么马奔腾而过,在我自己手机(Android Q)上一点儿毛病都没有,在公司的测试机上9.0以下全部崩溃,找了几个小时终于找到原因,特此记录以下。textColor<?xml version="1.0"...

2020-03-23 22:34:01 1262

原创 判断手机有无外置sd卡

private boolean haveSdcard(){StorageManager manager = (StorageManager) getSystemService(STORAGE_SERVICE);StorageVolume[] mVolumes=manager.getVolumeList();String ExternalStorage=null;for(St

2016-07-02 09:22:01 383

原创 关于设置听筒播放模式

AudioManager am = (AudioManager) getSystemService(Context.AUDIO_SERVICE);am.setSpeakerphoneOn(false);  am.setMode(AudioManager.MODE_IN_COMMUNICATION);setVolumeControlStream(AudioManager.STRE

2016-07-01 17:54:47 1617 1

空空如也

anroid 存储一个文件,使恢复出厂设置不被清除!急!!!!!!

2017-11-01

隐藏状态栏,但是activity不要全屏显示

2017-07-20

android 7.0 launcher3 去掉二级菜单(AllAppsButton)

2017-06-07

android 系统源码性能优化

2017-03-15

有没有熟悉android6.0源码的大神呀!6.0权限的问题?

2017-02-07

android6.0 系统源码应用权限的问题

2016-12-19

android 6.0 的首选网络类型不能手动修改了吗?

2016-12-19

各位大神大仙快来帮帮小弟吧,是个关于TextToSpeech播放文本的问题

2016-11-29

关于手机是否校准的问题

2016-11-12

关于VidoeView 播放视频的问题,急!!!!!!!!

2016-11-02

急!!!!!!!!!!!!!!!111

2016-09-09

都快来看看!!!异常奇怪!!!

2016-08-16

actionBar 上的菜单按钮背景颜色怎么设置选择器,根据焦点来设置背景颜色

2016-08-03

VideoView 播放视频的问题

2016-08-02

关于VideoView播放视频出现的问题

2016-07-19

关于 Movie播放gif图片的问题

2016-07-18

关于自定义控件居中的问题

2016-07-14

关于ContentProvider修改数据的问题

2016-07-11

关于VideoView 显示 无法播放此视频

2016-07-04

关于使用videoview开发视频播放器

2016-07-02

关于旋转图片保存后变模糊

2016-07-01

关于删除sd卡中的文件

2016-06-29

关于跳转到系统相册的隐式意图

2016-06-15

老人机中音乐播放器A-B点循环播放

2016-06-06

关于设置sim卡1,卡2的来电铃声

2016-06-06

在别的app中获得手机中的闹钟数量以及名称

2016-06-06

listview重用item的问题

2016-05-10

android 5.1 听筒模式

2016-05-10

android源代码视频播放器

2016-04-12

哥哥姐姐们好,我有个关于android源码蓝牙的问题!求解。。。

2016-04-08

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除