在android中,我们如何在两个活动之间传递扩展类的对象?
大宗报价 java是SQLiteOpenHelper的一个子类,实现为可序列化的。我创建了一个forTesting.java类的对象,并将其传递到MainActivity中的一个intent中,试图将该对象传递到NewActivity中,但出现了一个错误在android中,我们如何在两个活动之间传递扩展类的对象?,android,Android,大宗报价 java是SQLiteOpenHelper的一个子类,实现为可序列化的。我创建了一个forTesting.java类的对象,并将其传递到MainActivity中的一个intent中,试图将该对象传递到NewActivity中,但出现了一个错误 为什么要传递对象而不是在NewActivity中创建一个新的对象实际上我的真实代码是不同的。我使用Sqlite类处理数据库。我创建了DataBaseClassHelper.java对象,该对象在MainActivity中由SQLiteOpenH
为什么要传递
对象
而不是在NewActivity
中创建一个新的对象实际上我的真实代码是不同的。我使用Sqlite类处理数据库。我创建了DataBaseClassHelper.java对象,该对象在MainActivity中由SQLiteOpenHelper.java扩展,但我需要将该对象用于另一个活动。因为我的实际代码很长,所以我只给出了一个代码示例。为什么要传递对象
,而不是在MainActivity中创建新的对象NewActivity
实际上,我真正的代码是不同的。我使用Sqlite类处理数据库。我创建了一个DataBaseClassHelper.java对象,该对象在MainActivity中由SQLiteOpenHelper.java扩展,但我需要将该对象放入另一个活动中。因为我的实际代码很长,所以我在这里仅给出一个代码示例。
public class forTesting extends SQLiteOpenHelper implements Serializable {
transient public String string="basant";
public forTesting(@Nullable Context context) {
super(context, "abc.db", null, 1);
this.string = string;
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
public class NewActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_new);
Intent intent=getIntent();
forTesting obj=(forTesting) intent.getSerializableExtra("object");
Toast.makeText(this,obj.string,Toast.LENGTH_LONG).show();
}
}
btndelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
forTesting object=new forTesting(MainActivity.this);
Intent intent=new Intent(MainActivity.this,NewActivity.class);
intent.putExtra("object",object);
startActivity(intent);
}
}
>>Caused by: java.lang.RuntimeException: Parcelable encountered IOException reading a Serializable object (name = com.example.dbms.forTesting).
>>>I try a lot but till i am not able to resolve it .
>>>>please help me.
>>>>>Thank you!