Alrey_
码龄8年
  • 39,774
    被访问
  • 34
    原创
  • 55,255
    排名
  • 5
    粉丝
  • 0
    铁粉
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2014-07-05
博客简介:

Alrey的博客

查看详细资料
  • 2
    领奖
    总分 158 当月 3
个人成就
  • 获得16次点赞
  • 内容获得10次评论
  • 获得52次收藏
创作历程
  • 4篇
    2022年
  • 14篇
    2021年
  • 8篇
    2020年
  • 6篇
    2019年
  • 3篇
    2018年
成就勋章
TA的专栏
  • Android
    20篇
  • 源码笔记
    2篇
  • Flutter
    2篇
  • Dart
    1篇
  • kotlin
  • JetPack
    1篇
  • Gradle
  • 移动推送
    2篇
  • Material
    1篇
  • 广播
    1篇
  • IOS
    4篇
兴趣领域 设置
  • 数据结构与算法
    数据结构
  • 移动开发
    kotlinflutter
  • 软件工程
    性能优化
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

Activity启动源码阅读随笔

Activity启动源码阅读随笔1.Launcher组件向AMS发送一个启动MainActivity组件的进程间请求;系统在启动时会启动PackageManageService,并通过PMS来安装APK,PMS在安装一个应用程序的过程中,会解析AndroidManifest.xml文件,从而得到apk的组件信息,在Launcher启动后,会向PMS请求action=ACTION_MAIN,category=CATEGORY_LAUNCHER的Activity组件,并为其创建快捷方式。在Launche
原创
发布博客 2022.04.22 ·
125 阅读 ·
0 点赞 ·
0 评论

Handler源码阅读随笔

Handler源码阅读随笔1.Handler的创建在App启动的时候,在ActivityThread的main方法里,会为主线程会调用Loop.paper方法,该方法会在TLS里创建并保存一个Loop对象,而在创建Loop对象时,会在Loop的构造方法里创建一个MessageQueue,最后会调用Loop.loop方法来开启循环。2.Loop是如何保证线程唯一的在Loop的paper方法中创建Loop对象时,会将创建的对象保存在ThreadLocal中,ThreadLocal内部是一个Hash
原创
发布博客 2022.04.22 ·
1901 阅读 ·
0 点赞 ·
0 评论

flutter控件TextField number类型没有小数点或numberWithOptions无效的解决方法

