自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

打渔还是晒网 —— stone

人生不是简单的if和else,很多时候都是在出现问题时才when and then

  • 博客(458)
  • 资源 (14)
  • 收藏
  • 关注

原创 Android -- EditText输入法打开时,监听返回键

import android.content.Contextimport android.util.AttributeSetimport android.view.KeyEventimport androidx.appcompat.widget.AppCompatEditText/** * EditText输入法打开时,监听返回键 */class PrintTextEditTextView : AppCompatEditText { constructor(context: Cont

2020-12-06 11:15:26 436

原创 Android 在视图内容最顶层添加一个View

float_toast_text_layout.xml<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@d

2020-12-01 11:27:00 2313

原创 Android - ColorMatrix 处理图像对比度

ColorMatrix 没有直接处理对比度的方法。内部有一个 4x5的矩阵数组: * <pre> * R&rsquo; = a*R + b*G + c*B + d*A + e; * G&rsquo; = f*R + g*G + h*B + i*A + j; * B&rsquo; = k*R + l*G + m*B + n*A + o; * A&rsquo; = p*R + q*G + r*B + s*A + t;</pre>

2020-11-23 17:52:28 852 3

原创 Android Dagger-Hilt 依赖注入

Author: aa86799@163.comdate: 2020-09-09 00:10文章目录文档地址依赖配置@HiltAndroidApp将依赖项注入 Android 类@Inject 注入定义 Hilt 绑定使用 @Binds 注入接口实例使用 @Provides 注入实例为同一类型提供多个绑定,使用限定符 @Qualifier预定义限定符:@ApplicationContext, @ActivityContextHilt 组件组件生命周期组件作用域组件层次结构在 Hilt 不默认支持的类中注入

2020-11-09 14:28:14 494 3

原创 Android 环形布局: FloatingActionButton + ConstraintLayout + 两个属性动画的同步使用

文章目录效果图布局与说明源码地址效果图布局与说明<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tool

2020-07-28 10:59:30 6823

原创 Android 自定义View:时间轴效果实现

这些年,也没有遇到具体需求,需要我来写这个效果的。这次巧了,它(需求)来了。当时写第一版就有效果了,只是达不到UI的要求。恩,这不重要,重要的是思路。思路很简单:一个自定义view;一个枚举类来表示其不同的状态,并刷新重绘;将该view组合到 RecyclerView.Adapter的itemView中。不完整示例代码(kotlin 版):class TimeLineView : View { enum class ViewType { TOP_CIRCLE, BOTTO

2020-07-13 11:02:31 288

原创 Android 自定义View:绘制轮盘扇形区并加入扇形区点击事件

还记得是五六年前写的demo,用的 `canvas.drawArc()` 及 旋转画布等实现了,绘制轮盘,当初不会path,不知道怎么搞 扇形区的点击事件... 强行搁置了... 后来学了Path后,也没去改它。这两天用 kotlin 重写了下,path玩了起来,然而写点击的扇形区域匹配时,且在有旋转角度后,先入为主的就走入了误区...

2020-04-07 00:36:04 1368 1

原创 Kotlin 协程(2) Basics

文章目录ReferenceReferencecoroutines basicskotlin 协程库

2020-03-30 21:51:09 255

原创 Kotlin 协程(1) 基本认识

文章目录协程(coroutine) kotlin的线程切换框架挂起函数 suspend fun创建协程如下顶级函数函数,会创建协程作用域CoroutineScope对象,调用者传进来的函数实现,在一个作用域下,就会运行在挂起函数内。Reference[官方文档 Coroutine Basics](https://kotlinlang.org/docs/reference/coroutines/ba...

2020-03-14 15:46:40 383

原创 C语言 "limits.h" 数据类型的界限值

文章目录limits.h 说明测试limits.h 说明limits.h 头文件决定了各种变量类型的各种属性。在该头文件中的宏限制了各种变量类型(比如 char、int 和 long)的值. 不同位数计算机,这些界限值不同。 (我的电脑64位的)测试#include <limits.h>#include <stdio.h>void limits_test()...

2020-03-08 20:31:13 615

原创 C语言 "float.h" 浮点数设定

文章目录float.h 说明相关的宏设定float.h 说明浮点数在内存中以科学计数法的形式来存储,具体形式为:flt = $ (-1)^sign × mantissa × base^exponent $flt 是要表示的浮点数。sign 用来表示 flt 的正负号,它的取值只能是 0 或 1:取值为 0 表示 flt 是正数,取值为 1 表示 flt 是负数。base 是基数,或...

2020-03-01 17:46:12 1304

原创 二维数组的两种遍历方式、左右旋转、左右逆序、上下逆序 (kotlin实现)

文章目录代码实现结论参考代码实现/** * desc: 二维数组 左右旋转,行内左右逆序。 上下逆序未实现。 * author: stone * email: aa86799@163.com * blog : https://stone.blog.csdn.net * time: 2020/2/29 10:25 */class ArrayTest { ...

2020-02-29 15:57:13 1254

原创 C语言 "errno.h" 错误编号

文章目录errno.h使用errno.herrno.h 头文件定义了整数变量 errno,它是通过系统调用设置的,表明在错误事件中的某些库函数发生了错误。它可以被一个程序读取和修改。 在程序启动时,errno 设置为零,C 标准库中的特定函数修改它的值为一些非零值以表示某些类型的错误。您也可以在适当的时候修改它的值或重置为零。extern int * __error(void); //返回...

2020-02-25 17:02:24 1051

原创 C语言 "time.h" 时间、日期操作

文章目录time.h示例关于strftime()的格式化参数time.h定义了四个变量类型、两个宏和各种操作日期和时间的函数。示例#include <time.h>#include <stdio.h>void time_test() { /* * size_t 是无符号整数类型,它是 sizeof 关键字的结果。 unsigned...

2020-02-23 20:35:14 2012

原创 C语言 "ctype.h" 字符操作

文章目录ctype.h使用ctype.h可用于检测和映射字符使用#include <ctype.h> //可用于检测和映射字符#include <stdio.h>#define pp(arg) printf("%d\n", arg)void ctype_test(int c) { pp(isalnum(c)); //是否是字母和数字 pp...

2020-02-22 23:55:33 524

原创 C语言 "assert.h" Debug时断言

文章目录<assert.h>这是一个 debug 期间进行 断言的宏函数,在 release 程序中不参与编译。CMakeLists.txt :#默认无配置就是编译出 Debug版本。如下显式配置 Debug 或 ReleaseSET(CMAKE_BUILD_TYPE “Debug”)#SET(CMAKE_BUILD_TYPE “Release”)使用#include...

2020-02-22 23:42:58 349

原创 C++ 2.5.1 处理类型:类型别名

文章目录类型别名指针类型别名类型别名传统方式,使用 typedef, cpp11,可使用 usingtypedef int mi; //int 别名 mimi xa = 88;using mii = mi; //mi别名miimii xb = 88;cout << (xa == xb) << endl; //output 1指针类型别名typedef c...

2020-01-20 02:36:00 241

原创 Android 布局优化

多在xml布局中使用 tools命名空间: xmlns:tools=“http://schemas.android.com/tools”详见官网 。现在已经汉化了。曾经翻译的<include> 和 <merge>这两标签没啥好说的。tools:parentTag该属性主要来指定父级view-tag;在自定义组合布局时,配合<merge> 标签...

2019-11-26 15:58:58 773

原创 Android 自定义属性重复:../attrs.xml: Error: Found item Attr/rightTextColor more than one time

自定义属性时,对于不同的 属性域,采用了相同的属性名,会引发错误:../attrs.xml: Error: Found item Attr/rightTextColor more than one time<declare-styleable name="s1"> <attr name="rightTextColor" format="color"/></d...

2019-10-29 11:51:45 1797

原创 Java 实现 二叉搜索树(一) 添加节点与广度优先遍历

文章目录什么是二叉搜索树定义树节点添加节点递归实现循环实现层级遍历(广度优先遍历)测试节点增加层级深度属性测试什么是二叉搜索树二叉搜索树(binary search tree),它或者是一棵空树,或者是具有下列性质的二叉树: 若它的左子树不空,则左子树上所有结点的值均小于它的根结点的值; 若它的右子树不空,则右子树上所有结点的值均大于它的根结点的值; 它的左、右子树也分别为二叉搜索树。每个节...

2019-07-07 11:49:07 477

原创 Java 实现选择排序

文章目录选择排序介绍从前向后选择从后向前选择与冒泡排序的性能(时间消耗)比较选择排序介绍原理:每次选择外层循环当前的索引,接着内层循环中,通过判断,找到最小值或最大值的索引位置;再交换两个索引上的值。改进了冒泡排序,交换次数从O(N^2)减少到O(N), 而比较次数还是O(N^2) ,实际上交换次数最大就等于N-1次从前向后选择从前向后选择;每次内层循环找到最小值索引,交换到前面去...

2019-07-06 11:26:13 338

原创 OpenGL 理解GL_TRIANGLE_STRIP、GL_TRIANGLE_FAN等绘制三角形序列的三种方式

文章目录函数 glDrawArrays()GL_TRIANGLE_STRIPGL_TRIANGLE_FAN初始顶点函数 glDrawArrays()glDrawArrays(type, startIndex, count); 绘制三角形其中 type 分为:GL_TRIANGLE这种最理解最简单。就是每三个顶点绘制一个三角形。但这样顶点数组长度会比较大。GL_TRIANGLE_S...

2019-07-05 17:23:44 7827

原创 Android 圆角图片,基于Glide4.9 的 BitmapTransformation,可任意设置某个角

Glide中的 Transformation,多次设置,后面的会覆盖前面的。如果 ImageView的 scaleType = “centerCrop”,会在 into()方法前自动加上 centerCrop(),即会调用 CenterCrop#transform()。

2019-06-12 16:49:52 7024

原创 Android 使用Glide4.9 压缩并保存图片(jpg/png/gif)到本地

项目中遇到,需要用户上传图片的场景。结果用户上传的、特别是拍摄后的图片,分辨率很大,长宽2000多3000甚至更高,一个图片5MB以上。 造成之后,从网络上加载这些图片,比较慢。所以,不得不在上传前进行压缩后,再上传。

2019-05-29 11:49:25 6986

原创 Android issue: ViewFilpper 高度问题

使用中发现,其高度设置为 match_parent 或具体 dp值,都有问题。后来通过日志打印出 其外层 Layout 、其本身及其内部 TextView 的高度:后两者高度一致,比最外层layout要小。所以 ViewFlipper的高度, 是由内部的、当前可见的子view的高度决定的。例:外层 Layout 高 25dp,ViewFlipper 高 wrap_content,内部 ...

2019-05-27 10:43:16 278

原创 Android 我的 Android Studio 配置文件

文章目录前言基础配置.gradleproject#.gradlemodule#.gradle前言切换各种项目时,老是配置一些东西,写在这里,以后不怕找不到了。基础配置.gradleconfigs.gradle/* -------------------------------- 构建设置 -------------------------------------- */def b...

2019-05-19 16:56:06 1091

原创 Android gradle配置全局变量,管理全局类库版本的好处与坏处

文章目录ext定义变量全局版本管理好处坏处打包失败ext定义变量主要是利用 gradle 的 ext 关键字来实现。ext 定义在不同的位置,后续使用的方式及作用的范围不一样。在 root/build.gradle的 buildscript {} 中定义ext { va = 'aaa' vb = 'bbb' }或ext.va = 'aaa'ext.vb = 'bb...

2019-05-08 21:27:33 2111

原创 Android P(api 28) 监听Activity生命周期:全局监听和局部监听

文章目录全局监听局部监听配置使用全局监听在 api 28之前, 使用 android.app.Application.ActivityLifecycleCallbacks 监听 Activity 的生命周期。它始于 api 14(android 4.0)。从它的包名可以看出,它是 Application 级的监听接口。需要在 Application 中通过registerActivityLi...

2019-05-02 12:24:48 1472

原创 Android P(api28) 不支持 http 协议解决方法

res/xml, 建个 network_security_config.xml 文件,名字可以随意。<?xml version="1.0" encoding="utf-8"?><network-security-config> <base-config cleartextTrafficPermitted="true" /></network-...

2019-05-02 11:14:46 2052

原创 C++ 2.4 const限定符,指针常量-顶层 const,常量指针-底层 const

文章目录const 限定常量赋值一个函数声明连续变量const 与引用 const type &const 与指针指向常量的指针: const type *const 指针: type *const指针本身不可变,且地址指向的值也不可变: const type *const顶层 const 和 底层 constcpp11: constexpr 常量表达式const 限定常量eg....

2019-04-27 21:44:52 316

原创 C++ 2.3 引用和指针

文章目录指针空指针值其它引用引用的指针指针的引用指针和 c 语言中的指针,使用上没什么区别int *p = 100; //定义指针变量 p,指向的值为100cout << *p << endl; //以指针运算符 *,获取指针变量指向的值cout << &p << endl; //以地址符 &,获取指针变量的 内存地址...

2019-04-27 18:31:40 220

原创 C++ 2.2 变量的声明、定义、初始化、标识符、作用域

标识符声明并定义并初始化声明并定义extern 仅声明变量作用域没有 extern 的声明并定义有 extern 的声明全局变量和局部变量的默认初始化标识符就是变量命名,可以使用的字符:数字、字母、下划线变量命名只能由字母和下划线开头,对长度没有限制,对大小写敏感。声明并定义并初始化如 int a = 0; 声明并定义了变量 a,初始化值为0。声明并定义int a;...

2019-04-27 18:02:12 380

原创 C++ 2.基本内置类型:算术类型、字面值常量

什么是基本内置类型算术类型无符号和有符号类型算术类型的数据范围对无符号类型,赋值一个超范围的值字面值常量整形字面值浮点型字面值科学计数法字符和字符串字面值转义序列添加前缀或后缀,指定字面值的类型布尔字面值和指针字面值前言自学 《C++ Primer 第五版》,它含有 C++11的特性。以前是C++98标准,一直到2011年,出了 C++11标准,以后每三年出一次标准,现在已有C+...

2019-04-27 17:04:33 425

原创 Android 各 api 级别与ndk 原生 api对照表

文章目录各 api 级别与原生 api对照表各 api 级别与原生 api对照表去上表

2019-04-27 13:02:47 2938

原创 Android version, api level, version-code

文章目录version, api level, version_codendk - api - versionversion, api level, version_code去上表更多版本见 这里 ,在左侧的 versions 标签下。ndk - api - version去上表...

2019-04-27 10:49:34 366

原创 jni基本操作 5.多线程临界区(类似 java 的同步代码块)处理

文章目录前言前言在 本地代码中,要实现类似 java 中的 synchronized功能。即临界区,同一时间只有一个线程能操作。synchronized(obj) { //这里就是临界区}要实现这样的功能,可以使用 c/c++中的java 层创建的线程,要理想的退出,就要在 java 层实现;c/c++实现的线程,同样是在 c/c++中去实现退出逻辑。java 层创建线程,线程...

2019-04-20 00:13:09 720

原创 C 语言 pthread.h 实现启动线程; 基于MacOSX + CLion

文章目录前言案例后记前言不同的操作系统,对于 C 语言 标准库,可能有不同的实现。(查资料说是,unix 系统是标准的,linux 系统是非标准的。反正,我是晕乎乎的) 有些在 linux 上能访问的头文件,在 mac osx (基于unix 的) 上,就无法访问。我的需求:我干安卓的,期望 c 程序运行在 安卓的 linux 虚拟机上。然后,下了个 CLion ,来学习下 C 的...

2019-04-17 01:04:08 2363

原创 jni基本操作 4. 加载与卸载函数,动态注册与反注册本地方法

文章目录jni.h 中的加载与卸载函数动态注册与反注册本地方法函数jni动态注册java 的 native方法java native方法 与 javah 生成的JNI 函数不用 javah,动态绑定java层的 native 方法和本地代码中的函数动态注册时的参数示例jni.h 中的加载与卸载函数JNIEXPORT jint JNI_OnLoad(JavaVM* vm, void* rese...

2019-04-15 21:50:38 818

原创 Android jni 代码中打印 log,使用android/log.h

文章目录日志库在 CMakeLists 的配置日志库简介日志级别枚举:定义宏日志库在 CMakeLists 的配置CMakeLists.txt :#查找库:参数1,一个表示路径的变量,它会赋予库的路径值,且可用于后面的link; 参数2,库的名字find_library( # Sets the name of the path variable. log-li...

2019-04-15 20:43:36 9266 4

原创 jni基本操作 3. 操作java中的方法

文章目录jni.h 中 定义了 jmethodID本地代码中操作 java 方法成员方法静态方法Call 方法重载关于 Call 方法中,最后的参数列表方法签名特征码javap 获取类的属性、方法签名jni.h 中 定义了 jmethodID//java 方法 ID 结构体struct _jmethodID; /* opaque structure ...

2019-04-14 00:07:47 527

C语言常用函数速查手册.pdf

本书全面、系统地讲解了C语言相关的21个函数库,所涉及的函数多达352个。为了方便读者学习,每一个函数都依次对其作用、语法形式、参数、返回值进行了讲解。同时,每个函数都配有专门的例子,供读者参考学习。最后给出了本书所涉及C语言函数的索引,便于读者检索

2017-10-11

kotlin-docs.pdf

kotlin 官方指南

2017-05-27

Android 电视开发框架

Android 电视开发框架

2016-03-18

Android模糊虚化图片截屏

这是一个示例,必需要描述的一段话:Android模糊虚化图片截屏

2014-12-05

Android Volley Demo

Android Volley Demo:数据的加载在test包中,使用JUnit测试即可。Activity中是三种图片的加载方式。

2014-11-19

Android图片瀑布流使用StaggeredGridView

Lib project is Android lib

2014-08-04

Android图片瀑布流使用PinterestLikeAdapterView

PinterestLikeAdapterView is android lib

2014-08-04

Android-Google-QuickSearchBox 4.x 源码

Android-Google-QuickSearchBox 4.x 源码:导入工程后可直接使用

2013-02-06

Android 多线程断点下载.zip

Android 多线程断点下载.zip的一个示例

2013-02-05

Android用PopupWindow实现弹出listview形式菜单

Android之用PopupWindow实现弹出listview形式菜单.rar

2013-02-05

Android 垂直 Seekbar.zip

Android 垂直Seekbar.zip:显示垂直seekbar的源码

2013-02-05

BitmapFun.zip Android Bitmap 处理

BitmapFun.zip Android Bitmap ,处理大图片、图片缓存

2013-02-05

wireshark中文使用教程

wireshark中文使用教程,内含一份中文的readmin

2012-04-09

空空如也

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

TA关注的人

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