Android APP で問題が発生しています。フィード RSS から情報を読み取り、Android ビューで表示したいと考えています。ライブラリを使用しandroid-async-http1.4.3.jar
て APP をこのサイトに接続しています: http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&q=http://f1grandprix.motorionline.com/feed /
この接続で XML ファイルをダウンロードし、それを gson libs を使用して JSON ファイルに変換していますが、APP を Android Phone に接続しようとすると、Null Pointer Exception が発生します。接続し、xml を取得して JSON コードに変換するクラスは次のとおりです。
private void loadTitle() {
String URL = "http://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=10&q=http://f1grandprix.motorionline.com/feed/";
AsyncHttpClient client = new AsyncHttpClient();
client.get(URL, new AsyncHttpResponseHandler() {
@Override
public void onSuccess(String text) {
super.onSuccess(text);
Gson decoder = new Gson();
JsonResponse jr = decoder.fromJson(text, JsonResponse.class);
Entry[] entries = jr.responseData.feed.entries;
for (int i = 0; i < entries.length; i++) {
Log.d("NET", "Il titolo della " + i + " entry è: " + entries[i].title);
}
final ListView lv_title = (ListView) findViewById(R.id.lv_title);
//ListAdapter la_title = new TitleAdapter(MainActivity.this, entries);
//Log.d("LIST_ADAPTER", "Caricato correttamente il list adaptor: "+ la_title);
//lv_title.setAdapter(la_title);
lv_title.setAdapter(new TitleAdapter(MainActivity.this, entries));
pleaseWait.hide();
}
@Override
public void onFailure(Throwable arg0, String arg1) {
super.onFailure(arg0, arg1);
Log.d("FAIL", "Failure");
pleaseWait.hide();
}
});
}
TitleAdapter.java は次のとおりです。
public class TitleAdapter extends ArrayAdapter<Entry> {
public TitleAdapter(Context context, Entry[] title) {
super(context, R.layout.list_item, R.id.lv_title, title);
}
}
そして最後に、次のエラーが発生します。
02-23 12:46:05.525: E/AndroidRuntime(4577): FATAL EXCEPTION: main
02-23 12:46:05.525: E/AndroidRuntime(4577): java.lang.NullPointerException
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:355)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.widget.ArrayAdapter.getView(ArrayAdapter.java:323)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.widget.AbsListView.obtainView(AbsListView.java:1495)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.widget.ListView.measureHeightOfChildren(ListView.java:1216)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.widget.ListView.onMeasure(ListView.java:1127)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.view.View.measure(View.java:8335)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.widget.RelativeLayout.measureChild(RelativeLayout.java:566)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:381)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.view.View.measure(View.java:8335)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.view.View.measure(View.java:8335)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.widget.LinearLayout.measureVertical(LinearLayout.java:531)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.widget.LinearLayout.onMeasure(LinearLayout.java:309)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.view.View.measure(View.java:8335)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:3138)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.widget.FrameLayout.onMeasure(FrameLayout.java:250)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.view.View.measure(View.java:8335)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.view.ViewRoot.performTraversals(ViewRoot.java:843)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.view.ViewRoot.handleMessage(ViewRoot.java:1892)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.os.Handler.dispatchMessage(Handler.java:99)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.os.Looper.loop(Looper.java:130)
02-23 12:46:05.525: E/AndroidRuntime(4577): at android.app.ActivityThread.main(ActivityThread.java:3835)
02-23 12:46:05.525: E/AndroidRuntime(4577): at java.lang.reflect.Method.invokeNative(Native Method)
02-23 12:46:05.525: E/AndroidRuntime(4577): at java.lang.reflect.Method.invoke(Method.java:507)
02-23 12:46:05.525: E/AndroidRuntime(4577): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:864)
02-23 12:46:05.525: E/AndroidRuntime(4577): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:622)
02-23 12:46:05.525: E/AndroidRuntime(4577): at dalvik.system.NativeStart.main(Native Method)
誰かがこの問題を解決するのを手伝ってくれますか? ありがとうございました!