![](https://img-blog.csdnimg.cn/20190927151043371.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Android
文章平均质量分 75
Android
d0d0bird
这个作者很懒,什么都没留下…
展开
-
自定义ViewGroup--实现FlowLayout
自定义ViewGroup–实现FlowLayout基本流程0.自定义容器类继承ViewGroup需要实现4个构造函数public class FlowLayout extends ViewGroup { // 子View二维列表 List<List<View>> allChild = new ArrayList<>(); // 每行的高度,取每行的最大值 List<Integer> itemHeightList = ne原创 2021-09-14 19:12:38 · 143 阅读 · 0 评论 -
Android项目构建Gradle脚本解析
Android项目构建Gradle脚本解析1.项目整体目录build.gradle一个Android项目首先在根目录有一个build.gradle脚本,这个脚本负责 项目中所有模块的构建配置 ,主要配置 项目中所有模块共用的 Gradle 代码库和依赖项 。// 引入自定义的配置脚本apply from: "version.gradle" // buildscript定义项目构建的仓库和依赖项buildscript { // 依赖仓库,包含本地仓库和远程仓库 repo原创 2021-09-01 13:49:56 · 893 阅读 · 0 评论 -
Dart中的Stream
简介:Stream是一个异步的事件队列,常见的同步的队列会提供迭代接口让你在外部循环中从队列中拿到一个事件并处理。这得基于你的事件队列里面已经有一些待处理的事件,处理事件的节奏是由外部循环控制的。当你不知道下一个事件什么时候会发生时,就可以对这个队列设定一个监听,当有事件发生的时由队列来调用预先的处理程序。其实就是 一个观察者模型当处理事件的时候是否要切换线程?队列支持单个订阅者还是多个订阅者?1.创建流...原创 2021-08-18 21:32:58 · 1296 阅读 · 0 评论 -
Dagger2 使用
Dagger2 使用Dagger2是一款基于Java注解来实现的完全在编译阶段完成依赖注入的开源库,主要用于模块间解耦、提高代码的健壮性和可维护性。Dagger2在编译阶段通过apt利用Java注解自动生成Java代码,然后结合手写的代码来自动帮我们完成依赖注入的工作。1. 依赖倒置依赖倒置原则(Dependence Inversion Principle),程序要依赖抽象,而不是依赖具体实现。A.高层次的模块不应该依赖于低层次的模块,他们都应该依赖于抽象。B.抽象不应该依赖于具体,具体应该依赖于原创 2021-08-18 21:32:03 · 111 阅读 · 0 评论 -
Gradle学习
Gradle学习第一章:Gradle 入门1. 环境搭建基础环境为Ubuntu16.04java 安装sudo apt install openjdk-8-jdkgradle安装在官网下载安装包解压到安装目录,在用户目录下.bashrc 文件中或者/etc/profile中添加环境变量配置。GRADLE_HOME=/root/UbuntuHome/gradle-2.14PATH=${PATH}:${GRADLE_HOME}/binexport GRADLE_HOME PATH在sh原创 2021-08-12 13:53:07 · 367 阅读 · 0 评论 -
Android 开发错误记录
1.开发时提示error: XML or text declaration not at start of entity.在gradlew命令后面arguments中添加–stacktrace -info ,再次编译定位具体出错的文件,最后发现时布局文件中声明了两次version和encoding。<?xml version="1.0" encoding="utf-8"?><?xml version="1.0" encoding="utf-8"?>...原创 2021-04-29 13:55:42 · 140 阅读 · 0 评论 -
JetPack学习Note
1.ContraintLayout这里首先学到了魔法棒可以自动建立链接,控件的Attributes中可以点击右侧按钮直接编辑资源文件。ComponentTree中可以展示控件的结构和问题点,最好按规范逐一解决。Ctrl+左键可以删除约束...原创 2020-10-20 17:19:36 · 229 阅读 · 1 评论 -
Android中windowSoftInputMode的配置与软键盘状态
Android中windowSoftInputMode的配置与软键盘状态在manifest文件中可对Activity进行android:windowSoftInputMode=""的配置,该配置项决定了进入该界面后软键盘的弹出状态,一共有10种状态。state配置决定了是否显示软键盘。adjust配置决定了显示软键盘时如何调整界面布局。1. stateUnspecifiedandroid:windowSoftInputMode="stateUnspecified"未指定:这是Activity的默原创 2020-09-21 18:41:34 · 564 阅读 · 0 评论 -
Android开发Note--慕课网我的云音乐
1 引入阿里nexus镜像库 maven { url 'https://maven.aliyun.com/repository/public ' } maven { url 'https://maven.aliyun.com/repository/google ' } google() jcenter()原创 2020-09-14 20:56:50 · 417 阅读 · 0 评论 -
Retrofit从基本使用到源码学习
Retrofit从基本使用到源码学习A type-safe HTTP client for Android and Java正如官方所说,Retrofit是一个在Android和Java上使用的类型安全的Http客户端。底层网络请求依赖okHttp。一 基本使用1 引入依赖implementation 'com.squareup.retrofit2:retrofit:2.0.2'implementation 'com.squareup.retrofit2:converter-gson:2.0.2原创 2020-08-03 23:25:06 · 274 阅读 · 0 评论 -
欢迎使用CSDN-markdown编辑器
JAVA md5加密算法实现public static void main(String[] args) { String teststr="asdfjkl;"; //加入这个字段进行混淆, String salt="&3n(@**3k"; try { teststr+=salt; //1,先原创 2016-12-29 15:26:45 · 158 阅读 · 0 评论 -
android studio 导入github上的开源项目
1.先打开我们要导入的项目A,导入module 2.选择我们要导入的其他开源项目B里面的库,注意这里的库有可能是一个module,只要不要错选项目目录就可以了。 3.导入完之后一般会出现一些错误,如下图所示。 4.我们打开B项目,找到B项目的build.gradle文件,在buildscript->dependencies里面的代码复制出来,粘贴到A项目的对应地方(A项目的build.g原创 2016-09-07 17:37:16 · 328 阅读 · 0 评论