背景 在成熟的Android原生项目基础,添加ReactNative模块官方集成方式成本太高,它让新创建一个android的空目录,然后把已有的成熟项目复制过去,这改动太大坑...
![240](https://cdn2.jianshu.io/assets/default_avatar/2-9636b13945b9ccf345bc98d0d81074eb.jpg?imageMogr2/auto-orient/strip|imageView2/1/w/240/h/240)
背景 在成熟的Android原生项目基础,添加ReactNative模块官方集成方式成本太高,它让新创建一个android的空目录,然后把已有的成熟项目复制过去,这改动太大坑...
锁屏页并没有通知栏显示啊
android使用前台服务和notification实现锁屏通知1.权限: 2.service代码: 3.注册service 4.调用 5.RemoteViews的布局 6.效果图
定义扩展函数扩展可以在不直接修改类定义的情况下增加类功能,扩展可以用于自定义类,也可以用于比如List,String,以及Kotlin标准库里的其他类。和继承相似,扩展也能共...
接口定义kotlin规定所有的接口属性和函数实现都要使用override关键字,接口中定义的函数不需要open关键字修饰,他们默认就是open的 抽象类抽象类,abstrac...
继承与重载的关键字open类默认都是封闭的,要想某个类开放继承,必须使用open关键字修饰它 类型转换is as 关键字kotlin中的Any超类,类似于java中的...
list创建与元素获取 mutator函数能修改可变列表的函数有一个统一的名字:mutator函数添加元素运算符 += 与删除元素运算符 -= list集合遍历 解构语法过滤...
kotlin的可空性1.在java中我们司空见惯的空指针异常,带给我们很多麻烦。kotlin改良后,更多的把运行时可能会出现的null问题,以编译时错误的方式,提前在编译期强...
匿名函数 定义时不取名字的函数,我们称之为匿名函数,匿名函数通常整体传递给其他函数,或者从其他函数返回。 匿名函数对kotlin来说非常重要,有了它,我们能够根据需要指定特殊...
只读变量要声明可修改变量,使用var关键字。要声明只读变量,使用val关键字。 类型推断对于已声明并赋值的变量,kotlin允许省略类型定义。比如上面的代码可以修改为: 编译...
从今天开始,我将定期分享学习kotlin过程以及心得,作为一名纯java语言安卓开发学习kotlin的小菜,如果有感同身受者,欢迎留言一起学习。 为什么要学习kotlin?1...
说明:本篇文章比较老了,是基于LeakCanary 1.5版本,对于评论说不用install,引用好直接用的新版本可以参考最新的文章:leakCanaray V2.5 框架源...
首先解释下opencv,它是一个基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux、Windows、Android和Mac OS操作系统上。普遍应用于人脸识...
jni多线程操作 这里的效果是在jni中开启子线程,然后在子线程直接调用Activity的方法jni中,jvm是跨线程的,但是env不可以跨线程使用,所以在子线程中需要新创建...
对象深入学习,参数中有对象 直接撸代码:首先有两个实体类Person和Student 然后MainActivity中调用jni方法,没有任何参数的jni中代码如下: 运行结果...
首先需要搞清楚几个概念,是先有jni,还是ndk?很多人都会觉得先有ndk,然后才有的jni,其实不是的。JNI是JAVA提供的,即Java Native Interfa...
这篇文章写一下c++经典案例,生产者消费者模式,我在代码中的注释写的很详细,这边就不多写了,干货哦!!!工具类代码如下: 在main函数调用如下: 至此,c++的学习之路先告...
文件操作 首先是c语言读取文件:需要先添加头文件, 然后是c++读取文件:先添加头文件: 多线程入门 c++的多线程是一个很难的点,也是很重要的一个点。我这里使用的是标准库中...
容器 c++中的容器分为两种:1.序列化容器,元素的排序关系,和元素本身没有任何关系,是我们在添加的时候的顺序导致的排序(vector,priority_queue)2.关联...