我想使用一个来自不同类的数据库,我如何在JAVA中做到这一点?(AndroidStudio/Java)
我正在努力解决以下问题: 我得去上课,主课和第二课 在main类中,我创建了一个数据库(mDatabase)并插入数据 到数据库我想使用一个来自不同类的数据库,我如何在JAVA中做到这一点?(AndroidStudio/Java),java,android,Java,Android,我正在努力解决以下问题: 我得去上课,主课和第二课 在main类中,我创建了一个数据库(mDatabase)并插入数据 到数据库 public class MainActivity extends AppCompatActivity{ public SQLDatabase dbHelper; //created class to initialize my database public SQLiteDatabase mDatabase; public void onCreate(Bundl
public class MainActivity extends AppCompatActivity{
public SQLDatabase dbHelper; //created class to initialize my database
public SQLiteDatabase mDatabase;
public void onCreate(Bundle savedInstanceState){
dbHelper = new SQLDatabase(this);
mDatabase = dbHelper.getWritableDatabase();
mDatabase.insert(....);
}
现在我想在另一个活动中显示数据库(mDatabase)中的数据。
因此,我必须使用另一个类中的变量mDatabase,因为我在另一个活动中使用了recyclerView,这就是为什么:
public class SecondActivity{
public void onCreate(){
recyclerView=findViewById(R.id.recyclerView);
recyclerView.setLayoutManager(new LinearLayoutManager(this));
mAdapter = new AdapterClass(this, getAllItems());
recyclerView.setAdapter(mAdapter);
}
public Cursor getAllItems(){
return mDatabase.query(....);
}
}
我想有一个活动,在其中输入数据库的数据,我想有第二个活动,我可以显示插入的数据
您知道如何使用两个类中的mDatabase吗?在另一个活动中打开新的数据库连接 变量和对象不能在活动之间共享,除非它们是
静态的
(并且与该用例兼容:需要活动上下文的对象如果是静态的将导致问题和泄漏),或者可序列化的
,并且您将其作为参数提供
您也可以考虑<强>片段< /强>:这将允许在包含<代码>活动< /代码>中创建<代码> MdBase<代码>连接,并将其从您的<代码>碎片<代码>中重新使用,或者如果应用程序上下文初始化数据库连接,则将数据库连接放置在应用程序级别。
公共类测试应用程序扩展应用程序{
公共静态sqldbhelper数据库;
公共静态SQLiteDatabase-mDatabase;
@凌驾
public void onCreate(){
super.onCreate();
initDb();
}
public void initDb(){
dbHelper=newsqldatabase(this);
mDatabase=dbHelper.getWritableDatabase();
mDatabase.insert(…);
}
公共静态SQLiteDatabase getDb(){
返回mDatabase;
}
}
试试这个回答你的问题吗?谢谢你的回答。我会尝试这个解决方案,如果它对我有帮助的话,我会让你知道。我有一个问题要问3号。你不认为你必须首先从类Testapplication创建一个对象吗?你试图直接从一个类中使用一个方法。谢谢你,我在你的帮助下找到了答案。我很感激。因为它是一个静态方法,所以我不必从类中创建对象。有了这个解决方案,我可以在不同的活动中构建我的应用程序。很高兴在这里:)谢谢你的回答。我会尝试这个解决方案,并会让你知道,如果它帮助了我。谢谢你的帮助,你的评论。你能给我一个示例代码吗?