0

我正在尝试获取我的网页内容(我在页面 json 数组中有),但我找不到方法,我在 google 中找到的所有代码都不起作用并使应用程序崩溃。

我需要帮助!

谢谢!

4

1 回答 1

1

看看这里:

https://code.google.com/p/android-query/

这个库允许你(可以做很多事情)以一种非常简单的方式从特定的 url 获取 json。我很清楚,我从来没有遇到过任何问题。

我给你看一个例子:

您页面上的 Json

{
  "account":{
  "username":"nirbe"
  }
}

我的活动.java

public class MyActivity extends Activity {

  private AQuery aQuery;

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

    // First of all, create a new AQuery object
    aQuery = new AQuery(this);

    // Do your ajax call
    aQuery.ajax("http://www.nirberko.info/android/index.php", JSONObject.class, new AjaxCallback<JSONObject>() {

      @Override
      public void callback(String url, JSONObject json, AjaxStatus status) {
        if (json != null) {
          try {
            // Here you will receive your json object,
            // use it as you wish
            String username = json.getJSONObject("account").getString("username");
            // In case, you can directly update your view here
            aQuery.id(R.id.tv_name).text(username);
          } catch (JSONException e) {
            e.printStackTrace();
          }
        }
      }
    });
  }
}

my_activity.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/tv_name"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

</LinearLayout>
于 2013-08-26T13:22:53.243 回答