Получение предварительно загруженных данных из мобильной службы Azure Android

Я хочу получить все предварительно загруженные данные, доступные в моей службе Windows Azure Mobile.

Скажем так, у меня есть таблица с именем RV_RoadData, и внутри таблицы есть столбец для идентификаторов учащихся в виде целого числа и текста в виде строки. На данный момент загружено 50 значений.

Я просто хочу сохранить эти значения в своем ArrayList, а затем использовать для будущих ссылок. Вот что я пробовал:

public class MainActivity extends ActionBarActivity {

TextView textView;
Button btn;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    fechFromAzure();
}


//this is the only method talking to azure.
//here, no threads/asynctasks are used. So, fetching operation should    not take more
//than 5 seconds. Otherwise, app will freeze.
private void fechFromAzure(){
    try {
    //initialize the mobile service
    MobileServiceClient mClient = new MobileServiceClient(
            "https://******.azure-mobile.net/",
            "*******************************",
            this
    );

    //get the todo-item table
    MobileServiceTable<RV_RoadData> RV_RoadData_Table = mClient.getTable(RV_RoadData.class);

    //select all items from todo-item
    List<RV_RoadData> itemList = RV_RoadData_Table.where().execute().get();

    //set text of first and only one todo-item to textview
    textView.setText(itemList.get(0).Text);

    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (ExecutionException e) {
        e.printStackTrace();
    }
}

class RV_RoadData {
    public String Id;
    public String Text;
    }
}

Но, похоже, это дает мне нежелательное исключение. Я действительно не знаю, где я делаю неправильно. Пожалуйста, помогите решить эту проблему. Спасибо.


person Tanvir Sourov    schedule 22.05.2015    source источник


Ответы (1)


Попробуйте следовать шаблону из этого руководства, в котором для хранения списка данных используется адаптер.

https://azure.microsoft.com/en-us/documentation/articles/mobile-services-android-get-started-data/

Он также возвращает MobileServicesList вместо списка. Данные в его базе данных также очень похожи на ваши, поэтому адаптировать их должно быть очень просто.

person RickSaling    schedule 27.05.2015
comment
Это просто toDoList в действии. Я хотел чего-то другого. - person Tanvir Sourov; 28.05.2015
comment
Кроме того, если вам нужен список, адаптер — это один из способов сделать это, но код, который вы показываете, просто отображает один элемент. - person RickSaling; 29.05.2015