2012-12-28 51 views
0

我在按鈕的單擊事件上創建數據庫和表。數據庫和表創建後,我還在按鈕的單擊事件上執行插入功能。我想在下一個活動中插入唱片節目。在此活動中,我使用Listview顯示數據。我無法使用SQLiteOpenHelper類作爲數據庫。我使用OpenOrCreateDatabase()方法創建數據庫。所以請告訴我我爲此做了什麼?如何從數據庫的按鈕的點擊事件獲取顯示插入記錄的另一個活動?

+0

沒有人有想法? – jack

+0

是不是你檢索記錄並將結果傳遞給下一個活動? – cyn0

+0

代碼請我.. – jack

回答

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(); 
+0

好的thanx,kumar。我可以嘗試你的代碼。 – jack

+0

感謝其工作 – jack

+0

請爲我投票,如果解決方案工作 – kumar

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中。我沒有經驗,但this可以幫助。

+0

我有一個按鈕名稱,如「保存」。在這個按鈕上我創建數據庫和表後,我把插入代碼。現在,我想當我點擊按鈕,然後插入記錄顯示在下一個活動的列表視圖。 – jack

+0

那麼,我的答案僅限於此。除此之外,你必須弄清楚如何填充列表視圖,因爲我沒有這方面的經驗。 –

相關問題