高阶函数的一些用法和理解
简书链接:高阶函数的一些用法和理解文章字数:72,阅读全文大约需要1分钟 12345678910111213//map源码fun <T, R> List<T>.map1(transform: (T) -> R): List<R> { val result = arrayListOf<R>() for (item in this) result.add(transform(item)) return result }//演示list var ints = asList(1, 10, 20, 30) val doubledList = ints.map { it -> it * 2 } println("double list:"+doubledList);// index =0 item[0]=1 1*2=2 2. 20 .40 60 double list:[2,...
kotlin类似javalistmap所谓cshape或ios那边的字典的遍历循环和创建以及泛型
简书链接:kotlin类似javalistmap所谓cshape或ios那边的字典的遍历循环和创建以及泛型文章字数:161,阅读全文大约需要1分钟 12345678910111213141516 println("test length func :${getObjectLength("How long do i have, please?")}");//geLength 会出现会重写的情况,应该是自动倒入了某些系统的类导致的。 var list= listOf<String>("hello","apple","fuck","qssq"); var list1= listOf<Any>("hello","apple","fuck","qssq",1,33,3); var list2=...
kotlin可空和不可空理解
简书链接:kotlin可空和不可空理解文章字数:379,阅读全文大约需要1分钟下面方法中,如果有分支返回了null,就必须在返回值后面加上?, 123fun testStr(ints:Int): String ?{ return if (ints>0) "you are right" else null;} 那么访问返回值时候呢 又应该如何操作? 123456 var str=testStr(0); var length = str?.length;//这句话的意思是如果不为空就访问长度 为空就返回null给length println("str length${length}"); var length1 = str!!.length//如果传递的是小于0, 那么抛出空指针 因为你强制访问了他的长度了 但是,如果不加上访问length1的代依然不会空指针,哈哈,没有使用的的东西它不会马上报错 println("str...
正确的快速的理解PorterDuffMode保证你不记混淆有注释
简书链接:正确的快速的理解PorterDuffMode保证你不记混淆有注释文章字数:472,阅读全文大约需要1分钟首先官方给的图中,src是顶层 ,dsc是底层,我总是混淆,哎,毕竟英文嘛,如果名字就叫top 我就能不记忆混淆了。 那么下面是直接创建画布的用法,我几乎找不到直接创建画布的实际上都差不多,不过我调试了好久啊 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 /* 显示相交部分的上层 */ /** * @param dstBitmap 黄色 底层 * @param srcBitmap 蓝色 上层 * @param...
kotlin简单学习
简书链接:kotlin简单学习文章字数:182,阅读全文大约需要1分钟 1234567891011121314151617181920212223fun main(args: Array<String>){ var arr=arrayOf("333",1,2,"fuck","hello",true,1.5f); println("Hello Worldxxx! arr firstelement¥${arr[0]}"); val language = if (args.size == 0) "EN" else args[0] var switchResult= if(arr.size==0 ) "first" else if(arr.size==7) "7" else if(arr.size==8) "8" else "xxx";...
jni错误分析之Fatalsignal11SIGSEGVcode1faultaddr0x8intid4420
简书链接:jni错误分析之Fatalsignal11SIGSEGVcode1faultaddr0x8intid4420文章字数:770,阅读全文大约需要3分钟下面是具体错误 1234567891011121314151617181920212:08:06.731 4420-4420/? A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0x8 in tid 4420 (com.tencent.mm)08-14 02:08:06.832 1393-1393/? I/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***08-14 02:08:06.832 1393-1393/? I/DEBUG: Build fingerprint: 'Android-x86/android_x86/x86:5.1.1/LMY48Z/denglibo07121054:userdebug/test-keys'08-14...
c语言中数组元素长度的获取和遇到的坑解决办法
简书链接:c语言中数组元素长度的获取和遇到的坑解决办法文章字数:856,阅读全文大约需要3分钟 吐槽作为java开发者的我用c还是有很多不习惯的,遇到很多问题,解决起来真心累,而且我这是安卓转jni转c,一层一层的调试出问题可真心累啊,直接用sizeof是没法测量出长度的,需要除以其中一个元素的长度才能得到真实的长度,但是作为形参传递又没法测量了,下面是一系列举例和解决办法。 如果数组不作为参数传递,那么取长度的代码是: 123456789101112131415 int ints []= int ints []={ 1800,2196,2244,2236,1988, 2264,2204,2240,2196,2204, 2240,2264,1988,2236,2236, 1988,2248,2232,2268,2212, 2220,2240,1988,2260,2220 ,2212,2216,2264,1988,2232, ...
c的加密异或算法
简书链接:c的加密异或算法文章字数:39,阅读全文大约需要1分钟 1234567891011121314151617#include <stdio.h>int main(){ char a[]="我是被加密的东西,你看到我你就输了"; //要加密的密码 char b[]="encryption"; //密钥 int i; //加密代码 for(i=0;a[i];i++) a[i]=a[i]^b[i]; printf("Your Password is encrypted: %s\n",a); /*解密代码*/ for(i=0;a[i];i++) a[i]=a[i]^b[i]; printf("You Password: %s\n",a);return 0;}
第一篇idea测试kotlin
简书链接:第一篇idea测试kotlin文章字数:360,阅读全文大约需要1分钟idea社区免费版本和普通版本感觉没啥大区别,所以当然是免费版本了下载地址https://www.jetbrains.com/idea/download/#section=windows 目前我下载的是当前最新的版本2017.2.1 新建Project选择kotlin->kotlin(JVM)这kotlin(JavaScript)我就不懂了,我是搞安卓开发的,别问我,哈哈 新建完成了,可是如何跑起来呢。新建一个class,Test.kt发现是空白的,那么简单的模仿一个java的hello吧。 这类名可以省略 123fun main(args: Array<String>){ print("Hello Worldxxx!")} 这时候在Run就出现了Run Testkt了 类的继承父类必须申明为 open ,否则会提示没有权限 类的继承父类 1234567open class DemoFather() { fun...
快速开发kotlinandroid应用
简书链接:快速开发kotlinandroid应用文章字数:609,阅读全文大约需要2分钟 环境配置android studio 2.3.3 正式版没出来,为了大众需要所以就这个了, 点击Android studio Settings -> Plugins - 搜索插件 Kotlin下载并重启。 切换为kotin项目方法一环境有了,还要导入依赖才行。首先新建一个正常的项目, 项目build 12345678910buildscript { ext.kotlin_version = '1.1.3-2' repositories { jcenter() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" }} app模块顶部插入 1apply plugin:...