摘要: 首先我们来看一下什么是UDP和TCP。什么是TCP?TCP:Transmission Control Protocol传输控制协议TCP是一种面向连接(连接导向)的、可靠的、基于字节流的运输层(Transport layer)通信协议,由IETF的RFC 793说明(specified)。在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能。应用层向TCP层发送用于网间传输的、用8位字节表示的数据流,然后TCP把数据流分割成适当长度的报文段(通常受该计算机连接的网络的数据链路层的最大传送单元(MTU)的限制)。之后TCP把结果包传给IP层,由它来通过网络将包传送给接收端实体的TCP层 阅读全文
posted @ 2010-11-27 23:45 张兴业 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 本文将讨论android应用程序的线程模型以及如何使用线程来处理耗时较长的操作,而不是在主线程中执行,保证用户界面(UI)的流畅运行。本文还将阐述一些用户界面(UI)中与线程交互的API。UI用户界面线程当应用程序启动时,系统会为应用程序创建一个主线程(main)或者叫UI线程,它负责分发事件到不同的组件,包括绘画事件。完成你的应用程序与android UI组件交互。例如,当您触摸屏幕上的一个按钮时,UI线程会把触摸事件分发到组件上,更改状态并加入事件队列,UI线程会分发请求和通知到各个组件,完成相应的动作。单线程模型的性能是非常差的,除非你的应用程序相当的简单,特别是当所有的操作都在主线程中 阅读全文
posted @ 2010-11-27 22:48 张兴业 阅读(383) 评论(0) 推荐(0) 编辑
摘要: 在android应用程序开发中,在使用到数据库的时候,事务处理是非常重要的。 首先android数据库操作(特别是写操作)是非常慢的,将所有操作打包成一个事务能大大提高处理速度。 其次是保证数据的一致性,让一个事务中的所有操作都成功执行,或者失败,或者所有操作回滚。 如果您喜欢使用其他平台(如PHP + MySQL),代码通常在一个功能强大的服务器上运行,一般不会被意外中止,但在android平台上,您将会因为一次又一次的意外中止感到惊呀。android系统会杀死apps/threads/activities等中断数据库的使用,电池电量会耗尽或被移除等。所以,使用数据库事物至关重要... 阅读全文
posted @ 2010-11-27 22:26 张兴业 阅读(210) 评论(0) 推荐(0) 编辑
摘要: ListView的Adapter的作用如下图所示:Adapter的作用就是ListView界面与数据之间的桥梁,当列表里的每一项显示到页面时,都会调用Adapter的getView方法返回一个View。想过没有? 在我们的列表有1000000项时会是什么样的?是不是会占用极大的系统资源?先看看下面的代码:public View getView(int position, View convertView, ViewGroup parent) {View item = mInflater.inflate(R.layout.list_item_icon_text, null);((TextView 阅读全文
posted @ 2010-11-27 22:25 张兴业 阅读(143) 评论(0) 推荐(0) 编辑
摘要: Android应用程序开发中,有的时候我们在应用程序的任何一个地方都需要访问一个全局变量,也就是在任何一个Activity中都可以访问的变量。它不会因为Activity的生命周期结束而消失。要实现应用程序级的变量,我们可以通过Application这个类来实现。 首先,我们新建一个类HelloApplication继承Android.app.Application类,然后在我们的类中增加一些变量。如下所示:01publicclassHelloApplicationextendsApplication {02privateintglobalVariable=1;0304publicintgetG 阅读全文
posted @ 2010-11-27 22:24 张兴业 阅读(249) 评论(0) 推荐(0) 编辑