如何通过Android intent发送opencv Mat列表
我有一个openCV Mat列表,并试图将所有列表从Activity1传递到Activity2,但我不知道如何实现它。我已经看到了这一点,但发送一个接一个的垫子似乎不是一个解决办法如何通过Android intent发送opencv Mat列表,android,opencv,android-intent,Android,Opencv,Android Intent,我有一个openCV Mat列表,并试图将所有列表从Activity1传递到Activity2,但我不知道如何实现它。我已经看到了这一点,但发送一个接一个的垫子似乎不是一个解决办法 Intent i = new Intent( Activity1.this, Activity2.class ); i.putExtra("someExtra", someExtra); i.putExtra("list", ArrayList<Mat> ); //
Intent i = new Intent( Activity1.this, Activity2.class );
i.putExtra("someExtra", someExtra);
i.putExtra("list", ArrayList<Mat> ); ///I wan't to do something like that.
startActivity(i);
Activity1.this.finish();
// Activity2
getIntent().getExtra("list"); // get my list
Intent i=新的Intent(Activity1.this,Activity2.class);
i、 putExtra(“someExtra”,someExtra);
i、 putExtra(“列表”,ArrayList)///我不想做那样的事。
星触觉(i);
活动1.this.finish();
//活动2
getIntent().getExtra(“列表”);//拿到我的名单
MakeMat
类实现可包裹接口
之后,以下代码应起作用:
Intent i = new Intent( Activity1.this, Activity2.class );
i.putExtra("someExtra", someExtra);
i.putExtra("list", ArrayList<Mat> )
Intent i=新的Intent(Activity1.this,Activity2.class);
i、 putExtra(“someExtra”,someExtra);
i、 putExtra(“列表”,ArrayList)
要获取数据,请使用:
ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("list");
ArrayList myList=(ArrayList)getIntent().getSerializableExtra(“列表”);
MakeMat
类实现可包裹接口
之后,以下代码应起作用:
Intent i = new Intent( Activity1.this, Activity2.class );
i.putExtra("someExtra", someExtra);
i.putExtra("list", ArrayList<Mat> )
Intent i=新的Intent(Activity1.this,Activity2.class);
i、 putExtra(“someExtra”,someExtra);
i、 putExtra(“列表”,ArrayList)
要获取数据,请使用:
ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("list");
ArrayList myList=(ArrayList)getIntent().getSerializableExtra(“列表”);
您需要发送组成Mat对象的基本对象,并在另一侧重建Mat
我自己并没有这样做,但看看javadoc,有几个选项:
可以使用本机地址和地址构造函数。i、 e:
&
在每个Mat(一个Int
)上使用getNativeObjAddr
,并在Intent
中存储一个列表。然后在另一端,使用Mat(Int)
构造函数重新创建列表
如果这不起作用,请查看如何创建Mat
对象,如果使用字节[]
,请再次尝试按意图发送该对象。您需要发送组成Mat对象的基本对象,并在另一侧重建Mat
我自己并没有这样做,但看看javadoc,有几个选项:
可以使用本机地址和地址构造函数。i、 e:
&
在每个Mat(一个Int
)上使用getNativeObjAddr
,并在Intent
中存储一个列表。然后在另一端,使用Mat(Int)
构造函数重新创建列表
如果这不起作用,请查看如何创建Mat
对象,如果使用byte[]
,请再次尝试按意图发送该对象。Mat不是我的类,因此我需要创建一个MatParcelable类并从Mat扩展,并使用“natifObj”作为我的属性?但是“natifObj”是finalMat不是我的类,所以我需要创建一个MatParcelable类并从Mat扩展,并使用“natifObj”作为属性?但是“natifObj”是最终使用带有getNativeObjAddr的列表而不是List,它起作用谢谢我使用带有getNativeObjAddr的列表而不是List,它起作用谢谢