2012-02-17 14 views
1

私は、ユーザーの場所を見つけるためにアプリケーションを開発中です。 私のmapviewで私は完璧な仕事を完了します。 しかし、私はそれを取得していない場所を見つける。 は下記..あまりにも私のコードとlogcat誤りであるAndroid現在地を見つけるエラー

コード:

tv = (TextView)findViewById(R.id.tv1); 

    mlocationManager =(LocationManager)getSystemService(LOCATION_SERVICE) ; 

    Criteria criteria = new Criteria(); 
    criteria.setAccuracy(Criteria.ACCURACY_FINE); 
    criteria.setPowerRequirement(Criteria.POWER_LOW); 

    String locatinProvider = mlocationManager.getBestProvider(criteria,true); 

    Location mlocation = mlocationManager.getLastKnownLocation(locatinProvider); 

    tv.setText("Last location lat:" +mlocation.getLatitude() + "long:" + mlocation.getLongitude()); 

LogCat:そこには、最後の場所が利用可能であるか、プロバイダが無効になっている場合

02-17 17:13:12.260: E/AndroidRuntime(1215): FATAL EXCEPTION: main 
02-17 17:13:12.260: E/AndroidRuntime(1215): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.satyam.curlocation/com.satyam.curlocation.CurLocationActivity}: java.lang.NullPointerException 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1622) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1638) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:928) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.os.Handler.dispatchMessage(Handler.java:99) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.os.Looper.loop(Looper.java:123) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at android.app.ActivityThread.main(ActivityThread.java:3647) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at java.lang.reflect.Method.invokeNative(Native Method) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at java.lang.reflect.Method.invoke(Method.java:507) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
02-17 17:13:12.260: E/AndroidRuntime(1215):  at dalvik.system.NativeStart.main(Native Method) 
02-17 17:13:12.260: E/AndroidRuntime(1215): Caused by: java.lang.NullPointerException 
+1

活動の下であなたのMapActivityクラスを登録、LogCatの関連する行は、直接に起因する」_below_です。 NullPointerException "を返します。あなたの質問にそれらを含めてください。彼らが問題を引き起こした行を教えてくれます。 –

+0

私の質問を正しく管理してくれたPaulに感謝します。 – NovusMobile

+0

このタイプを回避するには、 "エミュレータではなくデバイスにデバッグを開始する必要がありますか?" 私を案内してください... – NovusMobile

答えて

4

getLastKnownLocation()リターンはnull。 the manualを参照してください。 java.langで:

Location mlocation = mlocationManager.getLastKnownLocation(locatinProvider); 

if(mlocation != null){ 
    tv.setText("Last location lat:" +mlocation.getLatitude() + "long:" + mlocation.getLongitude()); 
}else{ 
    tv.setText("No last location available"); 
} 
+0

ありがとう.. それは私のために働いた。素晴らしい助け! – NovusMobile

+0

あなたは大歓迎です:) –

1

は、NullPointerExceptionがある場合にはアンドロイドManifestFile.xml

関連する問題