2016-04-03 28 views
0

私は誰かが正しい方向に私を導くことができると願っています。今日私は、Googleマップを使用しようとしているときに私のアプリケーションが動作を停止したことに気づいた。私のアプリケーションは完璧に機能しています。私はコード内の何かを更新していない。単に仕事をやめただけです。私は突然のすべてNullPointerExceptionが取得する理由、それは任意のローミングサービスを作るdosnt理解しないGoogle Maps API自体が機能しなくなった

java.lang.NullPointerException: Attempt to invoke interface method 'java.lang.Object java.util.List.get(int)' on a null object reference 
                    at se.xflash.tidsboken.CreateNewJob.onMapReady(CreateNewJob.java:725) 
                    at com.google.android.gms.maps.MapFragment$zza$1.zza(Unknown Source) 
                    at com.google.android.gms.maps.internal.zzl$zza.onTransact(Unknown Source) 
                    at android.os.Binder.transact(Binder.java:387) 
                    at com.google.android.gms.maps.internal.v$a$a.a(:com.google.android.gms.alldynamite:82) 
                    at maps.ei.bu$6.run(Unknown Source) 
                    at android.os.Handler.handleCallback(Handler.java:739) 
                    at android.os.Handler.dispatchMessage(Handler.java:95) 
                    at android.os.Looper.loop(Looper.java:224) 
                    at android.app.ActivityThread.main(ActivityThread.java:5514) 
                    at java.lang.reflect.Method.invoke(Native Method) 
                    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

:ここ

はデバッグです!

ここでは、それが文句のあるコードのスニペットです。

public void onMapReady(GoogleMap map) { 


    DatabaseHandlerSettings db = new DatabaseHandlerSettings(getActivity()); 
    PersonInfoDatabase info = db.getContact(1); 
    String adressInfo = info.getAdress(); 
    String ortInfo = info.getOrt(); 


    String adress = (adressInfo + ", " + ortInfo); 

    Geocoder geocoder = new Geocoder(getActivity(), Locale.getDefault()); 
    List<Address> addresses = null; 

    try { 
     addresses = geocoder.getFromLocationName(adress, 1); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    Address address = addresses.get(0); 
    double longitudeStart = address.getLongitude(); 
    double latitudeStart = address.getLatitude(); 

    LatLng location = new LatLng(latitudeStart, longitudeStart); 
    map.setMyLocationEnabled(true); 
    map.getUiSettings().setZoomControlsEnabled(true); 


    map.moveCamera(CameraUpdateFactory.newLatLngZoom(location, 12)); 

つまり、私のアプリケーションはどのように青いところから取り除かれますか?その市場にある。 私が何を意味するのか分かりません。

+1

'try catch e.printStackTrace();だけでなく、例外をログに記録して分析する必要があります。例外が発生したときには、しばしば意味をなさない...しているので、' NullpointerException'はその後のエラー。 –

+1

この問題は、GoogleMapの実装とは関係ありません。あなたのログごとに、アプリケーションは 'get(int)'メソッドを実行しようとするとクラッシュします。アップロードしたコードにはその部分がありません。あなたの質問に正しいコードの部分を追加することができます。 –

+0

@SaumikBhattacharya質問のコードに実際に問題の行が含まれていますが、これは次のようなものです: 'Address address = addresses.get(0);' –

答えて

1

はあなたのコードを次に示します。 - アドレスリストまだヌルになります場合は

List<Address> addresses = null; 

try { 
    addresses = geocoder.getFromLocationName(adress, 1); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
Address address = addresses.get(0); 

にIOExceptionがあります。したがって、addresses.get(0)を呼び出すと、NullPointerExceptionが発生します。

+0

ありがとうございます。今朝は、コードを変更しなくても、アプリケーションが再び動作していました。だから私はこの問題を推測してどこか他の、しかし、私はこのNullPointerに次回このhapensときに探します。ありがとう – user1512762

関連する問題