自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

点个赞吧 我想升级

点个赞吧 我想升级

  • 博客(46)
  • 资源 (4)
  • 收藏
  • 关注

原创 DrawerLayout NavigationView 沉浸状态栏 inset 问题

DrawerLayout NavigationView 沉浸状态栏 inset 问题 灰色

2022-10-25 13:46:50 265 1

原创 Fragment 生命周期 启动顺序

Fragment 生命周期 启动顺序。

2022-08-16 13:15:58 236

原创 android python 抓取string 脚本

getAndroidString介绍国际化用的软件架构python写的 三个缺点translatable 和 formatted 属性没有处理xml里的转义字符串 没有处理 例如 … 这种win用的 mac 目前无法使用 目录分隔符没有换安装教程pip install -r requirements.txt 安装需要的包使用说明pip install -r requirements.txt 安装需要的包main.py中 androidProjectPath 更换成你项目的路

2021-11-25 17:05:52 1958

原创 android AIDL最新使用教程 2021

AIDL是什么?​ AIDL是Android中IPC(Inter-Process Communication)方式中的一种,AIDL是Android Interface definition language的缩写,作用在两个进程(App)间通讯其实可以理解一个app作为服务器 一个app作为客户端 .客户端可以从服务器获取数据本文目的:​ 快速了解AIDL的基本格式,可以快速实现一个通讯流程.以及我在学习中踩得坑.1.使用方法目标:一个Server App负责提供数据 一个Client

2021-08-16 15:35:02 434

原创 SystemServer 源码 api30

本篇主要是对部分SystemServer代码添加注释SystemServer:主要功能是启动系统级服务 如ActivityManagerService,WindowManagerService,电源管理,PackageManagerService的启动,ActivityThread的创建SystemServer中的启动了大量的系统级Service 大部分都交给SystemServiceManager管理 常见的 AMS ,WMS等都是继承了SystemService抽象类启动SystemSer

2021-08-11 16:56:48 180

原创 SystemServer的创建 api29

本文章基于 api29的代码进行的分析网上搜索的部分文章 ZygoteInit 都不一样 原因基本上是因为各个api都有改动 但是基本流程没有太大变化 大家可以按照自己的需求食用系统的第一个用户进程Init进程启动解析init.rc文件从init进程中fork出zygote进程,也就是app_main.cpp文件zygote进程调用AppRuntime的start方法启动ZygoteInit,进入javaZygoteInit调用Zygote的方法fork一个system

2021-08-06 16:44:08 301

原创 最新 android studio 阿里 maven 仓库地址 Using insecure protocols with repositories, without explicit op

因为一直拉不到想要的包 , 添加阿里的仓库后 提示错误:Using insecure protocols with repositories, without explicit opt-in,查资料发现好像是

2021-07-23 09:59:02 18431 7

原创 MotionLayout 中 visibility 无效问题

根本原因 :没有详细看 原文里有解释 我就不解释了解决办法在MotionScene动画文件中 把这个id排除一下 增加下面代码<MotionScene xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"> <ConstraintSet android:id="@+id/start">

2020-09-28 11:24:40 1964 3

原创 03Lifecycle-LiveData基础之map转换和MediatorLiveData的使用附带demo

01LiveData基础之基本用法附带demo02Lifecycle-LiveData基础之livedata扩展附带demo03Lifecycle-LiveData基础之map使用附带demo04Lifecycle-LiveData基础之配合room 或者配合协程使用附带demo本篇两个内容 简介1.Transformations 中 map() 和 switch() 方法2.MediatorLiveData 的使用map() switchMap()区别和使用Livedata 附带Trans

2020-09-21 10:02:45 502

翻译 05译文 ViewModel之外的LiveData-使用Transformations和MediatorLiveData的反应模式

作者 :Jose Alcérreca原文链接多年来,反应式架构一直是Android中的热门话题。在Android会议上,它一直是一个不变的主题,通常使用RxJava示例进行说明(请参阅底部的Rx部分)。响应式编程是一种与数据流和更改传播有关的范例,它可以简化构建应用程序和显示来自异步操作的数据。LiveData是实现某些反应性概念的一种工具。这是一个简单的可观察者,它了解观察者的生命周期。从数据源或存储库中公开LiveData是使您的体系结构更具响应性的简单方法,但存在一些潜在的陷阱。这篇博客文章将

