05 2011 档案

Android开发:什么是Parcel(2)
摘要:上回书解释了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开发实例 阅读(1399) 评论(0) 推荐(0) 编辑

Android开发:什么是IBinder
摘要:上回书简单描述了进程间传递类对象的原理,这回在讲Parcel之前,先要讲一个东西:IBinder。IBinder是什么呢?首先要明白,Android的远程调用(就是跨进程调用)就是通过IBinder实现的,下面是对android开发文档的翻译。 IBinder是远程对象的基本接口,是为高性能而设计的轻量级远程调用机制的核心部分。但它不仅用于远程调用,也用于进程内调用。这个接口定义了与远程对象交互的协议。不要直接实现这个接口,而应该从Binder派生。IBinder的主要API是transact(),与它对应另一方法是Binder.onTransact()。第一个方法使你可以向远端的IBinde 阅读全文

posted @ 2011-05-29 08:46 android开发实例 阅读(605) 评论(0) 推荐(0) 编辑

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

posted @ 2011-05-28 13:08 android开发实例 阅读(184) 评论(0) 推荐(0) 编辑

C语言 日历查询系统 成品
摘要:#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开发实例 阅读(410) 评论(0) 推荐(0) 编辑

输入验证码进入 万年历系统 1
摘要:#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开发实例 阅读(230) 评论(0) 推荐(0) 编辑

随机出现 不相等的0--8的数
摘要: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开发实例 阅读(327) 评论(0) 推荐(0) 编辑

c语言 万年历!!
摘要:#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开发实例 阅读(427) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示