自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 资源 (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 526

原创 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 275

原创 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 1106

原创 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 259

原创 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 471

原创 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 5788

原创 Dart中的Isolate

IsolateIsolate中文意思是隔离,是 Dart 中的线程。在 Dart 中 async 和 Future 无法解决所有耗时的工作。Isolate虽好,但也有合适的使用场景,不建议滥用Isolate,每当我们创建出来一个新的 Isolate 至少需要 2mb 左右的空间甚至更多。方法执行在几毫秒或十几毫秒左右的,应使用Future如果一个任务需要几百毫秒或之上的,则建议创建单独的Isolate创建IsolateIsolate由一对分别由用于接收消息的ReceivePort对象,和用

2021-05-16 00:30:18 355

原创 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 311

原创 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 65

原创 Android 图片适配

Android的drawable文件一共可以有:默认的drawable drawable-ldpi(低密度) drawable-mdpi(中等密度) drawable-hdpi(高密度) drawable-xhdpi(超高密度) drawable-xxhdpi(超超高密度) drawable-xxxhdpi(超超超高密度) drawable-...

2020-05-07 16:24:00 250

原创 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 1644 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 248

转载 蓝牙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 1470

原创 iOS —— 避免多个按钮同时点击

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {        // 避免多个按钮同时点击    [[UIButton appearance] setExclusiveTouch:YES];        return YES;...

2018-07-05 15:28:45 369

转载 OC -- UIButton

//初始化Button 不用alloca init 的方法 用便利构造器初始化UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];typedef NS_ENUM(NSInteger, UIButtonType) {    UIButtonTypeCustom = 0,       -自定义风格    UIButtonTyp...

2018-06-05 09:19:56 467

原创 UIButton中addTarget事件

1、UIControlEventTouchDown   指鼠标左键按下(注:只是“按下”)的动作2、UIControlEventTouchDownRepeat  指鼠标左键连续多次重复按下(注:只是“按下”)的动作,比如,鼠标连续双击、三击、……、多次连击。  说明:多次重复按下时,事件序列是这样的:  UIControlEventTouchDown ->   (UIControlEvent...

2018-05-30 09:41:43 2377

转载 Android——AlertDialog及其子类

Android提供了功能丰富,应用广泛的对话框:AlertDialog。类图如下:AlertDialogAlertDialog对话框分为三个区域:1.标题区。包括图标和文本,setIcon()设置图标,setTitle()设置文本。2.内容区。可以是简单的文本,也可以是复杂的View。AlertDialog提供了6个方法来设置不同的内容。        1)setMessage(),简单的文本。 ...

2018-05-03 17:17:26 165

转载 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 273

转载 Android NDK应用原理

转:http://shihongzhi.com/ndk/那么首先看一下Android的系统框架: 最底层是Linux Kernel,然后上面是封装的库及Android runtime。再上面是Application Framework。最顶层的就是App了。而App开发者最主要的就是专注于App层。但是由于某些原因要使用到NDK编程,所以会涉及到系统开发(中间层)的开发。系统开发的流程如下图所示:...

2018-05-01 14:34:24 1090

原创 Android -- Intent.FLAG_ACTIVITY_NEW_TASK

在Activity上下文之外启动Activity需要给Intent设置FLAG_ACTIVITY_NEW_TASK标志,不然会报异常。

2018-04-27 17:27:02 237

原创 Mysql 学习笔记

创建库 create database 库名 [character set 码表  collate 字符校对集]显示所有库 show databases;删除库 drop database 库名;修改数据库码表 alter database 库名 character set 码表  collate 字符校对集使用数据库 use 库名查看当前使用的库 select database();显示创建库...

2018-04-22 15:19:58 123

原创 Android 正则匹配规则

常用元字符代码 说明. 匹配除换行符以外的任意字符\w 匹配字母或数字或下划线\s 匹配任意的空白符\d 匹配数字\b 匹配单词的开始或结束^ 匹配字符串的开始$ 匹配字符串的结束常用限定符代码/语法 说明* 重复零次或更多次+ 重复一次或更多次? 重复零次或一次{n} 重复n次{n,} 重复n次或更多次{n,m} 重复n到m次常用反义词代码/语法 说明\W 匹配任意不是字母,数字,下划线,汉字的...

2018-04-20 22:15:43 1087

原创 回调函数

  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 114

原创 Android常用对话框——Dialog

原文参考: https://blog.csdn.net/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 234

转载 Android 布局

FrameLayout(帧布局)这个布局的特点是简单的默认把每一个视图组件都放在边框内且放在左上角,即使添加多个视图组件,他们也都是重叠在左上角,新的视图会遮挡住旧的视图。可以根据gravity来改变他所在的位置。android:layout_gravity="XXX" XXX可以为 bottom、center、center_horizontal、center_vertical、end、left...

2018-04-16 09:39:29 101

转载 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 423

转载 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/CSDN:http://bbs.csdn.net...

2018-04-16 09:38:54 189

原创 事件监听

监听键盘响应事件初始化并绑定    auto listener= EventListenerKeyboard::create();    listener->onKeyPressed= CC_CALLBACK_2(KeyboardTest::onKeyPressed,this);    listener->onKeyReleased= CC_CALLBACK_2(Keyboar

2017-09-01 17:28:50 163

原创 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 199

原创 进程通讯

常用的进程间通信方式有这几种A.传统的进程间通信方式无名管道(pipe)、有名管道(fifo)和信号(signal)B.System v IPC对象共享内存(share memory)、消息队列(message queue)和信号灯(semaphore)C.BSD套接字(socket)

2017-08-28 10:26:17 203

西蒙iphone-OpenGL ES 中文教程

西蒙OpenGL ES 教程 IOS开发,ios技术文档,网络收集整理。西蒙iphone-OpenGL ES 教程,共13篇。第8、12章由于有更好的技术,所以被译者跳过

2018-06-20

空空如也

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

TA关注的人

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