2020-09-18 11:40:23 652

原创 02Lifecycle-LiveData基础之livedata扩展附带demo

01LiveData基础之基本用法附带demo02Lifecycle-LiveData基础之livedata扩展附带demo03Lifecycle-LiveData基础之map使用附带demo04Lifecycle-LiveData基础之配合room 或者配合协程使用附带demo本篇livedata的扩展主要是 LifecycleOwner 的 Lifecycle.State状态会触发 LiveData 中的 onActive() 和 onInactive() 方法像Activity/Fragm

2020-09-17 16:50:08 271

原创 01LiveData基础之基本用法附带demo

介绍 及官方文档LiveData 是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 Activity、Fragment 或 Service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应用组件观察者。官方文档个人理解:livedata 专注于数据 可以通过observe()监听数据的变化(不限于基本的数据类型 对象也可以)1.导入implementation "androidx.lifecy

2020-09-16 18:18:36 385 3

原创 04Databinding基础-@BindingAdapter注释

04BindingAdapter注释用法@BindingAdapter("setTitle")fun setText(view: TextView, name: String) { view.text = name}在java中要是静态方法 kotlin中可以直接新建个文件写 或者kotlin中静态方式写<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.andro

2020-09-09 09:54:19 268

原创 03Databinding基础-activity:fragment:adapter绑定

03activity/fragment/adapter绑定首先xml中根布局要是 这样才可以生成对应的bindding文件<layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <data> <variable name="bean"

2020-09-09 09:53:47 263

原创 02Databinding基础-layout中的data标签

Layout 中的标签1.实体类xml<?xml version="1.0" encoding="utf-8"?><layout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <data> <variable name="bean"

2020-09-09 09:53:22 883

原创 01Databinding基础-Databinding是什么附带helloword小Demo

databinding是什么引用官方文档的一句话The Data Binding Library is a support library that allows you to bind UI components in your layouts to data sources in your app using a declarative format rather than programmaticallyData Binding是一个支持库,使用该库,您可以使用声明性格式而非编程方式将布局中的

2020-09-09 09:52:45 188

原创 Mac mysql 8.0.21 Homebrew 找回密码语句 You have an error in your SQL syntax;

进入mysql 按照其他文章就可以使用 brew 安装的 mysql 8.0.21 语句用这个use mysql;ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';flush privileges;quit;

2020-08-25 10:37:07 162

原创 # React初认

