从Azure Mobile Service Android获取预加载的数据

时间:2015-05-22 17:03:51

标签: android azure android-activity azure-mobile-services

我希望在我的Windows Azure移动服务上获得所有预加载的数据。

我们假设我有一个名为 RV_RoadData 的表,并且在表中,有一个StudentIDs的列为Integer,Text为String。到目前为止已加载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;
    }
}

但似乎给了我不必要的例外。我真的不知道我做错了什么。请帮忙解决这个问题。感谢。

1 个答案:

答案 0 :(得分:0)

尝试按照本教程中的模式进行操作,该模式使用适配器存储数据列表。

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

它还返回MobileServicesList而不是List。其数据库中的数据也与您的数据非常相似,因此应该很容易适应它。