上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 71 下一页
摘要: Linux下建议的命名规则如下。(1)变量名必须有一定的意义,并且意义准确。例如有一个变量用于保存图书的数目,可以命名为number_of_book或者num_of_book。不建议使用i,因为它没有意义。也不建议使用number或book,因为意义不准确。(2)不建议大小写混用。如定义一个计数变量,int nCount;这在Windows中是一个很好的变量名,其中nCount的首字母n用来说明这个变量的类型是int。但在Linux下不建议大小写混合使用,一般标识符只由小写字母,数字和下划线构成。(3)在失去意义的情况下,尽量使用较短的变量名。例如有一个变量,用于暂时存储一个计数值,把变量命名 阅读全文
posted @ 2011-10-26 19:36 hnrainll 阅读(7659) 评论(0) 推荐(0) 编辑
摘要: Service是在一段不定的时间运行在后台,不和用户交互应用组件。每个Service必须在manifest中 通过<service>来声明。可以通过contect.startservice和contect.bindserverice来启动。 Service和其他的应用组件一样,运行在进程的主线程中。这就是说如果service需要很多耗时或者阻塞的操作,需要在其子线程中实现。 service的两种模式(startService()/bindService()不是完全分离的):本地服务 Local Service 用于应用程序内部。 它可以启动并运行,直至有人停止了它或它自己停止。在这 阅读全文
posted @ 2011-10-26 16:36 hnrainll 阅读(501) 评论(0) 推荐(0) 编辑
摘要: Service 简介何谓“Service”?“Service” 意思即“服务”的意思, 像 Windows 上面的服务一样,有些服务是在后台上运行,干着静悄悄的勾当不让人知道 。与 Activity 不同,Service 是并不直接与用户交互的运行于后台的一类组件。 Google对Service的解释一个服务不是一个单独的进程。服务对象本身并不意味着它是在自己的进程中运行,除非另有规定,否则它与运行程序是同在一个进程中。一个服务不是一个单独的线程。它是一种手段,本身做着主线的工作 (以避免应用程序没有响应的错误)。 Service 与 Activity 的相同点与不同点不同点:Activi.. 阅读全文
posted @ 2011-10-26 16:34 hnrainll 阅读(479) 评论(0) 推荐(0) 编辑
摘要: Android组件横看成岭侧成峰,远近高低各不同。 -- 《题西林壁》组件(Component),在谈及所谓架构和重用的时候,是一个重要的事情。很多时候都会说基于组件的软件架构,指的是期望把程序做乐高似的,有一堆接口标准封装完整的组件放在哪里,想用的时候取上几个一搭配,整个程序就构建完成了。在开篇的 时候就在说,Android是一个为组件化而搭建的平台,它引入所谓Mash-Up的概念,这使得你在应用的最上层,想做的不组件化都是很困难的一件事情 (底层逻辑,好吧,管不了...)。具体说来,Android有四大组件四喜丸子:Activity、Service、Broadcast Receiver、C 阅读全文
posted @ 2011-10-26 16:33 hnrainll 阅读(278) 评论(0) 推荐(0) 编辑
摘要: Service是Androd系统提供的四种组件之一,它的地位和Activity是并列的,只不过没有Activity的使用频率高。顾名思义Service就是运行在后台的一种服务程序,一般很少和用户交互,因此没有可视化界面。下面我们演示一下如何创建一个Service:1:我们通过布局文件layout/main.xml创建一个启动、停止、及绑定一个Service<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.andro 阅读全文
posted @ 2011-10-26 16:32 hnrainll 阅读(789) 评论(0) 推荐(0) 编辑
摘要: l转自: android 的Activity和Service之间的通信在 android中Activity负责前台界面展示,service负责后台的需要长期运行的任务。Activity和Service之间的通信主要由 IBinder负责。在需要和Service通信的Activity中实现ServiceConnection接口,并且实现其中的 onServiceConnected和onServiceDisconnected方法。然后在这个Activity中还要通过如下代码绑定服务:Java代码Intentintent=newIntent().setClass(this,IHRService.cl 阅读全文
posted @ 2011-10-26 16:23 hnrainll 阅读(5934) 评论(1) 推荐(1) 编辑
摘要: 通常每个应用程序都在它自己的进程内运行,但有时需要在进程间传递对象,你可以通过应用程序UI的方式写个运行在一个不同的进程中的service。在android平台中,一个进程通常不能访问其他进程中的内存区域。所以,他们需要把对象拆分成操作系统能理解的简单形式,以便伪装成对象跨越边界访问。编写这种伪装代码相当的枯燥乏味,好在android为我们提供了AIDL工具可以来做这件事。AIDL(android接口描述语言)是一个IDL语言,它可以生成一段代码,可以使在一个android设备上运行的两个进程使用内部通信进程进行交互。如果你需要在一个进程中(例如:在一个Activity中)访问另一个进程中(例 阅读全文
posted @ 2011-10-26 15:02 hnrainll 阅读(322) 评论(0) 推荐(0) 编辑
摘要: Service是android系统中的一种组件,它跟Activity的级别差不多,但是他不能自己运行,只能后台运行,并且可以和其他组件进行交互。Service的启动有两种方式:context.startService() 和 context.bindService()。使用context.startService() 启动Service是会会经历:context.startService() ->onCreate()- >onStart()->Service runningcontext.stopService() | ->onDestroy() ->Servic 阅读全文
posted @ 2011-10-26 14:58 hnrainll 阅读(299) 评论(0) 推荐(1) 编辑
摘要: 把service的一些特性总结一下,基本知识就不介绍了.1、主要在后台运行。2、分两种类型: remote和location(远程和本地) 区别:远程的可以用在不同进程间访问,通过aidl实现(aidl以后介绍),当访问的进程结束掉后,还可以在后台继续进行。 本地的是在同一个进程间访问,当访问的进程结束后一起关掉。3、打开service的方法有两种: 一种:直接打开法: 通过startservice(Intent)这个方法打开,与之对应的是stopservice(Intent)这个方法关闭。 二种:通过bind的方法: 通过bindservice这个方法打开连接上service,与之对应该的是 阅读全文
posted @ 2011-10-26 14:55 hnrainll 阅读(517) 评论(0) 推荐(0) 编辑
摘要: Android的基本组件 1.Activity Activity 是最基本的模块,一般称之为“活动”,在应用程序中一般一个Activity就是一个单独的屏幕。每一个活动都被实现为一个独立的类,并且从活动基类中继 承而来,活动类将会显示由视图控件组成的用户接口,并对事件作出响应。Activity利用View来实现应用中的GUI(用户直接通过GUI和应用程序 做交互)。Activity窗口内的可见内容通过基类View提供。使用Activity.setContentView()方法设置当前 Activity中的View对象。 每个View对象控制着窗口内的一个矩形空间; View是一种层次化结构,P 阅读全文
posted @ 2011-10-26 11:48 hnrainll 阅读(9735) 评论(0) 推荐(0) 编辑
摘要: IP选路的必要性由于Internet是由许多不同的物理网络连接而成的,加入Internet的计算机在与其他入网计算机通信时,发送信息的源计算机可能与接收信息的目的计算机在同一个物理网络中;也可能不在同一个物理网络(如以太网)中。为了实现IP数据包从源地址到目的地址的传送,需要针对不同情况进行IP数据报转发路径的选择。什么是IP选路?在TCP/IP系统中,选路(Routing)是指在网络中选择一条用于传送IP数据包路径的过程。路由器(Router)是承担选路任务的网络设备。用于决策选路的信息称为IP选路信息(IP routing information)。路由器使用IP选路信息,对所传输的IP数 阅读全文
posted @ 2011-10-26 11:15 hnrainll 阅读(1669) 评论(0) 推荐(0) 编辑
摘要: 什么是IGMP?IGMP 是Internet Group Management Protocol(互联网组管理协议)的简称。它是TCP/IP 协议族中负责IP 组播成员管理的协议,用来在IP 主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。IGMP主要功能当一台主机加入到一个新的组时,它发送一个IGMP消息到组地址以宣告它的成员身份,多播路由器和交换机就可以从中学习到组的成员。利用从IGMP中获取到的信息,路由器和交换机在每个接口上维护一个多播组成员的列表。IGMP报文格式和分类一个完整的IGMP数据报:正如ICMP一样, IGMP 也被当作IP 层的一部分。 IGMP报文的基本格 阅读全文
posted @ 2011-10-26 11:13 hnrainll 阅读(7571) 评论(0) 推荐(1) 编辑
摘要: TCP 协议为终端设备提供了面向连接的、可靠的网络服务;UDP 协议为终端设备提供了无连接的、不可靠的数据报服务。从上图我们可以看出,TCP 协议为了保证数据传输的可靠性,相对于UDP 报文,TCP 报文头部有更多的字段选项。 首先让我们来看一下 TCP 的报文头部主要字段:1.源端口号(source port)和目的端口号(destination port):用于标识和区分源端设备和目的端设备的应用进程。在TCP/IP 协议栈中,源端口号和目的端口号分别与源IP 地址和目的IP 地址组成套接字(socket),唯一的确定一条TCP 连接。 2.序列号(Sequence number):用来标 阅读全文
posted @ 2011-10-25 12:21 hnrainll 阅读(5001) 评论(0) 推荐(0) 编辑
摘要: 以太网数据过滤过程1.首先,网卡查看由信道传送过来的帧,确定是否接收该帧,若接收后就将它传往设备驱动程序。通常网卡仅接收那些目的地址为网卡物理地址或广播地址的帧。另外,多数接口均被设置为混合模式,这种模式能接收每个帧的一个复制。作为一个例子,tcpdump使用这种模式。目前,大多数的网卡经过配置都能接收目的地址为多播地址或某些子网多播地址的帧。对于以太网,当地址中最高字节的最低位设置为1时表示该地址是一个多播地址,用十六进制可表示为01:00:00:00:00:00(以太网广播地址ff:ff:ff:ff:ff:ff可看作是以太网多播地址的特例)。2.如果网卡收到一个帧,这个帧将被传送给设备驱动 阅读全文
posted @ 2011-10-25 11:52 hnrainll 阅读(535) 评论(0) 推荐(0) 编辑
摘要: TCP连接的建立 TCP使用三次握手( three-way handshake )协议来建立连接。三次握手协议可以完成两个重要功能:它确保连接双方做好传输准备,并使双方统一了初始顺序号。这三次握手为: 1.请求端(通常称为客户)发送一个 SYN 报文段( SYN 为 1 )指明客户打算连接的服务器的端口,以及初始顺序号( ISN )。 2.服务器发回包含服务器的初始顺序号的 SYN 报文段( SYN 为 1 )作为应答。同时,将确认号设置为客户的 ISN 加 1 以对客户的 SYN 报文段进行确认( ACK 也为 1 )。 3.客户必须将确认号设置为服务器的 ISN 加 1 以对服务器的 S. 阅读全文
posted @ 2011-10-25 11:17 hnrainll 阅读(1876) 评论(0) 推荐(0) 编辑
摘要: TCP数据流分类基于TCP的各类解决方案,可以根据数据吞吐量来大致分成两大类: (1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等。 (2)数据成块类型,例如ftp,这种类型的协议要求TCP能尽量的运载数据,把数据的吞吐量做到最大,并尽可能的提高效率。针对这两种情况,TCP给出了两种不同的策略来进行数据传输。TCP的交互数据流通常,在网络速度很快的情况下,比如用lo接口进行telnet通信,当按下字母键并要求回显的时候,客户端和服务器将经历 发送按键数据->服务器发送按键数据的ack -> 服务器端发 阅读全文
posted @ 2011-10-25 11:14 hnrainll 阅读(1995) 评论(0) 推荐(0) 编辑
摘要: 通过前面两篇:Android 开发之旅:环境搭建及HelloWorldAndroid 开发之旅:HelloWorld项目的目录结构我 们对android有了个大致的了解,知道如何搭建android的环境及简单地写一个HelloWorld程序,而且知道一个android项目包括哪 些文件夹和文件及相应的作用。本篇将站在顶级的高度——架构,来看android。我开篇就说了,这个系列适合0基础的人且我也是从0开始按照这个步骤来 学的,谈架构是不是有点螳臂挡车,自不量力呢?我觉得其实不然,如果一开始就对整个android的架构了然于胸,就不会误入歧途,能够很好地把握全局。 本文的主题如下:1、架构图直 阅读全文
posted @ 2011-10-24 16:40 hnrainll 阅读(236) 评论(0) 推荐(0) 编辑
摘要: UNIX Programming FAQ 中文版 v0.1.0 http://www.linuxforum.net/books/upfaq/book1.htm 阅读全文
posted @ 2011-10-24 15:56 hnrainll 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 应一些朋友的要求,我把我电脑上的源代码全部张贴到这里。当然稍微做些说明。这样有个好处就是我自己可以通过google随时搜索源代码例子,比如我想找udp编程的例子时,我就在google里输入:udp site:zhoulifa.bokee.com搜索,能看到我自己的源代码例子。下面这个例子用fnmatch函数进行字符通配,比如匹配*、?等字符。/************关于本文档*********************************************filename: fnmatch.c*purpose: 说明用fnmatch进行字符匹配的方法*wrote by: zhouli 阅读全文
posted @ 2011-10-24 15:43 hnrainll 阅读(6749) 评论(0) 推荐(0) 编辑
摘要: 引言前面Android开发之旅:环境搭建及HelloWorld,我们介绍了如何搭建Android开发环境及简单地建立一个HelloWorld项目,本篇将通过HelloWorld项目来介绍Android项目的目录结构。本文的主要主题如下:1、HelloWorld项目的目录结构 1.1、src文件夹1.2、gen文件夹1.3、Android 2.1文件夹1.4、assets1.5、res文件夹1.6、AndroidManifest.xml1.7、default.properties1、HelloWorld项目的目录结构(这个HelloWorld项目是基于Android 2.1的)在Eclipse. 阅读全文
posted @ 2011-10-24 11:36 hnrainll 阅读(7904) 评论(0) 推荐(2) 编辑
上一页 1 ··· 27 28 29 30 31 32 33 34 35 ··· 71 下一页