如何在我的应用程序启动时读取数据库?
我是Android编程新手。
我创建了一个带有2个选项卡的应用程序,选项卡一当您在editText中编写数据并在按下保存按钮时,数据存储在数据库中。
然后输入的数据显示在tab2中作为listview。
问题是当您打开应用程序时,保存的数据不会显示。如何在我的应用程序启动时读取数据库?
如何在应用程序启动时读取数据库?
fragmentOne.java:
SendMessage SM; DB_Sqllite db;
@Override
public void onViewCreated(final View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
db=new DB_Sqllite(getActivity());
btnPassData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String Name =title.getText().toString();
String Desc =message.getText().toString();
//create instance of Message Model i.e. Pojo class or Getter Setter class
MessageModel messageModel = new MessageModel();
//now set the title and desc to pojo class
messageModel.setTitle(title.getText().toString().trim());
messageModel.setDesc(message.getText().toString().trim());
messageModel.setPrio(rb3.isChecked(),rb2.isChecked());
//finally pass the pojo class via interface
SM.sendData(messageModel);
showData();
Boolean result = db.insertData(Name,Desc);
if (result)
Toast.makeText(getContext(), " done ", Toast.LENGTH_LONG).show();
else{
Toast.makeText(getContext()," not done ",Toast.LENGTH_LONG).show();
}
}
});}
public void showData() {
ArrayList<String> listData = db.getAllrecord();
String Title = listData.get(0).split(" - ")[0];
String Desc = listData.get(0).split(" - ")[1];
//create instance of Message Model i.e. Pojo class or Getter Setter class
}
interface SendMessage {
void sendData(MessageModel messageModel);
}
@Override
public void onAttach(Context context) {
super.onAttach(context);
try {
SM = (SendMessage) getActivity();
} catch (ClassCastException e) {
throw new ClassCastException("Error in retrieving data. Please try again");
}
}
}
回答:
您可以使用在Android中一个Singleton模式的这样那样的问题,尤其是对于SQLite数据库,所以你可以有一个单一的数据库实例时,您的应用程序第一次启动。你可以通过在你的清单文件中将这个类与你的应用程序挂钩来实现这一点。那么您可以随时随地在应用程序中使用数据库实例。它会工作完美。 This可能会有所帮助。 This和this也会给你指示。
以上是 如何在我的应用程序启动时读取数据库? 的全部内容, 来源链接: utcz.com/qa/257669.html