【问题标题】:How to populate a spinner Android from a php page?如何从 php 页面填充微调器 Android?
【发布时间】:2013-05-17 15:04:43
【问题描述】:

我必须从此 php 页面填充微调器: http://sce.jelocalise.fr/mobile/ajax/getdevices.php?email=info@mediacom-i.fr&password=thedevil1 我已经阅读了很多关于 Spinners 以及填充它们的方法的教程,但我未能在我的代码中调整它们。这是它在 iPhone 上的样子(我必须将 iPhone 应用程序改编成 Android 版本): http://img15.hostingpics.net/pics/665348IMG0017.png

我必须在我的微调器中只显示“vhc_name”并检索“vhc_login”和“vhc_password”来连接用户。我已经完成了一个工作连接,我只需要检索好的 ID 来连接用户。任何帮助将不胜感激。

【问题讨论】:

    标签: android spinner populate


    【解决方案1】:

    我找到了解决方案:

    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();
    }
    

    【讨论】:

      猜你喜欢
      • 2014-10-27
      • 2011-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多