Google Places API를 구현하려고하지만 java.lang.nullpointerexception을 계속 전송합니다. 나는이 사이트의 코드를 가지고있다 : http://www.androidhive.info/2012/08/android-working-with-google-places-and-maps-tutorial/google places API android는 java ..lang.nullpointerexception을 반환합니다.
내가 수집 할 수있는 것으로부터 나는 어떤 Google 서버에 URL을 보내고 응답을 받는다. 그 응답은 JSON 형식으로되어 있으며 내 특정 "Locations"객체로 구문 분석됩니다. 나는 파싱 단계에서 어떤 일이 일어날 것이라고 생각한다. 사이트에서 그들은 중개자 객체 PlacesList를 사용합니다. 나는 그것을 이해하지 못하기 때문에 상황이 잘못 될 것이라고 생각합니다.
PlacesList :
public class PlacesList implements Serializable {
@Key
public String status;
@Key
public List<Locations> results;
}
구글 검색 :
MainActivity에서 홈페이지에 public PlacesList search(double latitude, double longitude, double radius)
throws Exception {
this._latitude = latitude;
this._longitude = longitude;
this._radius = radius;
try {
HttpRequestFactory httpRequestFactory = createRequestFactory(HTTP_TRANSPORT);
HttpRequest request = httpRequestFactory
.buildGetRequest(new GenericUrl(PLACES_SEARCH_URL));
request.getUrl().put("key", API_KEY);
request.getUrl().put("location", _latitude + "," + _longitude);
request.getUrl().put("radius", _radius); // in meters
request.getUrl().put("sensor", "false");
PlacesList list = request.execute().parseAs(PlacesList.class);
Log.i("placelist.class", list.toString());
// Check log cat for places response status
// Log.i("Places Status", "" + list.status);
return list;
} catch (HttpResponseException e) {
Log.e("Error:", e.getMessage());
return null;
}
}
를 System.err (6447) : atcom.example.mapmapagain.MainActivity.onCreate (MainActivity.java:86) ==
try {
PlacesList places = ps.search(curr_lat, curr_longitude, 100.0);
} catch (Exception e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
어떤 도움
04-26 19:10:52.839: W/System.err(4156): android.os.NetworkOnMainThreadException
04-26 19:10:52.899: W/System.err(4156): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1117)
04-26 19:10:52.899: W/System.err(4156): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
04-26 19:10:52.899: W/System.err(4156): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
04-26 19:10:52.899: W/System.err(4156): at java.net.InetAddress.getAllByName(InetAddress.java:214)
04-26 19:10:52.899: W/System.err(4156): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
04-26 19:10:52.899: W/System.err(4156): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
04-26 19:10:52.899: W/System.err(4156): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
04-26 19:10:52.899: W/System.err(4156): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
04-26 19:10:52.899: W/System.err(4156): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
04-26 19:10:52.899: W/System.err(4156): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
04-26 19:10:52.899: W/System.err(4156): at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:461)
04-26 19:10:52.899: W/System.err(4156): at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:433)
04-26 19:10:52.899: W/System.err(4156): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
04-26 19:10:52.899: W/System.err(4156): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
04-26 19:10:52.899: W/System.err(4156): at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:81)
04-26 19:10:52.899: W/System.err(4156): at libcore.net.http.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:165)
04-26 19:10:52.899: W/System.err(4156): at com.google.api.client.http.javanet.NetHttpRequest.execute(NetHttpRequest.java:88)
04-26 19:10:52.899: W/System.err(4156): at com.google.api.client.http.HttpRequest.execute(HttpRequest.java:814)
04-26 19:10:52.909: W/System.err(4156): at com.example.mapmapagain.PlaceSearch.search(PlaceSearch.java:64)
04-26 19:10:52.909: W/System.err(4156): at com.example.mapmapagain.MainActivity.onCreate(MainActivity.java:86)
04-26 19:10:52.909: W/System.err(4156): at android.app.Activity.performCreate(Activity.java:5104)
04-26 19:10:52.909: W/System.err(4156): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
04-26 19:10:52.909: W/System.err(4156): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
04-26 19:10:52.909: W/System.err(4156): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
04-26 19:10:52.909: W/System.err(4156): at android.app.ActivityThread.access$600(ActivityThread.java:141)
04-26 19:10:52.909: W/System.err(4156): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
04-26 19:10:52.909: W/System.err(4156): at android.os.Handler.dispatchMessage(Handler.java:99)
04-26 19:10:52.909: W/System.err(4156): at android.os.Looper.loop(Looper.java:137)
04-26 19:10:52.909: W/System.err(4156): at android.app.ActivityThread.main(ActivityThread.java:5039)
04-26 19:10:52.909: W/System.err(4156): at java.lang.reflect.Method.invokeNative(Native Method)
04-26 19:10:52.909: W/System.err(4156): at java.lang.reflect.Method.invoke(Method.java:511)
04-26 19:10:52.909: W/System.err(4156): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
04-26 19:10:52.909: W/System.err(4156): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
04-26 19:10:52.909: W/System.err(4156): at dalvik.system.NativeStart.main(Native Method)
감사 :
다음은 로그 캣입니다.
에뮬레이터를 연구하고 있습니까? – ACengiz
정확하게 stacktrace와 그 외 모든 것을 게시하십시오. – cbrulak
붙여 넣은 코드를 줄 번호로 매핑 할 수 있습니까? like Activity.java:5104 == "PlacesList list = request.execute(). parseAs (PlacesList.class);" ? – cbrulak