0

この php ページからスピナーを設定する必要があります: http://sce.jelocalise.fr/mobile/ajax/getdevices.php?email=info@mediacom-i.fr&password=thedevil1 スピナーとそれらを設定する方法ですが、コードにそれらを適応させることができませんでした。iPhone での表示は次のとおりです (iPhone アプリを Android バージョンに適合させる必要があります) : http://img15.hostingpics.net/pics/665348IMG0017.png

ユーザーを接続するには、スピナーに「vhc_name」だけを表示し、「vhc_login」と「vhc_password」の両方を取得する必要があります。私はすでに接続を行っています。ユーザーを接続するために適切な ID を取得する必要があります。どんな助けでも大歓迎です。

4

1 に答える 1

0

私は解決策を見つけました:

String readFeed = readFeed();

ArrayList<Devices> devices = new ArrayList<Devices>();
ArrayList<String> devicesNames = new ArrayList<String>();

try {

  JSONArray jsonArray = new JSONArray(readFeed);


  for (int i = 0; i < jsonArray.length(); i++) {
    JSONObject jsonObject = jsonArray.getJSONObject(i);
    Devices device = new Devices();
    device.setName(jsonObject.optString("vhc_name"));
    device.setId(jsonObject.optString("vhc_login"));
    devices.add(device);
    devicesNames.add(jsonObject.optString("vhc_name"));

  }
} catch (Exception e) {
}
Spinner mySpinner = (Spinner)findViewById(R.id.myDevicesSpinner);
mySpinner.setAdapter(new ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item, devicesNames));

}

ReadFeed は、URL から Ids をダウンロードするメソッドです。

public String readFeed() {
StringBuilder builder = new StringBuilder();
HttpClient client = new DefaultHttpClient();
String userAuth = Param.getParam("user_Webbsite_Identifier").getValue();
String userPass = Param.getParam("user_Webbsite_password").getValue();

HttpGet httpGet = new HttpGet("http://sce.jelocalise.fr/mobile/ajax/getdevices.php?email="+userAuth+"&password="+userPass+"");
try {
  HttpResponse response = client.execute(httpGet);
  StatusLine statusLine = response.getStatusLine();
  int statusCode = statusLine.getStatusCode();
  if (statusCode == 200) {
    HttpEntity entity = response.getEntity();
    InputStream content = entity.getContent();
    BufferedReader reader = new BufferedReader(new InputStreamReader(content));
    String line;
    while ((line = reader.readLine()) != null) {
      builder.append(line);
    }
  } else {
    Log.e(MyDevices.class.toString(), "Failed to download file");
  }
} catch (ClientProtocolException e) {
} catch (IOException e)
{
}
return builder.toString();
}
于 2013-05-17T07:04:43.307 に答える