我正在尝试制作一个ArrayList Parcelable自定义对象列表的活动.我开始编写一个myObjectList扩展ArrayList<myObject>和实现的类Parcelable.
某些属性MyObject是boolean但Parcel没有任何方法read/writeBoolean.
处理这个问题的最佳方法是什么?
我一直在阅读很多文章和文章,颂扬Parcelable在Serializable上的速度.我一直在使用两种方法来通过Intents在Activities之间传递数据,并且在两者之间切换时还没有注意到任何速度差异.我必须传输的典型数据量是5到15个嵌套对象,每个对象有2到5个字段.
由于我有大约30个必须可转移的类,因此实现Parcelable需要大量的样板代码来增加维护时间.我目前的要求之一是编译的代码应该尽可能小; 我希望通过使用Serializable over Parcelable可以节省一些空间.
我应该使用Parcelable还是没有理由在Serializable上使用它来处理这么少量的数据?还是有另一个原因我不应该使用Serializable?
我想知道确切的,
parcelable还是serialization技术将数据从一个活动发送到另一个活动?提前致谢.
public class GetSetClass implements Serializable {
private int dt = 10;
/** pass any object, drwabale */
public int getDt() {
return dt;
}
public void setDt(int dt) {
this.dt = dt;
}
}
Run Code Online (Sandbox Code Playgroud) fun launchNextScreen(context: Context, people: People): Intent {
val intent = Intent(context, NextScreenActivity::class.java)
intent.putExtra(EXTRA_PEOPLE, (Parcelable) people)
//intent.putExtra(EXTRA_PEOPLE, people as Parcelable)
//intent.putExtra(EXTRA_PEOPLE, people)
// tried above all three ways
return intent
}
Run Code Online (Sandbox Code Playgroud)
试过上面的代码,通过使用kotlin通过intent传递People类型的对象,但是得到了错误.请帮我解决这个问题.
我知道你可以通过意图传入String的数组列表,但是如果它是我定义的某个对象的数组列表呢?说一个自行车列表,我该怎么做?
经过一段时间在我的Java(Android)类中使用Serializable实现后,我发现了Parcelable,但我无法确定何时选择其中一个.它们之间的性能差异是什么?
嗨,我的Android的初学者开发商:)我要发送ArrayList<Custom>的值Activity来Fragment.我知道必须使用Bundle,但我不知道什么方法可以帮助我.
putSerializable和putParcelable?putParcelableArrayList或putSerializable?谢谢所有给我机会成长:)
我已经为这样的arraylist增加了一些价值:
private List<InfoProduct> product;
product = new ArrayList<>();
product.add(new InfoProduct(R.drawable.cloth, Product_title, "0", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.guitar, Product_title, "1", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.cloth, Product_title, "2", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.guitar, Product_title, "3", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.cloth, Product_title, "4", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.guitar, Product_title, "5", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.cloth, Product_title, "6", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.guitar, Product_title, "7", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.cloth, Product_title, "8", Product_data2, lunch,R.drawable.cardview_circle_corner));
product.add(new InfoProduct(R.drawable.guitar, Product_title, "9", Product_data2, lunch,R.drawable.cardview_circle_corner));
Run Code Online (Sandbox Code Playgroud)
当我需要去其他Fragment时,我想使用Bundle来传输我的ArrayList,所以我写了一些代码来遵守这个
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
ft.replace(R.id.fragment_youtube, new FragmentYoutubeProduct(), "youtube");
ft.addToBackStack("youtube");
Bundle bundle …Run Code Online (Sandbox Code Playgroud)