2013-05-05 73 views
1

我是Android新手,但之前我已經使用過AWS的PHP SDK,所以我從來沒有遇到過這樣的問題。我正在使用DescribeInstancesRequest來獲取所有實例及其狀態的列表。想法是讓所有具有ToggleButton實例的列表進行開始/停止操作。過的AsyncTask我正在執行的請求到AWS這樣的:Android AWS SDK只返回一個EC2實例而不是列表

private class LoadInstancesListTask extends AsyncTask<DescribeInstancesRequest, Void, DescribeInstancesResult> { 

    private Context ctx; 

    public void setContext(Context ctx) { 
     this.ctx = ctx; 
    } 

    @Override 
    protected DescribeInstancesResult doInBackground(DescribeInstancesRequest... params) { 
     DescribeInstancesRequest request = params[0]; 
     AmazonEC2AsyncClient client = new AmazonEC2AsyncClient(request.getRequestCredentials()); 
     client.setEndpoint("ec2.us-east-1.amazonaws.com"); 
     DescribeInstancesResult response = client.describeInstances(request); 
     return response; 
    } 

    @Override 
    protected void onPostExecute(DescribeInstancesResult response) { 
     Reservation reservation = response.getReservations().get(0); 
     Log.d(MainActivity.TAG, reservation.toString()); 
     InstanceListAdapter adapter = new InstanceListAdapter(this.ctx, R.layout.instance_list_row_layout, reservation.getInstances()); 
     setListAdapter(adapter); 
    } 
} 

的事情是,我只得到1 EC2實例在響應實例列表,而不是我目前使用的所有4。任何人都有類似的問題,或知道另一種從AWS SDK中獲取實例列表的方式?

我會感謝任何幫助 - 謝謝。

+1

我不知道亞馬遜API,但與此'response.getReservations()。get(0)'我說你只是retreiving索引0從響應,這可能是爲什麼你不明白。 – kaderud 2013-05-05 10:40:55

+0

@chrkad謝謝!我認爲所有的實例都屬於單個預訂,並且我沒有將實例列表檢入單個預訂中,我完全忘記檢查是否有其他預訂:) – NemanjaSRB 2013-05-05 12:03:24

回答

1

@chrkad在評論中指出我只看到第一張預訂,而不是處理所有這些。再次感謝:)