- 博客(32)
- 资源 (1)
- 收藏
- 关注
原创 Android LayoutInflater
inflate方法:public View inflate (int resource, ViewGroup root)public View inflate (int resource, ViewGroup root, boolean attachToRoot)两个参数内部调用三个参数所以一共就四种方法:inflater.inflate(R.layout.item, null, true);inflater.inflate(R.layout.item, null, false);
2021-10-20 14:25:53
563
原创 JNI操作数组
JNI操作数组1. jType* GetArrayElements(Array array, jboolean* isCopy)1.1. isCopy2. void ReleaseArrayElements(jTypeArray array, j* elems, jint mode)2.1. mode3. void GetArrayRegion(JNIEnv *env, ArrayType array,jsize start, jsize len, Type *buf)4. void SetArrayReg
2021-06-22 15:55:27
349
原创 CMAKE静态库及动态库的引用
1、动态库1.1 引用头文件#导入头文件include_directories(include)1.2 导入动态库#导入库文件set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${CMAKE_SOURCE_DIR}/../jniLibs/${ANDROID_ABI}")1.3 链接动态库target_link_libraries( # Specifies the target library. #生成的动态库 native-
2021-06-22 11:17:43
1253
原创 Dart 空安全 ? !
Dart 空安全 ? !1 使用 ? 声明 Nullable 类型int? age;age = 10;age = null; // ????A?.B如果 A 等于 null,那么 A?.B 为 null如果 A 不等于 null,那么 A?.B 等价于 A.BA??B如果 A 等于 null,那么 A??B 为 B如果 A 不等于 null,那么 A??B 为 A2 在有把握的时候,使用 !int? maybeValue = 42;int value = maybeValue
2021-05-28 14:47:59
324
原创 jstring,std::string和char*之间转换
jstring string = env->newStringUTF(const char *);std::string string = const char *str;const char* str = env->GetStringUTFChars(jstring,0);
2021-05-21 16:52:44
522
原创 JNI GetByteArrayElements 和 GetByteArrayRegion区别
GetArrayElementsGetArrayElements 和ReleaseArrayElements成对使用jbyte* data = env->GetByteArrayElements(array, NULL); if (data != NULL) { memcpy(buffer, data, len); env->ReleaseByteArrayElements(array, data, JNI_ABORT);}GetArrayReg
2021-05-20 17:10:36
6196
原创 Dart中的Isolate
IsolateIsolate中文意思是隔离,是 Dart 中的线程。在 Dart 中 async 和 Future 无法解决所有耗时的工作。Isolate虽好,但也有合适的使用场景,不建议滥用Isolate,每当我们创建出来一个新的 Isolate 至少需要 2mb 左右的空间甚至更多。方法执行在几毫秒或十几毫秒左右的,应使用Future如果一个任务需要几百毫秒或之上的,则建议创建单独的Isolate创建IsolateIsolate由一对分别由用于接收消息的ReceivePort对象,和用
2021-05-16 00:30:18
436
原创 C++动态库的生成与引用
C++动态库的生成与引用一、动态库的导出(非托管)extern "C" __declspec(dllexport) int _stdcall func(int a, int b);def文件(推荐),这种方式不再需要__declspec(dllexport),需要在链接–>输出–>module def中选择def文件。二、动态库的引用在C++中引用静态加载:#pragma comment(lib,"myDll.lib")extern "C" __de
2021-05-15 15:04:08
388
原创 Git服务器搭建
文章目录系统环境CentOS71、安装Git2、创建一个git用户组和用户3、创建证书登录4、初始化Git仓库5、克隆仓库Windows系统环境CentOS71、安装Git yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel //安装依赖 yum install git //安装Git 也可以直接运行yum intall git yum会自动安装软件依赖2
2021-05-15 12:55:03
106
原创 Android 图片适配
Android的drawable文件一共可以有:默认的drawable drawable-ldpi(低密度) drawable-mdpi(中等密度) drawable-hdpi(高密度) drawable-xhdpi(超高密度) drawable-xxhdpi(超超高密度) drawable-xxxhdpi(超超超高密度) drawable-...
2020-05-07 16:24:00
296
原创 SurfaceHolder的setType类型
SURFACE_TYPE_NORMAL:用RAM缓存原生数据的普通SurfaceSURFACE_TYPE_HARDWARE:适用于DMA(Direct memory access )引擎和硬件加速的SurfaceSURFACE_TYPE_GPU:适用于GPU加速的SurfaceSURFACE_TYPE_PUSH_BUFFERS:表明该Surface不包含原生数据,Surface用到的数据由其...
2020-04-20 17:20:59
1859
1
原创 JNI数据转换
jbyteArray 转换为 c的 unsigned char *jint Java_cn_hongdameng_aacencoder_AacEncoder_AacWrite(JNIEnv* env,jobject this,jbyteArray jBuffer, jint jBufferSize){ jbyte* bBuffer = (*env)->GetByteArrayEl...
2019-11-12 15:44:05
318
转载 蓝牙4.0,蓝牙BLE模块,蓝牙4.0和蓝牙BLE
一、关于蓝牙4.0蓝牙4.0标准包含两个蓝牙标准,准确的说,是一个双模的标准,它包含传统蓝牙部分(也有称之为经典蓝牙Classic Bluetooth)和低功耗蓝牙部分(Bluetooth Low Energy)。这两个部分适用于不同的应用或者应用条件。传统蓝牙是在之前的1.0.1.2,2.0+EDR,2.1+EDR,3.0+EDR等基础上发展和完善起来的,低功耗蓝牙是Nokia的Wibree标准...
2018-07-06 15:29:09
1555
原创 iOS —— 避免多个按钮同时点击
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // 避免多个按钮同时点击 [[UIButton appearance] setExclusiveTouch:YES]; return YES;...
2018-07-05 15:28:45
411
转载 OC -- UIButton
//初始化Button 不用alloca init 的方法 用便利构造器初始化UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];typedef NS_ENUM(NSInteger, UIButtonType) { UIButtonTypeCustom = 0, -自定义风格 UIButtonTyp...
2018-06-05 09:19:56
571
原创 UIButton中addTarget事件
1、UIControlEventTouchDown 指鼠标左键按下(注:只是“按下”)的动作2、UIControlEventTouchDownRepeat 指鼠标左键连续多次重复按下(注:只是“按下”)的动作,比如,鼠标连续双击、三击、……、多次连击。 说明:多次重复按下时,事件序列是这样的: UIControlEventTouchDown -> (UIControlEvent...
2018-05-30 09:41:43
2428
转载 Android——AlertDialog及其子类
Android提供了功能丰富,应用广泛的对话框:AlertDialog。类图如下:AlertDialogAlertDialog对话框分为三个区域:1.标题区。包括图标和文本,setIcon()设置图标,setTitle()设置文本。2.内容区。可以是简单的文本,也可以是复杂的View。AlertDialog提供了6个方法来设置不同的内容。 1)setMessage(),简单的文本。 ...
2018-05-03 17:17:26
212
转载 Android --NDK(C调Java)
Java代码:package com.picovr.javacall;import android.util.Log;public class NativeMethord { static { System.loadLibrary("native_jni"); } public void helloFromJava() { ...
2018-05-01 14:55:14
306
转载 Android NDK应用原理
转:http://shihongzhi.com/ndk/那么首先看一下Android的系统框架: 最底层是Linux Kernel,然后上面是封装的库及Android runtime。再上面是Application Framework。最顶层的就是App了。而App开发者最主要的就是专注于App层。但是由于某些原因要使用到NDK编程,所以会涉及到系统开发(中间层)的开发。系统开发的流程如下图所示:...
2018-05-01 14:34:24
1129
原创 Android -- Intent.FLAG_ACTIVITY_NEW_TASK
在Activity上下文之外启动Activity需要给Intent设置FLAG_ACTIVITY_NEW_TASK标志,不然会报异常。
2018-04-27 17:27:02
269
原创 Mysql 学习笔记
创建库 create database 库名 [character set 码表 collate 字符校对集]显示所有库 show databases;删除库 drop database 库名;修改数据库码表 alter database 库名 character set 码表 collate 字符校对集使用数据库 use 库名查看当前使用的库 select database();显示创建库...
2018-04-22 15:19:58
152
原创 Android 正则匹配规则
常用元字符代码 说明. 匹配除换行符以外的任意字符\w 匹配字母或数字或下划线\s 匹配任意的空白符\d 匹配数字\b 匹配单词的开始或结束^ 匹配字符串的开始$ 匹配字符串的结束常用限定符代码/语法 说明* 重复零次或更多次+ 重复一次或更多次? 重复零次或一次{n} 重复n次{n,} 重复n次或更多次{n,m} 重复n到m次常用反义词代码/语法 说明\W 匹配任意不是字母,数字,下划线,汉字的...
2018-04-20 22:15:43
1144
原创 回调函数
1 #include"stdio.h" 2 3 void fun(char* s) 4 { 5 printf("%s",s); 6 } 7 8 void callBack(void (*call)(char*s),char*s) 9 { 10 call(s); 11 } 12 13 int main(int argc,char** argv) 14 { 1...
2018-04-18 09:28:37
148
原创 Android常用对话框——Dialog
原文参考: https://blog.youkuaiyun.com/a_zhon/article/details/54578047一:最简单的对话框AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);builder.setIcon(R.mipmap.icon);//设置标题的图片builder.setTitle...
2018-04-17 15:25:28
258
转载 Android 布局
FrameLayout(帧布局)这个布局的特点是简单的默认把每一个视图组件都放在边框内且放在左上角,即使添加多个视图组件,他们也都是重叠在左上角,新的视图会遮挡住旧的视图。可以根据gravity来改变他所在的位置。android:layout_gravity="XXX" XXX可以为 bottom、center、center_horizontal、center_vertical、end、left...
2018-04-16 09:39:29
128
转载 Logcat命令详解
本文为转载。作者 :万境绝尘 转载请著名出处eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志;1. 解析 adb logcat 的帮助信息在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息;[plain] view plaincopyoctopus@octopus:~$ adb logcat --help U...
2018-04-16 09:39:16
489
转载 QT
【官网】官网:https://www.qt.io/下载:http://download.qt.io/文档:http://doc.qt.io/论坛:https://forum.qt.io/Wiki:http://wiki.qt.io/Main 【中文社区】QTCN:http://www.qtcn.orgQTER:http://www.qter.org/优快云:http://bbs.youkuaiyun.com...
2018-04-16 09:38:54
221
原创 事件监听
监听键盘响应事件初始化并绑定 auto listener= EventListenerKeyboard::create(); listener->onKeyPressed= CC_CALLBACK_2(KeyboardTest::onKeyPressed,this); listener->onKeyReleased= CC_CALLBACK_2(Keyboar
2017-09-01 17:28:50
188
原创 TCP/IP 三次握手-四次挥手
三次握手:(客户端发起,即时连接) 序列号 Seq(随机生成)标志位(共6个)确认号 Ack(只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1)ClinetXSYN=1 ServerYSYN=1, ACK=1X+1ClientX+1ACK=1Y+1四次挥手:(双方均可发起,等待断开) 序列号 Seq标志位(共6个)确认号 Ack(只有ACK标志位为1时,确认序号字段才有效,Ack=S...
2017-08-28 11:35:37
228
原创 进程通讯
常用的进程间通信方式有这几种A.传统的进程间通信方式无名管道(pipe)、有名管道(fifo)和信号(signal)B.System v IPC对象共享内存(share memory)、消息队列(message queue)和信号灯(semaphore)C.BSD套接字(socket)
2017-08-28 10:26:17
223
西蒙iphone-OpenGL ES 中文教程
2018-06-20
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人