2012-10-30 23 views
0

我有一個應用程序可以解析在線XML文件中的XML並將其顯示在列表視圖中。用戶然後可以點擊一個項目並查看完整的故事。這一切都很好,但我希望用戶能夠保存某些文章,以便他們可以在以後或離線閱讀。我認爲這很簡單,但是很難找到任何讓我走向正確的方向。以下是顯示單篇新聞文章的活動。保存選定的新聞文章以供離線使用

public class SingleActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.single_list_item); 

     // getting intent data 
     Intent in = getIntent(); 

     // Get XML values from previous intent 
     String title = in.getStringExtra("name"); 
     String date = in.getStringExtra("date"); 
     String content = in.getStringExtra("content"); 

     // Displaying all values on the screen 
     TextView lblName = (TextView) findViewById(R.id.name_label); 
     TextView lblDate = (TextView) findViewById(R.id.date_label); 
     TextView lblCont = (TextView) findViewById(R.id.content_label); 

     lblName.setText(title); 
     lblDate.setText(date); 
     lblCont.setText(Html.fromHtml(content)); 
    } 
} 
+0

簡單獲取xml數據的值並保存到數據庫中並從數據庫中獲取該值 – QuokMoon

回答

2

您可以使用SQLite數據庫中。爲用戶提供一個選項來保存選項。您可以使用按鈕或圖像按鈕或任何可引發事件的按鈕。當它發生事件時,只需將它們保存到數據庫。如果您對DB不太好,請舉例here。 您的修改代碼如下所示。

public class SingleActivity extends Activity { 

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.single_list_item); 

     // getting intent data 
     Intent in = getIntent(); 

     // Get XML values from previous intent 
     String title = in.getStringExtra("name"); 
     String date = in.getStringExtra("date"); 
     String content = in.getStringExtra("content"); 

     // Displaying all values on the screen 
     TextView lblName = (TextView) findViewById(R.id.name_label); 
     TextView lblDate = (TextView) findViewById(R.id.date_label); 
     TextView lblCont = (TextView) findViewById(R.id.content_label); 

     lblName.setText(title); 
     lblDate.setText(date); 
     lblCont.setText(Html.fromHtml(content)); 

     Button b = (Button) findViewById(R.id.savebutton); 
     b.setonclicklistsener() { 
      saveToDB(lblName's text, lblDate's text, lblCont's text); 
     } 


    } 

    public void saveToDB(lblName's text, lblDate's text, lblCont's text){ 

      // do database stuff here  

    } 

} 
相關問題