自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 资源 (1)
  • 收藏
  • 关注

原创 Parcelable 相关

   android提供了一种新的类型:Parcel。本类被用作封装数据的容器,封装后的数据可以通过Intent或IPC传递。   除了基本类型以外,只有实现了Parcelable接口的类才能被放入Parcel中。   Parcelable实现要点:需要实现三个东西   1)writeToParcel 方法。该方法将类的数据写入外部提供的Parcel中.声明如下:   writeToParcel (Parcel dest, int flags) 具体参数含义见文档。   2)describeConten

2011-05-27 11:05:00 4221 1

转载 Android Service学习之AIDL, Parcelable和远程服务

AIDL的作用<br />    由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象。在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界。<br />    通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作。<br />     AIDL (Android Interface Definitio

2011-05-25 17:33:00 1771

转载 android中跨进程通讯的4种方式

<br />由于android系统中应用程序之间不能共享内存。因此,在不同应用程序之间交互数据(跨进程通讯)就稍微麻烦一些。在android SDK中提供了4种用于跨进程通讯的方式。这4种方式正好对应于android系统中4种应用程序组件:Activity、Content Provider、Broadcast和Service。其中Activity可以跨进程调用其他应用程序的Activity;Content Provider可以跨进程访问其他应用程序中的数据(以Cursor对象形式返回),当然,也

2011-05-25 11:25:00 41419 2

转载 什么是AIDL服务

<br />跨进程访问(AIDL服务)Android系统中的进程之间不能共享内存,因此,需要提供一些机制在不同进程之间进行数据通信。我们知道4个Android应用程序组件中的3个(Activity、Broadcast和Content Provider)都可以进行跨进程访问,另外一个Android应用程序组件Service同样可以。这就是本节要介绍的AIDL服务。<br />什么是AIDL服务<br />为了使其他的应用程序也可以访问本应用程序提供的服务,Android系统采用了远程过程调用(

2011-05-25 10:11:00 4462

原创 android service

service基础service 和activity 一样, 也有一个从启动到销毁的过程,但是Service的声明周期相对要简单些,如下3个阶段: * 创建服务    * 开始服务  * 销毁服务   一个服务实际上是一个继承android.app.Service的类。当service经历上面3个阶段时候,会调用相应的方法。  public void onCreate();   public void onStart(intent intent , int startId);  public void on

2011-05-24 14:30:00 4569

原创 接收和发送广播

intent 对象不仅可以启动应用程序内部或者其他应用程序的Activity, 还可以发送广播动作(Broadcast)。Broadcast Action 和 Activity Action 一样,既可以由系统进行广播,也可以由自己的程序进行广播。利用广播,我们可以实现特殊的功能,例如,在开机的时候自动启动一个应用程序,当接受到短信自动提示或保存短记录等。实际上,在手机中发生这样的事件时,android 系统都会向整个系统发送相应的Broadcast Action,如果应用程序对这个广播感兴趣的话,就可以接

2011-05-23 17:38:00 2116

原创 intent activity action

<br /> <br />在同一个应用程序之间往往会通过Intent对象来指定一个activity. 并通过调用startActivity()方法和startActivityForResult()方法来启动这个<br />activity。另外,通过intent也可以调用其他应用程序的activity. SDK s甚至还允许开发人员自定义Activity Action. <br />这里我们看到,通信的关键是Intent对象。<br />根据intent对象多种重载的构造方法,我们可以把起分为显示inten

2011-05-23 15:26:00 4617 1

转载 url urlMatcher ConentUris

<br />1.Uri<br />通用资源标志符(Universal Resource Identifier, 简称"URI")。<br />Uri代表要操作的数据,Android上可用的每种资源 - 图像、视频片段等都可以用Uri来表示。<br />URI一般由三部分组成:<br />访问资源的命名机制。 <br />存放资源的主机名。 <br />资源自身的名称,由路径表示。 <br /><br />Android的Uri由以下三部分组成: "content://"、数据的路径、标示ID(可选)<br

2011-05-23 09:56:00 2292

原创 contentProvider

<br />Android中的Content provider机制可支持在多个应用中存储和读取数据。这也是跨应用共享数据的唯一方式。在android系统中,没有一个公共的内存区域,供多个应用共享存储数据。<br />Android提供了一些主要数据类型的Content provider,比如音频、视频、图片和私人通讯录等。可在android.provider包下面找到一些android提供的Content provider。可以获得这些Content provider,查询它们包含的数据,当然前提是

2011-05-20 10:55:00 837

原创 typearrary attrs 相关

 在 实现gallery组件的应用时,会使用如下的代码。            //Retrieve styled attribute information in this Context's theme             TypedArray typedArray = obtainStyledAttributes(R.styleable.Gallery);            获取Gallery组件的属性集合。            //Retrieve the resource i

2011-05-19 17:12:00 1067

转载 Gallery组件实现循环显示图像

<br />Gallery组件主要用于横向显示图像列表,不过按常规做法。Gallery组件只能有限地显示指定的图像。也就是说,如果为Gallery组件指定了10张图像,那么当Gallery组件显示到第10张时,就不会再继续显示了。这虽然在大多数时候没有什么关系,但在某些情况下,我们希望图像显示到最后一张时再重第1张开始显示,也就是循环显示。要实现这种风格的Gallery组件,就需要对Gallery的Adapter对象进行一番改进。<br />  Gallery组件的传统用法<br />  在实现

2011-05-19 16:15:00 991

原创 gallery ,imageSwitcher 结合使用

Gallery组件的传统用法 Gallery组件可以横向显示一个图像列表,当单击当前图像的后一个图像时,这个图像列表会向左移动一格,当单击当前图像的前一个图像时,这个图像列表会向右移动一样。也可以通过拖动的方式来向左和向右移动图像列表。p.MsoNormal, li.MsoNormal, div.MsoNormal { margin: 0cm 0cm 0.0001pt; text-align: justify; line-height: 125%; font-size: 10.5pt; font-famil

2011-05-19 16:03:00 1016

原创 菜单(1)

<br />菜单是android  系统的用户接口之一, 主要包括系统菜单, 上下文菜单。 <br /> <br /> <br />选项菜单<br /> <br /> Activity类的OnCreateOptionsMenu( Menu menu) 事件方法用来创建选项菜单。一般将创建选项菜单的代码放在该方法中。通过menu接口的<br /> add方法添加选项。该方法有四种重载的形式。<br /> <br />  定义如下:<br />    public MenuItem add (int title

2011-05-18 16:06:00 663

原创 有用的链接

<br />http://www.cnblogs.com/salam/archive/2010/10.html

2011-05-18 10:51:00 431

转载 序列化

<br />一.<br />1.什么是对象序列化?<br />对象序列化是将一个对象转换为字节流,保存起来,并在日后还原这个对象.<br />2.什么是持续性?<br />将一个对象转换为字节流,保存到用久存储设备上,这就叫做持续性.<br />二.<br />1.对象用Serializable接口Externalizable实现对象序列化.<br />2.当一个对象被序列化的时候,只能保存非静态成员变量,不能保存任何的成员方法及静态成员变量.<br />3.如果对象中某个成员变量是一个对象的话,那么那个成

2011-05-18 10:23:00 555

原创 java序列化 相关

序列化 (serialization)      将对象的状态信息转换为可以存储或传输的窗体的过程。在序列化期间,<br />      对象将其当前状态写入到临时或持久性存储区。以后,可以通过从存储<br />      区中读取或反序列化对象的状态,重新创建该对象。<br />序列化的目的<br />  1、以某种存储形式使自定义对象持久化; <br />    2、将对象从一个地方传递到另一个地方。<br /> 序列化解释<br />      序列化是将对象状态转换为可保持或传输

2011-05-18 10:18:00 461

原创 android looper 详解

<br />(1) Looper类别用来为一个线程开启一个消息循环。默认情况下Android中新诞生的线程是没有开启消息循环的。(主线程除外,主线程系统会自动为其创建Looper对象,开启消息循环)<br />Looper对象通过MessageQueue来存放消息和事件。一个线程只能有一个Looper,对应一个MessageQueue。<br /> <br /> <br /> <br />(2) 通常是通过Handler对象来与Looper交互的。Handler可看做是Looper的一个接口,用来向指定的L

2011-05-17 21:49:00 2478

原创 java 权限修饰符

<br />允许所有外部类访问使用public<br />允许子类和同包类访问使用protected<br />只能自己访问使用private<br />访问权限修饰符权限从高到低排列是public  ,protected  ,friendly, private。<br /><br /><br />一个Java应用有很多类,但是有些类,并不希望被其他类使用。每个类中都有数据成员和方法成员,但是并不是每个数据和方法,都允许在其他类中调用。如何能做到访问控制呢?就需要使用访问权限修饰符。<b

2011-05-17 11:26:00 25976 6

转载 描绘线程安全性

定义线程安全性明确定义线程安全性出人意料地困难,大多数定义看上去完全是自我循环。快速搜索一下 Google,可以找到以下关于线程安全代码的典型的、但是没有多大帮助的定义(或者可以说是描述):...可以从多个编程线程中调用,无需线程之间不必要的交互。...可以同时被多个线程调用,不需要调用一方有任何操作。有这样的定义,就不奇怪我们对于线程安全性会感到如此迷惑。这些定义比说“一个类在可以被多个线程安全调用时就是线程安全的”好不了多少,当然,它的意义就是如此,但是它不能帮助我们区分一个线程安全的类与一个线程不安全

2011-05-16 15:46:00 812

原创 break return continue

<br />使用break 退出循环 可以使用break 语句直接强行退出循环,忽略循环体中任何其他语句和循环条件测试。在循环中遇到break语句时,循环被终止,程序控制在循环后面语句重新开始。例如 如果for 循环被设计为从 0执行到99,然后输出0到99这些数字,但是当i等于10时,break语句终止程序。所以程序只会输出0到10。在一系列嵌套循环中使用break 语句时,它将仅仅终止最里面循环。<br />  而continue则停止执行当前的反复,然后退回循环起始和,开始新的反复

2011-05-13 16:17:00 532

原创 java socket (2)

p { margin-bottom: 0.08in; }7.2 面向套接字编程 我们已经通过了解Socket的接口,知其所以然,下面我们就将通过具体的案例,来熟悉Socket的具体工作方式7.2.1使用套接字实现基于TCP协议的服务器和客户机程序 依据TCP协议,在C/S架构的通讯过程中,客户端和服务器的Socket动作如下:客户端:1.用服务器的IP地址和端口号实例化Socket对象。2.调用connect方法,连接到服务

2011-05-13 11:15:00 658

原创 java socket (1)

<br />总结java socket编程<br />一,网络编程中两个主要的问题<br />一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输。<br />在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机。<br />而TCP层则提供面向应用的可靠(tcp)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的。<br />目前较为流行的

2011-05-13 11:14:00 607

原创 输入输出流

<br /> <br />Java的输入输出功能必须借助于输入输出类库Java.io包来实现,这个包中的类大部分是用来完成流式输入输出的流类。<br />在java中,把能够读取一个字节序列的对象称为一个输入流,把能够写一个字节的对象称为一个输出流。分别由<br />InputStream和OutputStream表示。<br /> <br />处理Unicode码的字符流,由抽象类Reader(输入)和Writer(输出)派生。<br /> <br />流是指在计算机的输入与输出之间的数据的序列,而Jav

2011-05-12 17:23:00 869

原创 final 关键字

<br />1  final <br /> <br />    根据程序上下文环境,java 关键字final 有无法改变的或者“终态”的含义,它可以修饰非抽象类,非抽象类的成员方法和变量。<br />    我们可以出于两种理解而需要阻止改变:设计或者效率。<br /> <br />    final 类不能被继承,没有子类,final类中的 方法默认都是 final.<br />    final方法不能被子类的方法覆盖,但可以被继承。<br />    final成员变量表示常量,只能被赋值一次,赋值

2011-05-12 14:05:00 447

原创 static 块,static 方法详解

一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类名直接调用 比如main方法就必须是静态的 这是程序入口 两者的区别就是:静态代码块是自动执行的; 静态方法是被调用的时候才执行的. 静态方法 (1)在Java里,可以定义一个不需要创建对象的方法,这种方法就是静态方法。要实现这样的

2011-05-09 16:51:00 737

原创 java 内部类

<br /> <br />Java内部类(Inner Class)<br />简单的说,内部(inner)类指那些类定义代码被置于其它类定义中的类;而对于一般的、类定义代码不嵌套在其它类定义中的类,称为顶层(top-level)类。对于一个内部类,包含其定义代码的类称为它的外部(outer)类。1         Static memberclass(静态成员类)<br />类声明中包含“static”关键字的内部类。如以下示例代码,<br />Inner1/Inner2/I

2011-05-09 16:49:00 451

转载 java 内部类讲解

h2 { margin-top: 0.18in; margin-bottom: 0.18in; line-height: 173%; }h2.western { font-family: "Cambria",serif; font-size: 16pt; }h2.cjk { font-family: "DejaVu Sans"; font-size: 16pt; }h2.ctl { font-size: 16pt; }p { margin-bottom: 0.08in; }h3

2011-05-09 14:10:00 792

转载 android 模拟器上网问题

<br />方法一<br />首先,Windows下,配置Adroid环境变量(Win7为例)<br />1、桌面右键——》我的电脑——》高级系统设置<br />2、高级——》环境变量——》系统变量——》Path<br />3、添加AndroidSDK目录到系统变量Path中,如下图:<br /><br />注:F:/Pro-files/android-sdk-windows/tools,添加到系统Path<br />如果有F:/Pro-files/android-sdk-windows/platf

2011-05-06 17:00:00 1577

原创 抽象类 接口

<br />抽象类:<br /> <br />  抽象类可以有构造函数,除了不能用来直接创建实例之外,跟普通的构造函数是一样的<br />  也就是继承它的类可以通过super调用。<br />  构造函数是对象的基本,没有构造函数就没有对象。<br /> 若果在父类中(这里就是你的抽象类)中显示的写了又参数的构造函数,在子类继承是就必须写一个构造函数来调用父类的构造函数<br /> 例子:<br />  abstract class Person { //定义一个抽象类,必须被继承<b

2011-05-05 14:23:00 967

转载 详解java中的抽象类和接口的区别

<br /><br /><br />    在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的选择显得比较随意。其实,两者之间还是有很大的区别的,对于它们的选择甚至反映出对 于

2011-05-05 13:55:00 434

原创 在实机和模拟器上,android 程序启动时前期输出信息的区别

<br />下午运行程序时,忘记手机还连在电脑上,一直很郁闷模拟器为什么出不来,最后恍然大悟。借此比较了两者的不同<br /> <br />连接实机时控制台显示的输出信息:<br />[2011-05-04 17:17:30 - ch05_ratinglistview] Android Launch!<br />[2011-05-04 17:17:30 - ch05_ratinglistview] adb is running normally.<br />[2011-05-04 17:17:30

2011-05-04 17:32:00 942

原创 android for pc

<br />android x86 镜像地址<br /> <br />http://code.google.com/p/android-x86/downloads/list <br /> <br /> <br />android x86 相关网址<br /> <br />http://www.androidx86.org/about-androidx86.html<br /> <br />android LiveCD 镜像地址<br /> <br />http://code.google.com/p/liv

2011-05-04 15:36:00 653

转载 各种Adapter的用法

<br />同样是一个ListView,可以用不同的Adapter让它显示出来,比如说最常用的ArrayAdapter,SimpleAdapter,SimpleCursorAdapter,以及重写BaseAdapter等方法。<br />  ArrayAdapter比较简单,但它只能用于显示文字。而SimpleAdapter则有很强的扩展性,可以自定义出各种效果,SimpleCursorAdapter则可以从数据库中读取数据显示在列表上,通过从写BaseAdapter可以在列表上加处理的事件等。<br />

2011-05-03 23:41:00 1420

转载 View.setTag()的作用

<br />这个东西在一些需要用到Adapter自定控件显示方式的时候非常有用<br />Adapter 有个getView方法,可以使用setTag把查找的view缓存起来方便多次重用<br /><br />public View getView(int position, View convertView, ViewGroup parent) {<br />        ViewHolder vh;<br /><br />        if (convertView == null) {<br />

2011-05-03 23:27:00 10202 2

转载 实现Android 中的TreeView效果

<br />   TreeView控件用来显示信息的分级视图,如同Windows里的资源管理器的目录。TreeView控件中的各项信息都有一个与之相关的Node对象。TreeView显示Node对象的分层目录结构,每个Node对象均由一个Label对象和其相关的位图组成。在建立TreeView控件后,我们可以展开和折叠、显示或隐藏其中的节点。TreeView控件一般用来显示文件和目录结构、文档中的类层次、索引中的层次和其他具有分层目录结构的信息。<br />        思路是:按照类似于“树”的结构组织

2011-05-03 22:56:00 1900 1

原创 android 源码下载

<br />http://rgruet.free.fr/public/

2011-05-03 21:35:00 663

转载 Eclipse显示日文乱码解决方法

不是当前编码的文字的Eclipse中显示会是乱码,解决办法:          project->propertiesresource 修改 text file coding属性,如果Other下拉列表中没有需要的编码,直接在文本框里边填入SHIFT-JIS

2011-05-03 20:49:00 28299 1

原创 android sdk content loader 加载很慢的解决方法

<br />eclipse 每次启动会出现这样的情况,右下角的Android SDK Content Loader:一直是 0%不变 一直卡。<br /><br />我的解决方法是把网线给拔了。

2011-05-03 20:39:00 7793 9

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除