- 博客(35)
- 收藏
- 关注
原创 webview之js动态注入
使用场景加载在线网页,需要在网页加载完成之后,通过js注入的方式,对其中的部分元素进行属性的修改.这里的示例是使用本地的网页进行修改。在线的使用同样的方式处理.###html源代码<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>...
2019-04-07 21:28:16
8360
原创 rxjava1 map操作符分析
rxjava1 map操作符分析由于源码版本不同,可能会有所差别代码执行流程分析create:创建一个新的Observablemap :也是创建了一个新的Observablerx.Observable#create(rx.Observable.OnSubscribe)OnSubscribe 是create里面的参数@Deprecatedpublic static <T&g...
2019-03-28 12:06:37
320
原创 rxjava2基本元素源码分析
无背压代码示例Observable.create(new ObservableOnSubscribe<String>() { @Override public void subscribe(ObservableEmitter<String> emitter) throws Exception { LogUtils.loge("Observ...
2019-03-28 12:05:42
287
原创 rxjava1基本元素源码分析
代码示例Observable<String> observable = Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> subscriber) { LogUtils.loge("s...
2019-03-28 12:04:57
173
原创 Ndk之C/C++静态库生成及使用 for Android sutio 3.x
Ndk之C/C++静态库生成及使用 for Android sutio 3.x重要说明 本文是参照上面的资料得来的。感谢大神的资料。涉及到的参考资料如下:大神的博客大神的github静态库和动态库的编译lib module工程结构如下lib module 编译环境配置静态库的编译动态库的编译lib CMakeLists.txtbuild.gradle配置androi...
2019-02-28 19:23:15
421
原创 kotlin之开发经验整理
读取assets中的文本内容resources.assets.open("test.txt").let { it.buffered().reader().use { reader -> Log.e("test", "${reader.readText()}") }}统计字符出现的次数(“io.reactivex:rxjava:1.2.1”)/** ...
2019-02-26 18:50:26
320
原创 Kotlin之小试Anko
先声明,因项目需要。本人也是刚刚尝试,是看了大神的资料,才有了这篇文章。代码是自己跟着大神的脚步走的。资料地址anko是什么Anko是JetBrains开发的一个强大的库,它主要的目的是用来替代以前XML的方式来使用代码生成UI布局的,它包含了很多的非常有帮助的函数和属性来避免让你写很多的模版代码。环境配置 (结合kotlin使用)#项目 build.gradlebuildscript...
2019-02-25 17:12:04
2535
原创 android基础巩固之内容提供者(Content Provider)
内容提供者的基本使用本文的场景MusicServer提供数据库及内容提供者给其它应用使用,及观察数据库变化,好刷新自身应用的列表,ALiCocoMusicPlayer为第三方应用,其作用是为了使用ContentResolover对MusicServer中数据库中的表进行操作。MusicServerdb,dao,测试类代码dbpublic class MusicDBHelper exten...
2019-01-23 09:49:04
268
原创 android基础巩固之ndk
环境配置为了工程不出现问题最好是新建项目的时候选择c++/c项目支持 (android studio创建项目)##app/library module gradle 配置apply plugin: 'com.android.library'android { defaultConfig { externalNativeBuild { cmake...
2019-01-23 09:28:17
236
原创 android基础巩固之db存储
db文件导出C:\>adb pull "data/data/com.example.advance/databases/book.db"data/data/com.example.advance/database...lled. 2.8 MB/s (20480 bytes in 0.007s)C:\>db创建public class BookDbHelper extend...
2019-01-23 09:27:36
235
原创 sqlite3命令行操作db巩固
创建数据库C:\Users\test>sqlite3 test.dbSQLite version 3.22.0 2018-01-22 18:45:57Enter ".help" for usage hints.查看数据库sqlite> .databasesmain: C:\Users\test\test.dbsqlite>创建表sqlite> crea...
2019-01-23 09:26:45
1154
4
原创 任务队列封装之策略实现一点思考
使用场景ImageLoaer和网络请求框架中都会使用到此种类型的策略,对队列中的数据进行排序,动态的实现按需加载,当然我们也可以使用双端队列来实现.这里不用双端队列。来上代码public class TmpInfo { private int taskId; public TmpInfo(int taskId) { this.taskId = taskId; } p...
2019-01-06 22:11:37
179
原创 修改android studio查看源码的版本号
C:\Users\aa.AndroidStudio3.2\config\options\jdk.table.xml原文件内容如下: ...
2019-01-05 22:31:45
938
原创 rxjava之数据分批加载
使用场景:当从服务器请求的数据比较庞大时,这个时候,需要对数据进行分批处理,然后以当前的数据刷新界面效果图:原理分析图:完整代码如下:mDataInfo = new DataInfo();List&lt;Integer&gt; objects = new ArrayList&lt;&gt;();for (int i = 0; i &lt; 4000; i++) { ...
2018-12-31 17:42:52
720
原创 任务队列实现心得
近日,研究了一下任务队列,于是想到了阻塞队列BlockingQueue,不得不提起到它的两个方法,put,take这两个方法都是阻塞式的,当队列满时,put方法阻塞,当队列空时,take方法阻塞.我们使用BlockingQueue,只是完成了基本功能FIFO,就是任务先进先出。我们想要实现任务LIFO,这种方式就不行了。需要使用到BlockingDque,双端队列,在队列的两端都可以插入和获取元...
2018-12-31 17:41:36
1507
原创 ubuntu 16下载编译android6x源码
vm-tools安装首先将你的用户切换到root下。su root 。如果root没有设置过密码可以输入sudo passwd root设置一下root密码。再用su root切换。切换好之后在命令行输入如下指令###cd 文档lstar -xczf VMware....(解压那个文件)lscd vmware-tools-distrib./vmware-install.plan...
2018-12-31 17:39:19
308
原创 重新调整imageview的drawable的大小
做项目的过程中,由于原来使用下载可以直接返回bitmap,这样可以直接通过bitmap得到宽高,然后进行缩放处理,但是下载逻辑修改,不返回bitmap让我们叫bitmap传递给他,然后某人在框架中帮我们设置,但是此时就会有一个问题,bitmap得不到,设置之后的图片的大小就无从考量,使得我们需要通过imageview得到它身上的图像,然后做调整好了,不说废话了,需要涉及到三个方面 1.
2017-04-16 18:05:44
2574
原创 数组分组代码模拟
/** * 数据分组 作用项目: 表情分组时数据拆分 * * @author syusikoku * @date 2016-8-17 */public class DataSplitGroup2 { private static ArrayList sourceList; /** * 1 -- 60 */ private static int allMaxD
2016-08-17 20:09:13
373
原创 Android Studio利用Gradle删除没有使用到的资源和代码文件
Android Studio利用Gradle删除没有使用到的资源和代码文件一、打包时忽略无用资源 我们在打包的时候默认会把没有用到的资源(比如图片)也打包成app,徒增了应用的大小。现在我们可以利用Gradle来优雅的去除没有用到的资源文件了!就是在gradle中配置shrinkResources true。这个东西依赖于minifyEnabled,所以minifyE
2016-08-13 22:53:42
3750
原创 IOS之c语言笔记 day07
day01c语言基础字符串使用字符数组存储字符串或者使用char类型的指针来表示字符串char a[] = “123”; // 默认有\0结尾字符数组必须以\0结尾要不然很危险 char a [] = {‘1’,’2’,’3’};的区别,可以比较大小printf();把数组传入时仅仅是一个警告字符串默认都是有\0 == 在字符数组中使用\0结尾不是任何字符数组都是字符串,但是字符串可以使用字
2016-01-30 23:03:03
413
原创 IOS之c语言笔记 day06
day01c语言基础 char类型 在内存中占一个字节 A == 9 ASSCII码表:解决字符在内存中存储的问题 字符 ASCII码值 A 65 B 66 C 67 a 97 大写和小写字母的ASCII值相差32 %c 将变量在内存中的数据以字符的形式打印出来 %d 将变量在内存中的数据转换在整数打印出来示例的总结:// A在
2016-01-28 22:08:04
369
原创 IOS之c语言笔记 day05
day01c语言基础aeb -> a*10的b次方交换两个变量的值int main(){ int v1 = 10; int v2 = 11; // methodA: int temp = v1; v1 = v2; v2 = tmep; // methodB: v1 = v2-v1; // v1 = 11 - 10; v2 =
2016-01-28 19:55:33
385
原创 IOS之c语言笔记 day04
day01c语言基础内存分析二进制: 0b\0B八进制: 0十六进制: 0x\0X 进制转换练习十进制:12二进制:逢2进1--->>>>1100八进制:逢8进1--->>>>14十六进制:逢16进1--->>>>C 10 A,11 B,12 C,13 D,14 E,15 F printf不同进制的输出方式%d 有符号十进制整数 %o 无符号的八进制整数%x
2016-01-28 19:54:59
393
原创 IOS之c语言笔记 day03
day01c语言基础流程控制 选择结构 ifif…else 比较大小时,常量值放左边,变量放右边 循环结构switch 如果要在case后面定义一个新的变量,必须用大括号{}包住while练习1: 1+2+3+…+n的和 (1+n)*n/2 int num; printf(“请输入一个正整数\n”);
2016-01-10 18:34:24
416
原创 IOS之c语言笔记 day02
day01c语言基础运算 算术运算+、-、*、/、%(正负性取决于左侧)- 练习总结int j=12.58; // 输出的结果只会有12,int类型是整数是4个字节,double是8个字节存储不了所以只存储了整数位double s = 125 // 这个时候会自动把125从int类型提升成8个字节的double类型 int v1 = 15.55; 会报下面的异常信息 userdeMac
2016-01-10 18:33:37
271
原创 IOS之c语言笔记 day01
day01c语言基础常用快捷键shift 切换中英文windows 相当于mac中的commandcommand + q 退出程序command + c 复制command + v 粘贴mac中enter重命名mac中常用指令./ 当前目录../ 上一级目录/ 根目录mkdir 创建目录rm 删除目录touch 创建文件open 打开文件pwd 显示当前路径ls -l 查
2016-01-10 15:45:21
369
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人