Android JNI入门
专栏介绍了Eclipse集成NDK开发c程序,包括jni入门、java调C、C调java,语音编解码。
xyz_lmn
6年+的移动应用开发经验;
在android、ios以及曾经的Symbian、windows mobile等系统下有项目经验。
有手机支付、voip项目、电信相关项目,移动健康项目经历。从事项目设计、架构、接口文档、代码编写工作。
展开
-
Android JNI开发提高篇
有关JNI的开发技术,我们继续围绕Android平台进行,JNI可以支持C或C++,从目前为止我们写过的JNI代码均为C实现的,即文件名为.C而C++的和这些有什么不同呢? Android平台上的JNI一般使用C还是C++编写呢? Android平台在中间层和大部分的类库的底层使用了C++的开发方式,后缀为.cpp,比如Android Framework、OpenCore、Webkit、SQL转载 2011-11-27 20:12:29 · 10148 阅读 · 1 评论 -
speex编解码在android上实现
以前在应用中使用到了Speex编解码,近来总结了一下Speex在android上的实现。Speex是一套主要针对语音的开源免费,无专利保护的音频压缩格式。Speex工程着力于通过提供一个可以替代高性能语音编解码来降低语音应用输入门槛 。另外,相对于其它编解码,Speex也很适合网络应用,在网络应用上有着自己独特的优势。同时,Speex还是GNU工程的一部分,在改版的BSD协议中得到了很好的支持。S原创 2012-09-24 17:00:05 · 40416 阅读 · 41 评论 -
ilbc编解码在android实现
iLBC 是为专为提供稳健的 IP 语音通信而开发的语音 codec,以窄带语音为设计基础,具有 8 kHz 的采样率。iLBC codec 支持两种基本的帧长度:13.3 kbps 比特率下编码帧长度为 30 ms;而 15.2 kbps比特率下编码帧长度则为 20 ms。 采用 iLBC 算法可以获得一个具有丢包响应控制的语音编码系统。iLBC 对每一个数据包的处理都能够独立于其原创 2012-09-25 09:13:28 · 13611 阅读 · 11 评论 -
Silk编解码在android实现
Silk编解码是Skype向第三方开发人员和硬件制造商提供免版税认证(RF)的Silk宽带音频编码器。Skype已将其开源,可以访问http://developer.skype.com/silk获取最新动向。SILK Codec是一个语音和音频编解码算法, 对于音频带宽、网络带宽和算法复杂度都具有很好的弹性。支持4种采样率:8KHz、12KHz、16KHz、24KHz;三种复杂度:低、中、高。编码原创 2012-09-25 16:33:54 · 17371 阅读 · 11 评论 -
Android JNI入门第四篇——Android.mk文件分析
Android.mk文件是在使用NDK编译C代码时必须的文件,Android.mk文件中描述了哪些C文件将被编译且指明了如何编译。掌握Android.mk文件的编写主要是掌握其里头将要使用的一些关键字,先来看一个简单的例子,这个例子使用的是android NDK带的HellJni的例子。LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)LOC原创 2011-11-13 17:52:00 · 18446 阅读 · 4 评论 -
Android JNI入门第五篇——基本数据类型使用
前面讲到了java和native数据类型,这里就开始做一下使用: 第一步:新建工程 第二部:书写 java方法:public class NativeMethod { static { System.loadLibrary("com_nedu_jni_jnidemo5-jni"); } public native boolean getB原创 2011-11-23 16:56:40 · 6370 阅读 · 2 评论 -
Android JNI入门第三篇——jni头文件分析
一、 首先写了java文件:public class HeaderFile { private native void doVoid(); native int doShort(); native void doArray(Object[] o ); native int doInt(int i); //byte ,short ,int,long,float,原创 2011-11-11 14:07:06 · 14314 阅读 · 2 评论 -
Android JNI入门第二篇——Java参数类型与本地参数类型对照
前面一篇通过简单的例子介绍了android中JNI的使用。这一篇从基础上了解一些Java参数类型与本地参数类型区别。 1) java中的返回值void和JNI中的void是完全对应的哦!(仅仅一个而已)。2) java中的基本数据类型(byte ,short ,int,long,float,double ,boolean,char-8种)在JNI中对应的数据类型只要在前原创 2011-11-10 14:22:42 · 9405 阅读 · 0 评论 -
Android JNI入门第一篇——HelloJni
android支持使用NDK开发C程序,关于配置NDK环境问题应该不用再赘述了,这个网上有很多,这里通过一篇实例来讲述简单的JNI开发,大家可以参考这篇文章(Get Your Eclipse-Integrated NDK On!)搭建Eclipse编译C语言为so文件的开发环境。 native方法实现步骤如下: 1、在Java中声明native()方法,然后编译(jav原创 2011-11-10 11:24:19 · 18000 阅读 · 7 评论 -
把NDK集成到Eclipse
前言 最经在看Android方法的基础知识,看到一篇文章(http://www.rbgrn.net/content/348-get-your-eclipse-integrated-ndk-on)介绍如何把Android的NDK集成到Eclipse,顺便就把它翻译过来。 注:技术名称保留不译,比如CygwinEclipse(英文版)的界面文本不译,比如按钮(Specify R原创 2010-12-02 16:06:00 · 6781 阅读 · 0 评论 -
Android JNI入门第六篇——C调用Java
本篇将介绍在JNI编程中C调用Java实现。源码下载地址:http://download.csdn.net/detail/xyz_lmn/4868265关键代码:java:public class CCallJava { public static String getTime() { Log.d("CCallJava", "Call From C Java Static Method"原创 2012-12-10 15:25:07 · 20343 阅读 · 13 评论