https://www.gravatar.com/avatar/7a0c24f697ea1587001c36d00039b60f?s=240&d=mp

JNI的基本类型

Java Language Type Native Type De**s**cription
boolean jboolean unsigned 8 bits
byte jbyte signed 8 bits
char jchar unsigned 16 bits
short jshort signed 16 bits
int jint signed 32 bits
long jlong signed 64 bits
float jfloat 32 bits
double jdouble 64 bits
字符 Java类型 C类型
V void void
Z jboolean boolean
I jint int
J jlong long
D jdouble double
F jfloat float
B jbyte byte
C jchar char
S jshort short
[I jintArray int[]
[F jfloatArray float[]
[B jbyteArray byte[]
[C jcharArray char[]
[S jshortArray short[]
[D jdoubleArray double[]
[J jlongArray long[]
[Z jbooleanArray boolean[]
JNINativeMethod方法的结构如下:
typedef struct {
const char* name;
const char* signature;
void* fnPtr;
} JNINativeMethod
第一个变量name是Java中函数的名字。 第二个变量signature,用字符串是描述了函数的参数和返回值 第三个变量fnPtr是函数指针,指向C函数。

第二个方法的涵义是:

python2.7命令行中文乱码

关于python在命令行模式下输出中文乱码的问题。关键还是需要在头部加上

1
# -- coding: GBK --

这句,但是可能发现加了这句还是乱码。

1
2
3
#filename:hw.py
print "你好,世界!"
raw_input('请按回车键关闭窗口');

原因在于你的代码中的中文是在加入这句之前写的。所以加入这句代码后。对代码中的中文重新输入。然后保存。这是因为文件保存格式的问题。

ubuntu下android sdk环境变量设置

设置环境变量可以方便操作:

步骤如下:

  1. 查询当前sdk的路径:比如我的/home/xxx/android-sdks
1
2
3
sudo vim /etc/profile
//在文件末尾添加
PATH=$PATH:/home/xxx/android-sdks/tools:/home/xxx/android-sdks/platform-tools
  1. 通过命令生效
1
. /etc/profile

上面这种方法关闭终端后可能会失效,提供另外一种方法:

ubuntu下QQ解决方案

ubuntu下QQ是个大问题,试过很多方法都不给力。最后找到一个个人认为是最方便的方案,和大家共享。

必备要求:chrome浏览器

wine+qq方案网上有很多方法,但是能否成功很看人品。所以最后能选择的只有webqq了,但是开着网页用WEBQQ总是不爽的。这里就是用到谷歌浏览器带的一个实用功能:可以把所有网站都创建成一个应用程序的快捷方式。操作方法:打开WEBQQ页面,然后选择谷歌浏览器的文件-创建应用程序快捷方式,确认。桌面上会生成一个快捷图标,可以托到左侧的快速启动栏。如果发现生成的图标不清晰,可以右键-属性,然后点击图标,选择自己喜欢的图片。完成。这样的方式类似于pywebqq,但是pywebqq的桌面提示太差了,延迟很久。不如这个方法实在。