android中方parceable的使用.docxVIP

  • 0
  • 0
  • 约5.64千字
  • 约 13页
  • 2017-07-09 发布于河南
  • 举报
android中方parceable的使用

?Android中Intent传递对象有两个方法,一个是让对象实现Serializable接口,另一个是让对象实现Parcelable接口,Sample的话Google搜一下就很多了。 大部分情况,Sample都是传递一个只有StringInt等基本类型的对象,如果需要传递图片的话,比如要传递Bitmap,用Parcelable接口的话,会比较容易,也不用特意转成数据流(其实是我不知道怎么用Serizlizable实现)。 在SDK中 Parcelable类的概述是这样的:Interface for classes whose instances can be written to and restored from a? HYPERLINK /reference/android/os/Parcel.html Parcel. Classes implementing the Parcelable interface must also have a static field called?CREATOR, which is an object implementing the HYPERLINK /reference/android/os/Parcelable.Creator.html Parcelable.Creator?interface. 这个接口的实例是通过Parcel进行存储的,在使用Parcelable的时候必须使用Parcelable.Creator。 下面上代码: 首先修改main.xml,增加一个button ?xml version=1.0 encoding=utf-8? LinearLayout xmlns:android=/apk/res/android ? ? android:orientation=vertical ? ? android:layout_width=fill_parent ? ? android:layout_height=fill_parent ? ? TextView ? android:id=@+id/text ? ? android:layout_width=fill_parent? ? ? android:layout_height=wrap_content? ? ? android:text=@string/hello ? ? / Button android:id=@+id/button ? ? android:layout_width=wrap_content? ? ? android:layout_height=wrap_content? ? ? android:text=Parcelable /Button /LinearLayout ? 然后是主Activity?ParcelableTest.java,这个类显示UI,并通过button点击事件启动另一个Activity --?ParcelableTest2,同时通过Parcelable接口传递一些数据。 package parcelable_; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; ? public class ParcelableTest extends Activity implements OnClickListener{ public static final String KEY = key; private Button button; public static final String TAG = Parcelable;? ? @Override public void onCreate(Bundle savedInstanceState) { ? ? ? ? ? super.onCreate(savedInstanceState); ? ? ? ? ? setContentView(R.layout.main); ? ? ? ? init(); ? ? ? ? Log.d(TAG, ParcelableTest); ? ? }? ? private void init(){ button = (Button)findViewById(R.id.button); button.setOnClickListen

文档评论(0)

1亿VIP精品文档

相关文档