04 2012 档案
摘要:现象:“.c”后缀名改为“.cpp”时java调用native失败。解决:加入“extern "C"”。现象:“error: base operand of '->' has non-pointer type '_JNIEnv'”错误。解决:将“(*env)->NewStringUTF(env, "HelloWorld from JNI !");”改为“env->NewStringUTF("HelloWorld from JNI !")”。例子:Cpp代码#include<std
阅读全文
摘要:1 基础知识点① JNI:Java native interface② Android中调用JNI:static //static区声明的代码会先于onCreate方法执行{System.loadLibrary("HelloWorld");//加载,完整的名字是lib HelloWorld.so}private native String Hello(); //有 native 关键字2 JNI开发基本步骤①编写.java类②生成.class文件③生成.h文件③查阅.h文件 JNIEXPORT 和 JNICALL 是jni的宏 函数前的注释Signature: ()Ljav
阅读全文
摘要:1、简介目前,在IP网络中实现实时语音、视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详细介绍IP协议族中用于实时语音、视频数据传输的标准协议RTP( Real-time Transport Protocol)和RTCP(RTP Control Ptotocol)的主要功能。2、RTP/RTCP协议简介RTP 由 IETF(http://www.ietf.org/)定义在 RFC 3550和3551中。RTP被定义为传输音频、视频、模拟数据等实时数据的传输协议,与传统的注重的高可靠的数据传输的运输层协议相比,它更加侧重的数据传输的实时性,此协议提供的服务包括数据顺序号、时间标记、
阅读全文
摘要:3.1多了三个大包android.hardware.usb、android.mtp、 android.net.rtp !USB、mtp、rtp-------三个字眼,各个血淋淋,让人悲喜交加,Google你为何不早点发?android.mtp让连接的camera和其他设备,直接使用PTP(图像传输协议)的MTP(媒体传输协议)。保持设备连接,上层app可以接收到通知,取消,管理这些设备的文件和存储,文件的传输和元数据等。它为我们提供了定义PTP和MTP的MtpConstants,描述USB host总线上连接的PTP或MTP设备的MtpDevice,封装MTP设备信息的MtpDeviceInf
阅读全文
摘要:RTP提供端对端网络传输功能,适合通过多播和点播传送实时数据,如视频、音频和仿真数据。RTP没有涉及资源预订和质量保证等实时服务,RTCP扩充数据传输以允许监控数据传送,提供最小的控制和识别功能。RTP与RTCP设计成独立于传输层和网络层。1.RTP固定头RTP头格式如图14-02-3所示。< XMLNAMESPACE PREFIX ="O" />图14-02-3RTP头格式开始12个八位组(字节)出现在每个RTP包中,而CSRC标识列表仅出现在混合器插入时。各字段的含义如下:① 版本(v):2位,标识RTP版本。② 填充标识(P):1位,如设置填充位,在包尾将
阅读全文
摘要:在android联系人界面,点击添加头像后可以选择一个图像的部分区域来作为头像。查看了一下代码,模仿着写了一段从文件中选择部分区域:Java代码Intentintent=newIntent("com.android.camera.action.CROP");intent.setClassName("com.android.camera","com.android.camera.CropImage");Filefile=newFile(filePath);Uriuri=Uri.fromFile(file);intent.setData(
阅读全文
摘要:首先是stackFromBottom属性,这只该属性之后你做好的列表就会显示你列表的最下面,值为true和falseandroid:stackFromBottom="true"第二是 transciptMode属性,需要用ListView或者其它显示大量Items的控件实时跟踪或者查看信息,并且希望最新的条目可以自动滚动到可视范围内。通过设置的控件transcriptMode属性可以将Android平台的控件(支持ScrollBar)自动滑动到最底部。android:transcriptMode="alwaysScroll"第三cacheColorHin
阅读全文
摘要:Android所有关于蓝牙开发的类都在android.bluetooth包下,只有8个类,而我们需要用到了就只有几个而已:1.BluetoothAdapter 蓝牙适配器,直到我们建立bluetoothSocket连接之前,都要不断操作它BluetoothAdapter里的方法很多,常用的有以下几个:cancelDiscovery() 根据字面意思,是取消发现,也就是说当我们正在搜索设备的时候调用这个方法将不再继续搜索 disable()关闭蓝牙 enable()打开蓝牙,这个方法打开蓝牙不会弹出提示,更多的时候我们需要问下用户是否打开,一下这两行代码同样是打开蓝牙,不过会提示用户:Intem
阅读全文
摘要:AsyncTask定义了三种泛型类型 Params,Progress和Result。 •Params 启动任务执行的输入参数,比如HTTP请求的URL。 •Progress 后台任务执行的百分比。 •Result 后台执行任务最终返回的结果,比如String。Activity01/*02* Android 异步任务AsyncTask03* AsyncTask定义了三种泛型类,Params,Progress,Result04*/05package rw.ansync;0607import android.app.Activity;08import android.os.Bundle;09impo
阅读全文
摘要:在开发Android应用时必须遵守单线程模型的原则: Android UI操作并不是线程安全的并且这些操作必须在UI线程中执行。在单线程模型中始终要记住两条法则:1. 不要阻塞UI线程2. 确保只在UI线程中访问Android UI工具包 当一个程序第一次启动时,Android会同时启动一个对应的主线程(Main Thread),主线程主要负责处理与UI相关的事件,如:用户的按键事件,用户接触屏幕的事件以及屏幕绘图事件,并把相关的事件分发到对应的组件进行处理。所以主线程通常又被叫做UI线程。 比如说从网上获取一个网页,在一个TextView中将其源代码显示出来,这种涉及到网络操作的程序一般都是
阅读全文