- 浏览: 297705 次
- 性别:
- 来自: 上海
最新评论
-
再_见孙悟空:
写的不错
Dialog -
a549262189:
支持下,正好在学习这块的内容!
Android Gesture Detector -
dcsff:
受教了
LayoutInflater -
庆_啊:
真厉害。
LayoutInflater -
ghj234:
学习了,哈哈
LayoutInflater
1. 方法1
(1)BeanSerializable
public class BeanSerializable implements Serializable { private static final long serialVersionUID = 1L; private String name; private int age; private String address; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } }
(2)Sender
public class Sender extends Activity { private Button btn; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sender); btn = (Button) findViewById(R.id.sender_btn); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { BeanSerializable bean = new BeanSerializable(); bean.setAddress("大学路195号"); bean.setAge(25); bean.setName("Forrest"); Intent intent = new Intent(Sender.this, Receiver.class); intent.putExtra("PERSON_INFO", bean); startActivity(intent); } }); } }
(3)Receiver
public class Receiver extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.receiver); Intent intent = getIntent(); BeanSerializable bean = (BeanSerializable) intent.getSerializableExtra("PERSON_INFO"); TextView tv = (TextView) findViewById(R.id.receiver_tv); tv.setText(bean.getName() + " / " + bean.getAddress() + " / " + String.valueOf(bean.getAge())); } }
2. 方法2
(1)BeanParcelable
public class BeanParcelable implements Parcelable { private String name; private int age; private String address; public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getAddress() { return address; } public void setAddress(String address) { this.address = address; } @Override public int describeContents() { return 0; } @Override public void writeToParcel(Parcel dest, int flags) { dest.writeString(name); dest.writeInt(age); dest.writeString(address); } public static final Parcelable.Creator<BeanParcelable> CREATOR = new Creator<BeanParcelable>() { public BeanParcelable createFromParcel(Parcel source) { BeanParcelable bean = new BeanParcelable(); bean.name = source.readString(); bean.age = source.readInt(); bean.address = source.readString(); return bean; } public BeanParcelable[] newArray(int size) { return new BeanParcelable[size]; } }; }
(2)Sender
public class Sender extends Activity { private Button btn; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.sender); btn = (Button) findViewById(R.id.sender_btn); btn.setOnClickListener(new OnClickListener() { public void onClick(View v) { BeanParcelable beanParcelable = new BeanParcelable(); beanParcelable.setAddress("政立路545弄6号楼402"); beanParcelable.setAge(25); beanParcelable.setName("Forrest"); Intent intent = new Intent(Sender.this, Receiver.class); intent.putExtra("PERSON_INFO", beanParcelable); startActivity(intent); } }); } }
(3)Receiver
public class Receiver extends Activity { protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.receiver); Intent intent = getIntent(); BeanParcelable beanParcelable = (BeanParcelable) intent.getParcelableExtra("PERSON_INFO"); TextView tv = (TextView) findViewById(R.id.receiver_tv); tv.setText(beanParcelable.getName() + " / " + beanParcelable.getAddress() + " / " + String.valueOf(beanParcelable.getAge())); } }
3. 注意事项
有些Bean是无法通过上面两种方法传递的。例如以Drawble[] photos;为参数的Bean,因为android的IO设计无法write Drawable,而只能writeString, writeInteger, writeFile等。所以我们就不直接传递Drawable[]参数,改而传递生成Drawable[]的数据,传递到了目的地再利用这些数据生成Drawable[]。就好像你要运输一架飞机,但你无法整机运输(传递),你只好先将飞机的各个零部件运输到目的地(这个是可以运输传递的),然后在目的地再将这些零部件组装成飞机。
发表评论
-
如果在Eclipse中debug
2010-05-02 14:15 0最基本的操作是: 1, 首先在一个java文件中设断点,然后 ... -
How to download sourcecode of android with cygwin
2010-04-14 16:07 5107cygwin是一个在windows平台 ... -
TelephoneManager
2010-03-08 16:04 01. protected void onCreate(Bun ... -
eclipse c
2010-03-07 21:05 0Eclipse 除 了可以开发Java之外,还支持了许 ... -
android sdk安装
2010-02-02 23:37 34861.下载:http://developer.android.c ... -
google map my demo
2010-02-02 23:36 3195<uses-library android:name=& ... -
Toast
2010-02-02 23:35 14721. (1) public class ToastActi ... -
如何在MapView上画图
2010-02-02 23:34 1579http://ophone8.com/thread-4340- ... -
Service
2010-02-02 23:33 31501. Service生命周期 (1)Servic ... -
Notification
2010-02-02 23:33 19241. Notification构造器的参数 分别为: ... -
导航相关概念
2010-02-02 23:32 16961. Google Map的定位 (1)Goog ... -
PendingIntent和Intent
2010-02-02 23:28 9525Notification n = new Notificati ... -
Broadcast调用Service做的一个定时器
2010-02-02 23:28 37091. public class AlarmActivity ... -
Broadcast Receiver
2010-02-02 23:27 8691Broadcast Receiver用于接收并处理广播通知(b ... -
LayoutInflater
2010-02-02 23:27 21803一般来讲,我们用LayoutInflater做一件事:infl ... -
Android's Components 生命周期
2010-02-02 23:27 2159Android中,Component(activity、ser ... -
Activity文档翻译
2010-02-02 23:26 1595转自:http://www.blogjava.net/m ... -
Intent
2010-01-20 10:51 011 public class MumActivity ex ... -
aidl
2010-01-05 11:24 30591. android进程之间如何通讯呢(在不同的进程中怎样传递 ... -
Gallery 画廊
2009-12-17 20:25 33711. images.xml <?xml ver ...
相关推荐
在实际应用中,当需要通过Intent传递复杂对象时,如自定义的Bean类,就需要使用`Parcelable`。通过实现`Parcelable`,你可以确保对象能够高效地在不同的组件(Activity、Service等)之间传递,或者在不同的进程中...
`aidlDemo实例`是展示如何使用AIDL进行实际操作的一个典型示例,我们将深入探讨其操作步骤和调用方法,以及与之相关的bean的parcelable序列化。 首先,理解AIDL的基本概念至关重要。AIDL本质上是一种接口定义语言,...
广播通常通过Intent对象来传递信息,Intent不仅可以在同一个应用内部使用,也可以跨应用发送,增加了系统的灵活性和可扩展性。 广播机制在Android中之所以不可或缺,是因为它实现了发送者和接收者的松耦合。发送...
6. **Intent与BroadcastReceiver**:系统通过Intent传递事件,例如当新安装的应用请求访问联系人时,会发送一个广播。Contacts源码中可能包含BroadcastReceiver,监听并处理这些事件。 7. **数据模型**:源码会定义...
例如,你可以创建一个隐式Intent来打开网页链接,系统会根据URL数据类型找到合适的浏览器应用来处理。Intent还可以携带额外的数据,通过Bundle进行传递,以便在目标组件中使用。 【Android 面试题目及其答案大全】 ...
【FlyEventBus】是一个关于Android开发中的事件总线框架 EventBus 的实战应用,主要演示了如何在两个Activity之间高效地传递复杂的JavaBean对象。EventBus是一个轻量级的事件发布/订阅库,它简化了Android应用内的...
接着,定义事件类(Event),通常是一个简单的Java Bean,包含需要传递的数据。发布事件时,只需调用EventBus的post方法,传入事件对象即可。订阅事件则通过在需要接收事件的方法上添加@Subscribe注解,并指定线程...
`GalleryView`是Android SDK中的一个旧组件,它在API level 16(Android 4.1 Jelly Bean)被废弃,推荐使用`RecyclerView`或`ViewPager`来代替。然而,对于较低版本的Android系统,我们仍然可以使用`GalleryView`。...
该插件的使用方法通常是,当你创建了一个新的实体bean类并希望它支持`Parcelable`时,插件会自动帮你生成相关代码。这样,你无需手动编写这些重复且复杂的代码,可以更专注于业务逻辑。具体操作可能需要将插件集成到...
例如,一个简单的Android应用可能会使用Java的集合框架来存储和处理数据,同时利用Android的`Activity`和`Intent`来管理应用的生命周期和导航。 学习和掌握这两个API文档不仅需要阅读和理解文档内容,还需要通过...
在Android开发领域,ApiDemos是一个非常重要的参考资料,它是由Google官方提供的示例代码集合,用于演示Android SDK中的各种API功能。对于开发者来说,尤其是对Android 4.1(Jelly Bean)版本感兴趣的开发者,Api...
在Android应用开发中,组件间通信是至关重要的一个环节,它涉及到Activity、Service、BroadcastReceiver以及ContentProvider等四大组件之间的数据传递与交互。本篇将深入探讨Android组件间通信的概念、重要性以及一...
在Android开发中,`android.jar`是一个至关重要的文件,它是Android SDK中的一个库,提供了Android API的类定义,但默认情况下并不包含源代码。这个文件允许开发者在Java层编写应用程序,而无需关心底层的C/C++实现...
3. **意图(Intent)与广播(Broadcast)**:通过示例,你可以了解如何使用意图在组件间传递信息,以及如何注册和发送广播接收器,处理系统事件或自定义事件。 4. **服务(Service)**:ApiDemos展示了后台运行的...
在Android开发中,MVC(Model-View-Controller)模式是一种常见的架构设计方式,它将应用程序分为三个主要组件,以实现逻辑与展示的分离。以下是关于Android MVC模式的详细解释: 1. **模型层(Model)**:在这个...
JavaEE6是企业级应用程序开发的一个重要框架,它是由Java Community Process(JCP)制定的一套标准,旨在简化企业级应用的开发和部署。这个压缩包包含两份关键的文档资源,分别是“Java-EE-6.chm”和“Android官方...
一个标准的XML文档通常以`<?xml version="1.0"?>`作为开头,声明XML的版本。接着是文档的根元素,例如`<Student>`,在本例中表示学生信息。元素以尖括号包围,如`<Name>`和`<ID>`,并且元素可以嵌套。每个元素可以有...
这个压缩包文件“安卓开发-客户端文档及demo_Android(20130328).zip.zip”显然是一个关于Android应用开发的资源集合,包含了文档和演示示例。尽管标签部分为空,我们可以从文件名推测其内容主要针对的是2013年3月28...
CHM文件是一种由Microsoft开发的帮助文件格式,它可以将大量的HTML页面、图像和其他资源打包成一个单一的文件,便于查看和离线使用。在这个名为"Android.4.1.documentation-1.1.chm"的文件中,开发者可以找到关于...
扩展函数是Kotlin的一个独特特性,允许在不修改原有类的情况下为其添加新功能,这是Java无法做到的。 4. **高阶函数与Lambda表达式** Kotlin鼓励使用高阶函数和Lambda表达式,使得代码更加简洁和易读。Java 8虽然...