2011-07-18 24 views
0

我已經從我的本地sql到活動的數據...現在我想創建一個名爲listView活動的新活動,我想顯示一個listView使用我以前的數據得到。在活動之間傳輸數據併爲listview創建適配器的最佳方法是什麼?在android中使用數據獲得的sql服務器創建listView

+0

你到目前爲止嘗試過什麼嗎?你有什麼進展?告訴我們你正在嘗試做某件事,我們會幫你完成它。 –

+0

我已經嘗試intent.putextra在活動之間傳輸數據。對於listView,我仍然在閱讀,如果你有一個很好的資源做共享。 – user591124

回答

0

因此,使用Intent將數據發送到下一個活動是好的,但請不要從數據庫中使用意圖發送的所有數據。實現這一點的最好辦法,是要創造一些,不會持有實際的數據,但是當它需要

public class DataProvider { 
    public Cursor fetchData() { 
     // fetch the data here and return a cursor 
    } 
} 

比你的活動可以獲取它傳遞這個對象的意圖

Intent i; // init it 
Bundle bundle = new Bundle(); 
bundle.putSerializable("dataProvider", new DataProvider()); 
i.putExtras(bundle); 
startActivity(i); 
數據提供程序類

最後在你開始的活動中獲取數據提供者 - 我不會寫任何代碼,因爲我相信你可以自己處理這個。當你得到DataProvider只需調用fetchData()方法來獲取數據。這是非常重要來訪問數據庫異步或您的活動可能會導致ANR,所以最好的辦法是使用AsyncTask。我也會讓你執行AsyncTask。

如果您有任何問題隨時問,我們會幫助你。

+0

謝謝你的幫助。我想從服務器獲取帖子及其所有評論,並在Android應用程序上顯示相應內容。如果我使用遊標方法爲帖子和SQLite進行評論,會更好嗎? – user591124

0

創建新的意圖,並把你想要的數據。你可以放置各種類型的數據。

Intent i = new Intent(this, YourClass.class); 
i.putExtra(name, value); <--- with this you send data to next activity 
startActivity(i); 

如果您沒有使用過列表視圖,那麼適配器如何使用ArrayAdapter。不要忘記明智地使用getView()方法:)

更多:如何在下一個活動中獲取資源?嗯...... 在的onCreate(捆綁savedInstanceState)你這樣做

@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main2); 
this.getParent().getIntent().get<DATA-TYPE-YOU-HAVE-SENT>("KEY-NAME"); //this can be anything you sent, like this.getParent().getIntent().getString("myString"); 


this.getParent().getIntent() <---- returns the calling intent, i.e the intent that called this activity... 
相關問題