- 博客(16)
- 资源 (2)
- 收藏
- 关注
原创 android 多媒体文件关联之MIME TYPE
在我们打开手机中的文件夹,并点击文件时,会跳出一个dialog的选项面板,上面显示的就是我们点击的文件所有关联的应用,也就是能够用这些应用来读取我们的文件;下面要描述的就是,开发者如在自己的应用中实现点击文件调出相关的应用选项面板以及点击手机中的文件关联到我们自己写的应用程序并显示在面板上。 下面实现的是,点击手机中的音频文件如何关联到我自己写的音乐播放器!
2014-03-27 19:54:08 2850 1
原创 android之 clipdraw 在 .xml中的使用
ClipDraw 代表从其他位图上截取的一个“图片片段”。 在xml文件中定义ClipDraw对象使用, 其结构如下:<clip xmlns:android="http://schemas.android.com/apk/res/android" android:drawable="@drawable/shuangta" androi
2014-03-27 10:22:16 924
转载 Android 利用BaseAdapter定制属于自己的adapter
ListView是Android开发过程中较为常见的组件之一,它将数据以列表的形式展现出来。一般而言,一个ListView由以下三个元素组成: 1.View,用于展示列表,通常是一个xml所指定的。大家都知道Android的界面基本上是由xml文件负责完成的,所以ListView的界面也理所应当的使用了xml定义。例如在ListView中经常用到的“android.R
2014-03-20 09:10:35 576
转载 android之 JNI 详解 (十)
上面代码中的第三行, jobjectArray result; 因为要返回值,所以需要新建一个jobjectArray对象。 jclass intArrCls = env->FindClass("[I"); 是创建一个jclass的引用,因为 result的元素是一维int数组的引用,所以intArrCls必须是一维int数组的引用,这一点是如何保证的呢?注意Fin
2014-03-15 13:48:58 550
转载 android 之 JNI 详解 (九)
3. 数组类型的传递 和String一样,JNI为Java基本类型的数组提供了j*Array类型,比如int[]对应的就是jintArray。来看一个传递int数组的例子,Java代码:JNIEXPORT jint JNICALL Java_IntArray_sumArray(JNIEnv *env, jobject obj, jintArray arr)
2014-03-15 13:47:32 539
转载 android 之JNI 详解(八)
在这个例子中,我们要实现一个native方法 String getLine(String prompt); 读入一个String参数,返回一个String值。 通过执行javah -jni得到的头文件是这样的Java代码:#include #ifndef _Included_Prompt#define _Included_Prompt#i
2014-03-15 13:46:16 506
转载 android 之 JNI 详解 (七)
4 directories, 4 files 5.编译:make APP=myjni. 以上内容在ubuntu完成。以下内容在windows中完成。当然也可以在ubuntu中完成。 6.在eclipsh中创建android application。将myjni中自动生成的libs文件夹拷贝到当前工程文件夹中,编译运行即可。Java代码:pa
2014-03-15 13:44:38 470
转载 android 之 JNI 详解(六)
4.编译.c文件生存动态库。 arm-none-linux-gnueabi-gcc -I/home/a/work/android/jdk1.6.0_17/include -I/home/a/work/android/jdk1.6.0_17/include/linux -fpic -c com_hello_jnitest_Nadd.c arm-none-linux-
2014-03-15 13:43:08 636
转载 android 之 JNI 详解(五)
上面的都是基本类型。如果Java函数的参数是class,则以"L"开头,以";"结尾,中间是用"/" 隔开的包及类名。而其对应的C函数名的参数则为jobject. 一个例外是String类,其对应的类为jstring Ljava/lang/String; String jstring Ljava/net/Socket; Socket jobject 如果JAVA函数位于一
2014-03-15 13:41:19 496
转载 android 之 JNI 详解(四)
4.Andoird 中使用了一种不同传统Java JNI的方式来定义其native的函数。其中很重要的区别是Andorid使用了一种Java 和 C 函数的映射表数组,并在其中描述了函数的参数和返回值。这个数组的类型是JNINativeMethod,定义如下:java代码:typedef struct {const char* name;const char
2014-03-15 13:36:04 487
转载 android 之 JNI 详解(三)
3.registerNativeMethods()函数的用途 应用层级的Java类别透过VM而呼叫到本地函数。一般是仰赖VM去寻找*.so里的本地函数。如果需要连续呼叫很多次,每次都需要寻找一遍,会多花许多时间。此时,组件开发者可以自行将本地函数向VM进行登记。例如,在Android的/system/lib/libmedia_jni.so档案里的代码段如下:java代码:
2014-03-15 13:33:43 538
转载 android之 JNI 详解(二)
此函数回传JNI_VERSION_1_4值给VM,于是VM知道了其所使用的JNI版本了。此外,它也做了一些初期的动作(可呼叫任何本地函数),例如指令:Java代码:if (register_android_media_MediaPlayer(env) LOGE("ERROR: MediaPlayer native registration failed ");got
2014-03-15 13:30:46 678
转载 android之 JNI 详解( 一 )
Java Native Interface (JNI)标准是java平台的一部分,它允许Java代码和其他语言写的代码进行交互。JNI 是本地编程接口,它使得在 Java 虚拟机 (VM) 内部运行的 Java 代码能够与用其它编程语言(如 C、C++ 和汇编语言)编写的应用程序和库进行交互操作。 1.从如何载入.so档案谈起 由于Android的应用层的类都是以Java写的,
2014-03-15 13:27:31 913
原创 linux 之内核启动过程
与移植u-boot的过程相似,在移植Linux之前,先了解它的启动过程。Linux的启动过程可以分为两部分:架构、开发板的引导过程、后续的通用启动过程。如下图所示的是ARM架构处理器上Linux内核vmlinux的启动过程。之所以强调是vmlinux,是因为其他格式的内核在进行与Linux相同的流程之前会有一些独特的操作。比如对于压缩格式的内核zImage,它首先进行自解压得到vmlinux,然后
2014-03-07 20:17:46 563
原创 linux 产品发布--根文件系统镜像制作
用命令:du 要查看的文件夹的大小 -hs 算出根文件系统的大小将近两百兆(本人自己用的)[root@localhost opt]# du * -hs133M qt-embedded-arm9244K tslib从上可以看出, qt 的库函数占去了绝大多数的空间,所以需要对这个库进行缩减。文件系统: 常用文件系统格式: NFS
2014-03-07 20:12:26 1004
原创 linux内核驱动三类注册方式
1. 2.6之后的注册方式:#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #i
2014-03-07 20:06:12 970
正确配置RT5350中ttyS0正常工作
2014-07-24
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人