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));
    }   
}
4

2 回答 2

2

您可以使用 SQLite 数据库。为用户提供保存选项。您可以使用按钮或图像按钮或任何可以引发事件的东西。当它引发事件时,只需将它们保存到数据库中。如果您对 DB 不满意,请在此处获取示例。您修改后的代码将如下所示。

 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    

     }

}
于 2012-10-30T09:23:14.027 回答
0

对于这种特殊情况,您可以使用 sqlite http://www.codeproject.com/Articles/119293/Using-SQLite-Database-with-Android

于 2012-10-30T09:19:42.413 回答