POSIX线程

概述 线程是让单个进程并发执行多个任务的机制。它是共享同一个父进程的内存和资源的轻量级进程,一个进程可以包括多个并行执行的线程。作为同一个进程的一部分,线程之间可以批次通信并共享数据。Android支持java和原生代码中的线程。 pthread_create Android创建线程支持两种方式,一种是我们都很熟悉的java线程,可以直接在java线程中直接执行原生代码。 另外一种就... »

Mac打开ADT Bundle

macos下打开ADT Bundle需要本机已安装Java SE 6,如下图所示,本文档只作一个过程记录,方便自己查看。 这是由于自从mac os升级到10.8之后,就把系统自带的1.6版本的jdk删掉,因此我们想在mac下打开ADT Bundle只能先安装jdk1.6。注意如果系统已经安装更高版本的jdk,此时系统需先卸载高版本的jdk,再安装jdk1.6。注意jdk1.6和高版本的... »

C回调Java方法

注意:C回调Java方法是通过反射来实现的。 C反射步骤与java反射基本一致。 Java的反射示例代码: //先找到class Class clazz = Class.forName("package.TestModel"); //找到方法 Method method = clazz.getMethod("methodName",String.c... »

我的第一个JNI应用

环境准备 Android Studio已安装NDK。 配置ndk-build的环境变量 Windows环境变量配置 新建系统变量 找到Path系统变量,添加 %NDK_HOME%; 保存,打开cmd终端,输入ndk-build测试 看到如图所示提示,即表示环境变量配置成功。 Mac环境变量配置 使用vim或者nano修改~/.bash_prof... »

如何解决if else多层嵌套

前言 在进入正题前请允许我啰嗦几句,其实这篇文章我在上一年就想写了,但是拖延症发作,一直拖到今天。 if...else我们都很熟悉,并且应该也是写逻辑代码用得最多的,我的大学java老师在讲if else语句的时候和我们说过if else嵌套应尽量保持不超过3层,这句话,我一直记住了,但是在实际写代码中,我是尽量保持在最多两层嵌套,大多数情况下,我是保持在一层判断。 有人也许会觉得多层... »