我在按钮的单击事件上创建数据库和表。我还在数据库和表创建后对按钮的单击事件执行插入功能。我想在下一个活动中插入记录显示。在这个活动中,我使用 Listview 来显示数据。我不能将 SQLiteOpenHelper 类用于数据库。我使用 OpenOrCreateDatabase() 方法创建数据库。所以请告诉我我为此做了什么???
问问题
1162 次
2 回答
0
创建自己的应用程序类
public class MyApplication extends Application {
private ArrayList myData;
public ArrayList getMyData(){
return myData;
}
public void putMyData(ArrayList myData){
this.myData = myData;
}
在您的 AndroidManifest.xml 文件中提及这一点,例如
<application android:icon="@drawable/icon" android:label="@string/app_name" android:largeHeap="true" android:name="MyApplication">
读取您的第一个活动中的数据,并且在您的第一个活动中这样做
MyApplication myApplication=(MyApplication)getApplication();
myApplication.putMyData(myData);
在第二个活动
MyApplication myApplication=(MyApplication)getApplication();
myData = myApplication.gettMyData();
于 2012-12-28T09:51:00.337 回答
0
据我了解,您想要相同的按钮来设置您的数据库并将数据插入其中,将您带到另一个活动并显示所有插入的数据?
您可以通过设置单击该按钮的意图来执行此操作,该按钮将带您进入所需的活动。在该活动的 onCreate() 中,您应该调用获取数据的函数。
像这样的东西:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_viewprofile);
userdatabase viewinfo = new userdatabase(this);
viewinfo.open();
String data = viewinfo.getData();
viewinfo.close();
TextView txtv = (TextView) findViewById(R.id.viewuserdata);
txtv.setText(String.valueOf(data));
}
这里的 getData() 是一种检索所需数据的方法,并且在您定义和创建数据库的同一类中定义。
在我的例子中, getData() 看起来像这样:
public String getData() { //Retrieve complete data from database
String[] columns = new String[]{KEY_ROWID, USER_NAME,USER_HP,USER_LEVEL,USER_ID};
Cursor c = userDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
String result = "";
int iRow = c.getColumnIndex(KEY_ROWID);
int iName = c.getColumnIndex(USER_NAME);
int ihp = c.getColumnIndex(USER_HP);
int ilevel = c.getColumnIndex(USER_LEVEL);
int iId = c.getColumnIndex(USER_ID);
for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) {
result = result + c.getString(iRow) + " " + c.getString(iName) + " " + c.getInt(ihp) + " " + c.getInt(ilevel);
}
return result;
}
编辑:刚刚看到您需要将数据插入到 ListView 中。我没有这方面的经验,但也许这会有所帮助。
于 2012-12-28T09:38:10.313 回答