React初认React 官网 (中文)React 是什么 (什么作用):JavaScript 库 是一个声明式,高效且灵活的用于构建用户界面 使用 React 可以将一些简短、独立的代码片段组合成复杂的 UI 界面React 学习 基础知识 :html/cssJavaScriptReact 基本环境搭建所需:Node.js 可以选个比较新的稳定版 (node.js 会包含 对应版本的 npm )学习下npm基本使用 或者yarn的基本使用(记得替换成国内的源 &lt

2020-08-17 16:41:52 130

原创 Mac MySql The server quit without updating PID file(./auto.cnf(Errcode: 13 - Permission denied))

背景:第一次用draw安装的mysql 卸载 官网下载的包安装的第二次问题;出现无法启动 并报Mac The server quit without updating PID file先删除 /usr/local/mysql-5.7.31-macos10.14-x86_64/data 路径下的 .err 文件 然后mysql.server start 生成新的 .err文件注意红框中的error信息 找到 是./auto.cnf 文件问题 直接删掉重新mysql.server star

2020-08-07 10:51:06 362

原创 android EditText 限制最大输入字数

InputFilter.LengthFilter filter = new InputFilter.LengthFilter(8) { @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { if ((dest.length() - (dend -...

2020-06-04 13:52:48 510

原创 AndroidStudio Refomat Code xml变更 位置错乱

原因 :尝鲜 试着升级到4.0后 Refomat Code 格式代码后 xml出现错乱问题 如果跟随最新的 使用 ConstraintLayout 布局的确不会有问题 可以老的项目中 还是使用 LinearLayout 顺序错乱导致布局错乱解决办法:file->setting->editor->code style->xml->android->android本地环境:Android Studio 4.0 RC 1...

2020-05-28 15:23:31 232

原创 mac 使用adb 命令

打开配置文件open -e .bash_profile写入下面这一段ANDROID_HOME=/Users/用户名/Documents/android/sdkexport PATH=${PATH}:${ANDROID_HOME}export PATH=${PATH}:${ANDROID_HOME}/toolsexport PATH=${PATH}:${ANDROID_H...

2020-02-10 21:38:40 582

转载 android okhttp CLEARTEXT communication to host not permitted by network

问题描述:使用OkHttp3做网络请求框架时,如果是http请求而非https请求,会导致请求失败,因为Android P之后系统限制了明文的网络请求,非加密请求会被系统禁止掉。同样如果您使用了WebView加载http协议下的页面,也会出现加载失败,https则不受影响。分析:OkHttp3的源码可以看到,它做了请求的检查if (!Platform.get().isC...

2020-02-09 20:37:27 148

转载 Android 自动化测试框架

Android常用的自动化测试工具框架:Monkey,MonkeyRunner,UIAutomator,Robotium,Appium,Monkey Talk......但这些工具框架都是什么呢有什么联系呢,先通过一张图来了解一下吧.(图是某博客上借过来是不是一脸懵逼,不知道这是什么鬼。下面详细了解一下。一、Monkey  是AndroidSDK自带的测试工具,是一个命令...

2019-12-31 11:12:26 213

原创 Http基础 (常用)Headers

目录HostContent-Type1.text/html2.x-www-form-urlencoded3. multitype/form-data4. application/json , image/jpeg , application/zip ...Content-LengthTransfer: chunked (分块传输编码 Chunked Transfer...

2019-12-27 17:22:32 411

原创 Http基础 Headers

Headers:消息头允许客户端和服务器通过request和response传递附加信息。一个请求头由名称(不区分大小写)后跟一个冒号“:”,冒号后跟具体的值(不带换行符)组成。该值前面的引导空白会被忽略。headers分类:General headers:同时适用于请求和响应消息,但与最终消息主体中传输的数据无关的消息头。 Request headers:包含更多有关要获取...

2019-12-27 17:11:42 812

原创 http基础 http报文 请求报文 相应报文

http报文:指的是 http请求,发送数据的格式 ,分为请求报文/响应报文.请求报文:请求报文由四部分组成 :请求行(request-line),请求头(headers),空行(blank line),请求体 (request-body)请求报文响应报文:响应报文由 响应行,响应头,换行 ,body组成响应报文​​​​​备注:Status...

2019-12-27 14:56:26 273

原创 Http基础 状态码 Status Code

目录HTTP状态码类型:HTTP状态码列表:HTTP状态码(英语:HTTP Status Code)是用以表示网⻚服务器超文本传输协议响应状态的3位数字代码。它由RFC 2616规范定义的,并得到RFC 2518、RFC 2817、RFC 2295、RFC 2774与RFC 4918等规范扩展。所有状态码的第一个数字代 表了响应的五种状态之一。所示的消息短语是典型的,但是...

2019-12-26 15:36:39 507

原创 关于 butterknife ava.lang.NoSuchFieldError: No static field ××××××× 问题

问题 报错 崩溃原因是因为 layout文件名重复 造成的 加载重名 的layout 在其中没有找到相应的id全局搜索 这个layout的 是否重名 改一个名字就可以了总结: 在越来越大的app项目中 命名规范是非常重要的 避免重名 是非常有必要的遵照 驼峰原则 做到见名知意详细原因 引用自https://blog.csdn.n...

2019-10-29 23:09:14 616

原创 ARoute This's no route matched 找不到页面

最近项目在进行组件化 遇到几次 这个问题 记录一下先说结论 1. 路由路径命名问题 2. 依赖问题1. 路由地址@Route(path = RouterMap.xxxxxxxxxx)//RouterMap.xxxxxxxxxx 路由地址 错误需要注意 同意model中的页面 group 路径 尽量相同 如下面的 member 我的命名习惯 A...

2019-07-31 11:11:53 537

原创 Gradle Could not find method leftShift() for arguments

task hello << { println 'Hello world!' }其中 << 在gradle 在5.1 之后废弃了 可以查看gradle 版本号gradle -v更改为task hello { doLast{ println 'Hello world!' } }正常显示 ...

2019-03-27 09:46:33 6831 1

原创 学习日志 《Android Gradle 权威指南》 第一章

第一章 总结学习 新建一个build.gradle执行 gradle hello成功问题 build.gradle 中 builde 能不能更改为其它名字 怎样 执行其中的任务

2019-03-21 20:22:48 138

原创 BluetoothGatt getService() 为空(null) onServicesDiscovered 没有调用

你的每一个赞 都是我坚持的动力在onConnectionStateChange中调用mBluetoothGatt.discoverServices();//扫描特征值方法 扫描还是没有的话mBluetoothGatt.discoverServices()延时1秒调用...

2019-03-21 10:35:53 5069

原创 android 线程池 核心线程 非核心线程 区别

核心线程 :固定线程数 可闲置 不会被销毁ThreadPoolExecutor的allowCoreThreadTimeOut属性设置为true时,keepAliveTime同样会作用于核心线程非核心线程数:非核心线程闲置时的超时时长,超过这个时长,非核心线程就会被回收...

2019-03-19 11:30:48 5508 2

转载 Android 蓝牙 UUID 理解

你的每一个赞 都是我坚持的动力大部分为转载 :http://dxjia.cn/2016/01/29/android-bluetooth-uuid/对Android蓝牙UUID的理解https://blog.csdn.net/cc_want/article/details/83067718蓝牙开发常用UUID表先来段百度百科上的解释:UUID含义是通用唯一识别码 (U......

2019-03-18 16:24:49 9092

原创 Andorid 自动换行 强迫症

你的每一个的赞 都是我坚持的理由错误是这样的 不知道怎么搞得 看的我强迫症都犯了File-Editor-General-User soft wraps in editor 取消勾选 取消自动换行最后 感谢https://blog.csdn.net/need_you_i_dream/article/details/80881997...

2019-03-12 14:21:51 155

原创 GreenDao java.lang.UnsupportedOperationException: Unsupported for entities with a non-null key

每次 找到一个bug 总会低呼一声 我**怎么会犯这么**的错误这个bug 是在GreenDao中遇到的 记录一下自己的马虎大意解决办法:如果 主键如果是数字类型,必须使用封装类型例如:​ /** * 数据库id 自增 */ @Id(autoincrement = true) private Long dbid;​...

2019-03-04 20:13:00 1061

原创 android sutido 查看 类 继承关系 结构

如果帮到你了 请帮我点个赞我测试的只在java 中class 中可以使用 在kotlin中暂不可用查看当前类的继承关系hierarchtywin Ctrl+Hmac control+H查看当前类的结构Structurewin Alt+7mac command+7如果快捷键不能用 请自行修改类的继承关系...

2019-02-19 14:05:10 166

转载 2018 谷歌 Google I/O 简介 总结

作者:却把清梅嗅 原文:https://blog.csdn.net/mq2553299/article/details/80534124 前言美国当地时间5月8日,2018年 Google I/O开发者大会在美国加州山景城拉开帷幕。这是全球5月份最盛名的一次开发者大会,即使你不是一名专业的技术人员,你也可以从中获取不少前沿性的内容——当然,它更是程序开发者们的特殊节日,在I/O大会开始...

2019-01-24 19:29:21 1428

原创 new SimpleDateForma() 中大小写的影响

SimpleDateFormat simple = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); 其中每个大小写对输出的结果都是有影响的:y 年 Year 1996; 96 M 年中的月份 Month July; Jul; 07 w 年中的周数 Number 27 W 月份中的周数 Number 2 D 年中的天数 Number 189 ...

2019-01-24 19:15:17 653

官网 JDK1.9 (linux-x64) art.gz

资源超过上传限制 存在百度云中 linux中直接解压皆可安装

2017-11-12

Android SDK 安装版 installer_r24.4.1-window

Android SDK 安装版 installer_r24.4.1-window 超出上传限制 在百度云中

2017-11-11

颜色拾取器windows

颜色拾取器windows 颜色拾取器windows 颜色拾取器windows 颜色拾取器windows 颜色拾取器windows

2017-11-11

Android Zxing简单demo

一个简单的zxing demo 内有对接说明

2017-05-12

空空如也

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

TA关注的人

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