摘要: http://blog.csdn.net/iamlazybone/article/details/16367965 阅读全文
posted @ 2014-05-22 09:49 深谷芝兰 阅读(102) 评论(0) 推荐(0) 编辑
摘要: Android开发中,经常会在Java代码与Jni层之间传递数组(byte[]),一个典型的应用是Java层把需要发送给客户端的数据流传递到Jni层,由Jni层的Socket代码发送出去,当然,Jni层也需要把从Socket接收到的数据流返回给Java层。我简单地总结了一下,从Java层到Jni层,... 阅读全文
posted @ 2014-05-08 10:04 深谷芝兰 阅读(2812) 评论(0) 推荐(0) 编辑
摘要: 参见http://www.eefocus.com/article/10-04/94628_1s.html 阅读全文
posted @ 2014-05-06 10:40 深谷芝兰 阅读(218) 评论(0) 推荐(0) 编辑
摘要: termios结构体中,该结构体一般包括如下的成员:tcflag_t c_iflag;tcflag_t c_oflag;tcflag_t c_cflag;tcflag_t c_lflag;cc_t c_cc[NCCS];其具体意义如下c_iflag:输入模式标志,控制终端输入方式,具体参数如下所示。... 阅读全文
posted @ 2014-05-06 10:12 深谷芝兰 阅读(2638) 评论(0) 推荐(0) 编辑
摘要: 下载SQLite3我们下载sqlite源码包,只需要其中的sqlite3.c、sqlite.h即可。最简单的一个创建表操作#include#include"sqlite3.h"intmain(intargc,char*argv[]){constchar*sql_create_table="creat... 阅读全文
posted @ 2014-05-05 15:25 深谷芝兰 阅读(346) 评论(0) 推荐(0) 编辑
摘要: ActionBarSherlock:actionbar统一Api,独立于android各个版本,扩展于support library。网址:http://actionbarsherlock.com/ 阅读全文
posted @ 2014-04-30 15:52 深谷芝兰 阅读(4134) 评论(0) 推荐(0) 编辑
摘要: Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需要用4位二进制位来表示(23 + 22 + 21 + 20 = 15),所以我们就可以把每个byte转换成两个相应的16进制字符,即把byte的高4位和低4位分别转换成相应的16进制字符H和L,并组合起来得到byte转换到16进制... 阅读全文
posted @ 2014-04-18 13:30 深谷芝兰 阅读(430) 评论(0) 推荐(0) 编辑
摘要: Jvm封装了各种操作系统实际的差异性的同时,提供了jni技术,使得开发者可以通过java程序(代码)调用到操作系统相关的技术实现的库函数,从而与其他技术和系统交互,使用其他技术实现的系统的功能;同时其他技术和系统也可以通过jni提供的相应原生接口开调用java应用系统内部实现的功能。 JNI是JAVA标准平台中的一个重要功能,它弥补了JAVA的与平台无关这一重大优点的不足,在JAVA实现跨平台的同时,也能与其它语言(如C、C++)的动态库进行交互,给其它语言发挥优势的机会。 Jni对于应用本身来说,可以看做一个代理模式。对于开发者来说,需要使用c/c++来实现一个代理程序(jni程序)来... 阅读全文
posted @ 2014-04-11 16:41 深谷芝兰 阅读(1758) 评论(0) 推荐(0) 编辑
摘要: Java不能直接调用由c或者c++写得dll(TF_ID.dll),所以只能采用jni得方法,一步一步生成符合规范得dll文件(假设叫FANGJIAN.dll),在FANGJIAN.dll这个文件里来调用TF_ID.dll。注意一点:两个dll文件不能重名,为什么呢?因为java后来执行时候,必须把两个dll文件均考到java得class文件同一目录下,或者把TF_ID.dll考到system32下也可以,如果重名得话,首先不能考到一个目录下,再则即使将前一个dll考到system32下,那么后一个dll也会出现调用自身dll得问题,大家可想而知了!!!下面给出了两个例子:第一个是用java得 阅读全文
posted @ 2014-04-11 16:40 深谷芝兰 阅读(2867) 评论(0) 推荐(0) 编辑
摘要: 好不容易使用cygwin+windows打了个包,放到JAVA中使用。但是还是会报各种错。JAVA中使用.so文件static{System.loadLibrary("test");//加载libtest.so}以上是网上的经典用法,很简单的一句。但是用的时候还是出错了。。。主要还是.so路径找不到。找了大半天,终于,问题解决了。原因是:windows下loadLibrary只能用来加载.dll, 可以使用 System.load("完整路径+完整文件名") 来加载(android程序最终是要放到手机上linux环境运行的,所以加载.so是没有问题的。) 阅读全文
posted @ 2014-04-11 16:37 深谷芝兰 阅读(3968) 评论(0) 推荐(0) 编辑