目前解决TextField小数的方案如下 TextField( keyboardType: TextInputType.numberWithOptions(decimal: true,signed: true), inputFormatters: [ PrecisionLimitFormatter(2),//限制精度与正则 ],
原创
发布博客 2022.04.19 ·
245 阅读 ·
0 点赞 ·
0 评论

Android Canvas不规则矩形的绘制(两条折线所围成的矩形)

先把代码贴出来,后面有时间再进行分析;涉及的主要函数Path.computeBounds():测量线段所占用的最小矩形空间与位置Path.op():两个Path之间的运算,主要作用是用一些简单的图形通过一些规则合成一些相对比较复杂,或难以直接得到的图形;参考资料:https://www.gcssloop.com/customview/Path_Over.html效果:代码:package com.alrey.customview;import android.content.Contex
原创
发布博客 2022.03.24 ·
373 阅读 ·
0 点赞 ·
0 评论

Flutter混合开发状态栏问题(Android)

在阅读此解决方案时,需要确认所出现的问题是否与我一致界面反馈:由Native跳转到flutter界面时,状态栏的设置无效(包括对icon的颜色和statusBar背景颜色),具体表现为,状态栏有灰色蒙板。原因分析首先,对于设置状态栏的相关属性都是需要通过flutter的SystemChannels.platform.invokeMethod方式调用到native方法来设置状态栏相关属性,flutter/service/system_chrome.dartstatic void setS.
原创
发布博客 2021.09.27 ·
401 阅读 ·
0 点赞 ·
0 评论

Dart语法糖

以Java语言为对照,列出Dart语言上的部分不同之处;并尽力给出等效的Java代码和Dart代码示例一.运算符三目运算符:condition ? result1 :result2if(condition){ result1;}else{ result2;}boolean condition = true;return condition ? 'result1' : 'result2';///output:result1(变量)空检查运算符:param ?? .
原创
发布博客 2021.08.11 ·
302 阅读 ·
2 点赞 ·
1 评论

Flutter混合开发调试按钮不可用解决方案

Flutter Attach按钮和Flutter Hot Reload按钮不可用(变灰色)有两种情况1.Flutter SDK的证书未配置2.调试app启动模式配置不对1.Flutter SDK证书配置在项目终端运行命令flutter doctor正常结果(可能不一样多,但是没有!和×)Doctor summary (to see all details, run flutter doctor -v):[√] Flutter (Channel stable, 2.0.0, on Mic.
原创
发布博客 2021.07.13 ·
412 阅读 ·
1 点赞 ·
0 评论

Kotlin-SharedPreferences工具类

使用到SharedPreferences、Gson、内联函数、泛型、reified.implementation “com.google.code.gson:gson:$google_gson” google_gson = 2.8.5object SpHelper { val sp: SharedPreferences by lazy { ContextUtil.getAppContext().getSharedPreferences("default", Context.
原创
发布博客 2021.06.07 ·
147 阅读 ·
1 点赞 ·
0 评论

Kotlin-自定义ActionBar

第一步:替换app主题<application ... android:theme="@style/AppTheme"> <activity> ... </activity></application>单独设置某个activity的不显示actionBar<activity android:name=".view.activity.MainActi
原创
发布博客 2021.06.01 ·
245 阅读 ·
2 点赞 ·
1 评论

LiveData+ViewModel+Kotlin:多页面监听同一个状态

假设在BaseViewModel中的属性isLogin需要在多个fragment和activity中监听现在有SettingFragment、MainActivity和与之对应的SettingFragmentViewModel、MainActivityViewModel,和BaseViewModel,BaseViewModel是SettingFragmentViewModel和MainActivityViewModel的父类open class BaseViewModel:ViewModel() {.
原创
发布博客 2021.05.28 ·
482 阅读 ·
1 点赞 ·
1 评论

RxKotlin(RxJava或RxAndroid) + Retrofit示例

RxKotlin(RxJava或RxAndroid) + Retrofit示例第一步添加依赖implementation 'io.reactivex.rxjava2:rxkotlin:2.1.0'//必选implementation 'com.squareup.retrofit2:retrofit:2.5.0'//必选implementation "com.squareup.okhttp3:logging-interceptor:3.11.0"//可选-用于打印http请求日志implemen
原创
发布博客 2021.05.19 ·
102 阅读 ·
0 点赞 ·
0 评论

RxKotlin_Retrofit_Demo.zip

发布资源 2021.05.19 ·
zip

Android Recyclerview设置Item之间的间距-最简单的方案

不需要LinearLayout.LayoutParams!不需要RecyclerView.ItemDecoration!假设:要在recycleView的每条item的上下各加一个8dp的边距:第一步:在每个item的布局的根布局加上paddingTop。<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/r
原创
发布博客 2021.04.15 ·
2248 阅读 ·
2 点赞 ·
1 评论

自定义LengthFilter实现对EditText长度的限制和监听

为简化同时对EditText的长度限制和长度监听的代码,同时避免部分机型上TextWatcher的兼容问题,而产生此解决方案import android.text.InputFilter;import android.text.Spanned;public class WattLengthFilter implements InputFilter { private final int mMax; private LengthWatch mLengthWatch; pu.
原创
发布博客 2021.04.12 ·
208 阅读 ·
0 点赞 ·
0 评论

Gradle4.0+ 分渠道打包-bugly

一.前言项目app的国内更新是采用的bugly,如果需要上架Google Play,就需要采用Google官方的更新,且app里不能有热更新方案,但是bugly里包含了Tinker相关代码,所以可能会被Google Play下架。在bugly集成官网给出的提示:因此需要对apk分两个渠道打包,一个包含bugly库,一个不包含bugly库。Gradle版本:gradle-wrapper.propertiesdistributionUrl=https\://services.gradle.org/
原创
发布博客 2021.03.24 ·
175 阅读 ·
0 点赞 ·
0 评论

neumorphism-master.zip

发布资源 2021.02.22 ·
zip

Android 新拟态UI (Neumorphism)

前言本文转自github,只是进行了图片的处理和部分翻译,以方便查阅截至首次发文前找到的原作者的文章地址-May,17,2020若找到本文章更新的时间节点,请私信我更新。原作者github地址文末附源码下载地址,免费。Android上的拟态化UI This is the experimental codes to build Neumorphism designs in Android. Not a library. Just sample project now(目前只是示例项目).
翻译
发布博客 2021.02.23 ·
1304 阅读 ·
1 点赞 ·
4 评论

Android截屏工具类的使用

Android截屏工具类的使用此截屏工具采用MediaProjectionManager类实现帧截图,截屏的结果会包含状态栏和底部虚拟按键,涉及到以下三个工具CaptureUtil:主要负责截屏ImageUtil:主要负责对截屏后的Bitmap的处理ScreenUtil:主要负责截图前屏幕参数的初始化import android.annotation.SuppressLint;import android.app.Dialog;import android.content.Contex
原创
发布博客 2021.02.01 ·
240 阅读 ·
1 点赞 ·
0 评论

Android添加Https自签名证书(Retrofit 2.x、OkHttp 3.x、Glide 4.x)

一.获取证书假设app要请求的网址是https://192.168.1.6:8080,在Chrome浏览器中输入网址会显示证书不安全从浏览器中到处证书点击证书后出现如下窗口点击复制文件,然后下一步到选择好格式后点下一步,选择路径,后缀可以为.crt或.cer后面就是下一步,然后完成然后就可以在选择的导出路径处看到从浏览器中导出的https自签名证书二.导入证书到项目中将获取的证书放到app目录下的res/raw文件中三.向OkHttp添加证书在创建httpClient的
原创
发布博客 2020.11.06 ·
581 阅读 ·
0 点赞 ·
0 评论

解决HostnameVerifier警告

前言今天邮箱收到一封官方的邮件,关键内容如下一个HostnameVerifier警告,说限期不修复就会下架Help Center解决方案如果你和我一样不知道HostnameVerifier是个什么东西,且确认自己没有用过这玩意儿,且项目里也没有这个东西(建议全局搜索一下HostnameVerifier),那么就能确定这个警告肯定是由于第三方库所引发的,这就需要你到你谷歌应用控制台去看看警告的详情信息(一般会在提醒列表里),google一般会告诉你是那个类触发了这个警告查看谷歌控制台后,看到了如
原创
发布博客 2020.09.24 ·
2961 阅读 ·
0 点赞 ·
0 评论
加载更多