上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 53 下一页

2011年5月29日

摘要: 上回书解释了IBinder,这回详细解释一下Parcel,以下是对android sdk 文档的翻议:Parcel是一个容器,它主要用于存储序列化数据,然后可以通过Binder在进程间传递这些数据(要了解为什么要序列化,请参考:http://blog.csdn.net/nkmnkm/archive/2011/05/28/6451699.aspx)。Parcel可以包含原始数据类型(用各种对应的方法写入,比如writeInt(),writeFloat()等),可以包含Parcelable对象,它还包含了一个活动的IBinder对象的引用,这个引用导致另一端接收到一个指向这个IBinder的代理I 阅读全文
posted @ 2011-05-29 18:45 android开发实例 阅读(1395) 评论(0) 推荐(0) 编辑
摘要: 上回书简单描述了进程间传递类对象的原理,这回在讲Parcel之前,先要讲一个东西:IBinder。IBinder是什么呢?首先要明白,Android的远程调用(就是跨进程调用)就是通过IBinder实现的,下面是对android开发文档的翻译。 IBinder是远程对象的基本接口,是为高性能而设计的轻量级远程调用机制的核心部分。但它不仅用于远程调用,也用于进程内调用。这个接口定义了与远程对象交互的协议。不要直接实现这个接口,而应该从Binder派生。IBinder的主要API是transact(),与它对应另一方法是Binder.onTransact()。第一个方法使你可以向远端的IBinde 阅读全文
posted @ 2011-05-29 08:46 android开发实例 阅读(603) 评论(0) 推荐(0) 编辑

2011年5月28日

摘要: Parcel,翻译过来是“打包”的意思。打包干什么呢?是为了序列化。 如果要在进程之间传递一个整数,很简单,直接传就是行了;如果要传一个字符串,就稍微复杂了点:需先分配一块可以容纳字符串的内存,然后将字符串复制到内存中,再传递(新手可能问:为啥不直接把字符串的引用传过去呢?学过C/C++的地球人都知道:进程有自己的内存地址空间,一个进程中的1000地址可能在另一个进程中是100000,java对象的引用跟本上还是内存地址);再如果要传递一个类的实例呢?也是先为类分配内存,然后复制一份再传递可以吗?我认为不可以,我至少可以找到一个理由:类中成员除了属性还有方法,即使属性能完整传过去,但还有... 阅读全文
posted @ 2011-05-28 13:08 android开发实例 阅读(179) 评论(0) 推荐(0) 编辑

2011年5月17日

摘要: #include<stdio.h> #include<string.h> #include<time.h> //#include<conio.h> #include<stdlib.h> #include<windows.h>int isleapyear(int year) //判断该年是 闰年 还是 平年 { if((year%4==0&&year%100!=0) || (year%400==0) ) //判断该年是 闰年 return 1; else return 0; } int firstdayofy 阅读全文
posted @ 2011-05-17 16:10 android开发实例 阅读(404) 评论(0) 推荐(0) 编辑

2011年5月16日

摘要: #include<stdio.h>#include<string.h>#include<time.h>//#include<conio.h>#include<stdlib.h>void main(){ int i,j,x; char p[20],ch; char temp[20]; for(i=0;i<3;i++) { system("cls"); j=0; srand(time(0)); //随即产生一个数 x=rand()%10000+1000; //产生的是一个大于1000的数 printf(" 阅读全文
posted @ 2011-05-16 17:10 android开发实例 阅读(229) 评论(0) 推荐(0) 编辑

2011年5月11日

摘要: int CreatMatrix(int *matrix){ int i,j; int buf; for(i=0;i<9;i++) { getElem: srand((unsigned)time(NULL)); buf=rand()%9; for(j=0;j<i;j++) { if(matrix[j]==buf) goto getElem; } matrix[i]=buf; } return OK;} 阅读全文
posted @ 2011-05-11 15:50 android开发实例 阅读(324) 评论(0) 推荐(0) 编辑

2011年5月4日

摘要: #include "stdio.h"int isleapyear(int year){ if((year%4!=0||year%100==0) && (year%400!=0) ) return 0; else return 1;}int firstdayofyear(int year){ return (year+(year-1)/4+(year-1)/400-(year-1)/100)%7;}main(){ char *monthname[13]={" ","一月份","二月份","三 阅读全文
posted @ 2011-05-04 15:50 android开发实例 阅读(424) 评论(0) 推荐(0) 编辑

2011年4月29日

摘要: 目的:减少重复代码不同场景,不同实现(主要就是类和接口,一切以接口为核心)先抽象,后具体。先整体,后局部。1.AbstrcatFactory模式:提供一个创建一系列相关或相互依赖对象的接口。而无需指定它们具体的类。2.Adapter模式:将一个类的接口转换成客户希望的另一个接口。Adapter模式使得原来由于接口不兼容而不能一起工作的那些类可以一起工作。3.Bridge模式:将抽象部分与它的实现部分分离,使它们都可以独立地变化。4.Builder模式:将一个复杂对象的构建与它的表现分离,使得同样的构建过程可以创建不同的表示。5.Chain of Responsibility模式:为解除请求的发 阅读全文
posted @ 2011-04-29 23:58 android开发实例 阅读(188) 评论(0) 推荐(0) 编辑

2011年4月25日

摘要: 由HTML5研究小组策划,我和百度罗睿、秀野堂主合作的HTML5新书正在收尾阶段,将由图灵出版社出版。 这本书站在国内一线前端工作者的视角,提供了和之前所有HTML5书籍完全不一样的内容和体验。下面我分享一下这本书的其中三章大纲,让大家预先了解这本书的部分面目。 写书分享是一个艰难的过程,需要付出大量的精力和时间,希望这本书能带给各位读者参考和启迪,我即心安。 阅读全文
posted @ 2011-04-25 23:34 android开发实例 阅读(136) 评论(0) 推荐(0) 编辑

2011年4月17日

摘要: W3C CSS工作组刚发布了CSS3两个工作草案规范的更新。 第一个更新在3月11日发布,对CSS3弹性盒子布局模块进行了大的变更。第二个在3月24日发布,为CSS3字体模块带来了许多优化。CSS3弹性盒子布局 CSS3弹性盒子布局在2009年7月第一次引入,在这次规范的最新更新中几乎完全被重写了。根据最新的工作草案: 和之前的草案相比,基本的模型在相当程度上进行了调整。特别的,flexibity不再是一个单独的属性,将会以不同属性值的方式表示。 2011年3月24日,Bert Bos在www-style邮件组里的一封邮件有如下内容: 新的工作草案中有许多变更。几个box-*... 阅读全文
posted @ 2011-04-17 22:17 android开发实例 阅读(499) 评论(0) 推荐(0) 编辑
上一页 1 ··· 29 30 31 32 33 34 35 36 37 ··· 53 下一页

导航