Как получить информацию из хранилища данных с помощью Google App Engine и отобразить ее в виде списка на Android-приложение с помощью Java? - PullRequest
0 голосов
/ 07 февраля 2012

Я пытаюсь создать приложение для Android, которое получает информацию из хранилища данных механизма приложений Google и отображает ее в виде списка в приложении для Android. Кто-нибудь может мне помочь с некоторым кодом или объяснить, что именно нужно сделать для этой цели?я уже сделал изменения на стороне сервера для хранения данных в хранилище данных .. что я не знаю, как получить эти данные в приложение для Android .. я использую eclipse индиго и язык java

РЕДАКТИРОВАТЬ:Я помещаю свой код, который я использую, чтобы получить набор строк из хранилища данных и поместить его в представление списка ... код будет выглядеть очень сложным, но я прошу вас терпеть меня и объяснить, как именно написать его.В настоящее время приложение принудительно закрывается всякий раз, когда я попадаю на страницу, где должен отображаться этот список извлеченных строк ...

public class Display extends ListActivity
{

    private LayoutInflater mInflater;
    private Vector<RowData> data;
RowData rd;

static String[] title;
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.displaylayout);


    MyRequestFactory factory = (MyRequestFactory)Util.getRequestFactory(Display.this,MyRequestFactory.class);
    FebfourthRequest febfourthRequest = factory.febfourthRequest();
    final List<TrialDBProxy> list= new ArrayList<TrialDBProxy>();
       febfourthRequest.queryTrialDBs().fire(new Receiver<List<TrialDBProxy>>() 
    {

        @Override
        public void onSuccess(List<TrialDBProxy> arg0) {
            // TODO Auto-generated method stub
            list.addAll(arg0);
        }   


    });


    for(int i=0;i<list.size();i++)
    {
        title[i] = list.get(i).getMessage();
    }

    mInflater = (LayoutInflater) getSystemService(Activity.LAYOUT_INFLATER_SERVICE);

    data = new Vector<RowData>();

    for(int i=0;i<title.length;i++)
    {
        rd = new RowData(i,title[i]);
        data.add(rd);
    }
    int[] to = new int[] { R.id.text1, R.id.text2 };

    @SuppressWarnings("deprecation")
    Cursor mCursor = this.getContentResolver().query(People.CONTENT_URI, null,      null, null, null);
    ListAdapter adapter = new       SimpleCursorAdapter(this,R.layout.displaylayout,mCursor,title,to);
    setListAdapter(adapter);
    getListView().setTextFilterEnabled(true);

}
private class RowData 
{
protected int mId;
protected String mTitle;

RowData(int id,String title)
{
mId=id;
mTitle = title;

}
    @Override
    public String toString() 
    {
        return mId+" "+mTitle;
    }
}    '

ПРИМЕЧАНИЕ. TrialDB - это файл, содержащий все мои поля, которые яхочу хранить в хранилище данных.displaylayout - это XML-файл, в котором я создал список.Я предполагаю, что основная часть, где я должен поместить код для отображения материала, находится в методе onCreate ().ПОЖАЛУЙСТА, ПОМОГИТЕ!

1 Ответ

2 голосов
/ 07 февраля 2012

Это уже очень хорошая отправная точка для изучения как Google App Engine, так и Android Development.

Я могу написать последующие шаги :

  1. Напишите приложение Google App Engine , которое считывает данные из хранилища данных и выдает их в формате JSON . Вы можете использовать веб-фреймворк GAE или, может быть, Django. После этого у вас будет URL, который предоставит вам ваши данные в вашем браузере.
  2. Напишите приложение Hello World для Android . Этот шаг дает вам возможность понять и настроить среду разработки Android.
  3. Напишите приложение для Android, которое использует просмотр списка со статическими данными.
  4. Расширьте свое приложение для Android, позвонив по одному простому URL из Интернета , а затем распечатайте его на экране.
  5. Расширьте свое приложение, вызвав URL-адрес приложения Google App Engine внутри своего приложения . Теперь у вас есть данные хранилища данных в вашем приложении.
  6. Заполните ваш список с вашими данными.
...