Android在屏幕上显示来自远程数据库的项目

时间:2012-03-08 20:28:52

标签: android

我遇到的问题是有一个屏幕从SharedPreferences获取一个id,然后我调用一个远程数据库,然后我必须在屏幕上显示这些数据。

是否可以使用ViewText执行此操作,或者在进行远程数据库调用后是否有另一种方法在屏幕上放置文本?

最好的方法是什么,我该如何完成?

谢谢!

4 个答案:

答案 0 :(得分:2)

使用加载程序进行数据库调用。加载数据后,使用onLoadFinished将TextView添加到布局或替换现有布局中的文本。 我的建议是在你的布局中用xml创建一个TextView,这样你就可以完全按照自己的意愿定位它,然后用myTextView.setText(databasetext)替换数据库调用后的文本

答案 1 :(得分:2)

从数据库显示数据的方式完全独立于获取数据的方式。如果它只是需要显示的文本,则TextView似乎是要使用的逻辑视图元素。

简单来说,您应采取的步骤可能是:

  1. SharedPreferences
  2. 获取ID
  3. 使用结果ID
  4. 查询数据库
  5. 将结果传递到视图图层
  6. 使用TextView显示结果
  7. 最好(并且从4.0开始需要)在与UI线程分开的线程中进行网络调用。最好的方法可能是使用AsyncTask。例如:

    private class GetDbItemTask extends AsyncTask<Integer, Void, MyDbItem> {
    
        protected MyDbItem doInBackground(Integer... ids) {
            return mDbService.load(ids[0]);
        }
    
        protected void onPostExecute(MyDbItem result) {
            mTextView.setText(result.toString());
        }
    }
    

答案 2 :(得分:1)

您是否尝试过自定义提醒对话框this link

这使您可以在屏幕上显示文本视图,而无需更改活动。

我希望自从你提出

以来我正确回答了这个问题
  

&#34;是否可以使用ViewText执行此操作,或者是否有另一种方法   在进行远程数据库调用之后在屏幕上放置文本?&#34;。

然后可以选择在活动生命周期中使用onResume()刷新屏幕。

答案 3 :(得分:0)

我将使用的逻辑是用XML构建屏幕并使用名为myTextView的Textview

您的活动中的

声明了一个Textview

TextView name_field;

String name;
....
.
.
.

//call my database info 
//this example get a variable and pass it into String variable name and then display it in your text view

name_field = (TextView) findViewById(R.id.myTextView);
name_field.setText(name);