- 浏览: 521477 次
- 性别:
- 来自: 上海
最新评论
-
c7887qin:
貌似还要使用相同的证书进行签名。。。
Android - 如何将两个/多个应用放到一个进程中去? -
北极光之吻:
天天向上1989 写道不是有OnDoubleTapListen ...
android实现双击事件监听 -
nielong123:
nielong123 写道onCheckedChanged(M ...
Android RadioGroup 换行, 支持多行多列 -
nielong123:
onCheckedChanged(MultiRadioGrou ...
Android RadioGroup 换行, 支持多行多列 -
zk_Ming:
zk_Ming 写道我用了你的,但是radiogroup 点击 ...
Android RadioGroup 换行, 支持多行多列
文章列表
有关Android NIO的注意点和重点今天Android123着重分析下上次 Android开发进阶之NIO非阻塞包(四) 一文中提到的不足地方改进。由于目前国内很多人资料书籍编写人员没有通过NIO实现服务器的经验,导致了很多例子中存在严重的错误,由于大多数例子为Echo这样的单次交互以及数据量较小所以反映不出问题的所在。
1. 读和写应该分开,NIO使用的是异步的方法但不等于说不会阻塞,在上面的例子中我们可以看到 判断 key.isReadable() 时,对于这个SelectionKey关联的SocketChannel尽量不要使用写入数据量过多时ByteBuffer使用hasRem ...
今天我们通过一个实例详细讲解下Android下NIO非阻塞服务器的开发,对于客户端而言Android123不推荐使用NIO,毕竟NIO相对于传统IO较为复杂,最重要的NIO是为了解决多线程并发问题而解决的技术,可能会因为管理和复杂性降低最终的结果,毕竟NIO是Java的,相关的类型比较难控制,对于客户端而言我们可以使用C++、Java、C#甚至Flash Action Script来编写。 下面我们以一个简单的Echo Server为例子来分析
import java.io.IOException;
import java.NET.InetSocketAddress;
import jav ...
有关Android NIO的精髓主要用于高负载的Socket网络传输,相对于传统I/O模型的Socket传输方式的优势,我们已经在 Android开发进阶之NIO非阻塞包(一) 中讲到了,这里不再赘述,一起来看看Android NIO有关Socket操作提供的类吧: 一、ServerSocketChannel 服务器套接字通道在Android SDK中查找package名为 Java.nio.channels.ServerSocketChannel
在Java的NIO中,ServerSocketChannel对应的是传统IO中的ServerSocket,通过ServerSocketCh ...
有关Android NIO的相关内容,本次Android123整理并归类如下,为了让大家感觉NIO和Android平台联系的紧密,这里我们结合ADT插件的重要开发工具DDMS中的源码进行分析。在android git中的SDK.git文件中,可以找到ddmlib这个文件夹。有关PC和手机的互通内核在这里使用了Java来完全实现。这里Android开发网一起帮助大家了解下PC同步软件的开发原理同时学习下Java中的New I/O技术。
比较重要的代码段我们贴出,逐一分析,其他的网友可以直接预读源码:
AdbHelper.java文件中
public static SocketCh ...
今天我们继续就Android DDMS源码一起分析NIO非阻塞通讯方式,Android123也会给大家分享下手机和PC互通中的一些技术。在NIO中有关SocketChannel和ByteBuffer的使用细节,可以在今天文章中
static void read(SocketChannel chan, byte[] data, int length, int timeout)
throws TimeoutException, IOException {
ByteBuffer buf = ByteBuffer.wrap(data, 0, length ! ...
1 场景
当用socket进行进程通信,传输数据的时候,会出现以下一些情况:
(1)完整的一条消息被系统拆分成几条发送,例如要发送一条消息:Hello World ,却被系统分成两条消息发送,分别为:Hello 和 World。
(2)几条独立的消 ...
Eclipse C/C++关于socket(tcp/ip)相关API编译错误的问题
MinGW支持winsock2,但到编译的时候总是报错:
undefined reference to `inet_addr@4'
undefined reference to `gethostbyname@4'
undefined reference to `WSAGetLastError@0'
undefined reference to `inet_ntoa@4'
undefined reference to `WSAStartup@8'
undefined reference to `inet_ntoa@ ...
JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。编译虚拟机的指令集与编译微处理器的指令集非常类似。
一般的高级语言要在不同的机器上运行,需要编译成不同的目 ...
一:首先必须配置jvm的path,sdk的path(这样运行各种可执行文件时就不必显示的添加可执行文件的路径了,如javac,aapt等)。
vim ~/.bashrc
根据自己软件的安装情况在.bashrc文件的末行添加如下:
export JAVA_HOME=/usr/lib/jvm/default-java:/usr/lib/jvm/java-6-openjdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:JAVA_HOME/lib.tools.jar
export JAVA_HOME CLASSPATH PATH
...
How to build Android application package (.apk) from the command line using the SDK tools
Hello all android developers, I just want to share my experience building android apk manually using sdk tools without using Eclipse. My original goal is motivated firstly by the desire to incorporate continuo ...
冒泡排序算法(JAVA)
- 博客分类:
- JAVA
public class BuddleSort {
/**
* 冒泡排序算法
* @author Jason Shieh
* @param orientNumbers
* @return
*/
public static int[] sort(int[] orientNumbers){
if(orientNumbers == null || orientNumbers.length == 0){
return orientNumbers;
}
int temp;
int last = orientNumbers.length ...
JAVA实现快速排序算法(快排)
- 博客分类:
- JAVA
/**
* @author : xxj
* @date : 2012-7-24
* @time : 下午8:13:13
* @describe : 快速排序算法(JAVA)
*/
public class QuickSort {
public static int[] quickSort(int[] numbers){
if(numbers == null || numbers.length < 2){
return numbers;
}
int i = 0;
int j = numbers.length - 1;
int ...
编写 Objective-C 代码
- 博客分类:
- Objective-C
如果你刚开始接触 iOS 或 Mac OS X 编程,首先要学习一点编程语言 Objective-C 入门知识。Objective-C 并不是一门复杂的语言,经过一段时间的接触,你就能体会到它的优雅。Objective-C 语言实现了严格的面向对象编程。它扩展了标准 ANSI C 语言,增加了定义类和方法的语法。它还推行类和接口的动态扩展性,使任何类都能适配和采用。
如果你已经掌握了 ANSI C 语言,下面的内容能够帮助你掌握 Objective-C 的基本语法。如果你有其他面向对象编程语言的基础,你会发现 Objective-C 中含有大量传统的面向对象概念,例如封装、继承、多态性等。反 ...
1.什么是aidl:aidl是 Android Interface definition language的缩写,一看就明白,它是一种android内部进程通信接口的描述语言,通过它我们可以定义进程间的通信接口
icp:interprocess communication :内部进程通信
2.既然aidl可以定义并实现进程通信,那么我们怎么使用它呢?文档/android-sdk/docs/guide/developing/tools/aidl.html中对步骤作了详细描述:
--1.Create your .aidl file - This file defines an interf ...
如何进行Android单元测试
- 博客分类:
- Android
转自: http://www.cnblogs.com/feisky/archive/2010/07/23/1783826.html
#
Menifest.xml中加入:
<application>中加入:
<uses-library android:name="android.test.runner" />
<application>外面加入:
<uses-permission android:name="android.permission.RUN_INSTRUMENTATION" />
< ...