2011-02-03 12 views
1

私はアプリを持っていますが、なぜAndroid 2.2を使用する必要があるのですか?アプリケーションをテストし、私は機能を実行する際には、インストールおよび実行するために開始されますが、それは次のようなエラーになり:アプリケーションはEclipseエミュレータでうまく動作しますが、電話機のエラーが発生します - FroYo

"The application has stopped unexpected. Please try again."

また、私は理解することはできませんフローズンヨーグルトを実行しているエミュレータ上で正常に動作します何が問題なのか

W/dalvikvm(1027): threadid=1: thread exiting with uncaught exception (group=0x2aacc8a0)

そして、私はそれはエミュレータで正常に動作し、私はシステムから見ることができるように、nullポインタ例外がないことを知っている以外は、nullポインタ例外を与える:ADB logcatの誤差は以下のとおりです。その値がnullではないことをadb logcatで確認してください。

私はこれを解決するために何ができるか考えている人はいますか?

ありがとうございました!

編集:要求されたとして、ここではスタックです:ここでは

W/dalvikvm( 861): threadid=1: thread exiting with uncaught exception (group=0x2aacc8a0) E/AndroidRuntime( 861): FATAL EXCEPTION: main E/AndroidRuntime( 861): java.lang.NullPointerException E/AndroidRuntime( 861): at com.andrWow.wCraftArmory.Armory.updateUI(Armory.java:150) E/AndroidRuntime( 861): at com.andrWow.wCraftArmory.Armory.access$2(Armory.java:140) E/AndroidRuntime( 861): at com.andrWow.wCraftArmory.Armory$carryOutSearch.onPostExecute(Armory.java:282) E/AndroidRuntime( 861): at com.andrWow.wCraftArmory.Armory$carryOutSearch.onPostExecute(Armory.java:1) E/AndroidRuntime( 861): at android.os.AsyncTask.finish(AsyncTask.java:417) E/AndroidRuntime( 861): at android.os.AsyncTask.access$300(AsyncTask.java:127) E/AndroidRuntime( 861): at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429) E/AndroidRuntime( 861): at android.os.Handler.dispatchMessage(Handler.java:99) E/AndroidRuntime( 861): at android.os.Looper.loop(Looper.java:123) E/AndroidRuntime( 861): at android.app.ActivityThread.main(ActivityThread.java:4627) E/AndroidRuntime( 861): at java.lang.reflect.Method.invokeNative(Native Method) E/AndroidRuntime( 861): at java.lang.reflect.Method.invoke(Method.java:521) E/AndroidRuntime( 861): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:876) E/AndroidRuntime( 861): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:634) E/AndroidRuntime( 861): at dalvik.system.NativeStart.main(Native Method) W/ActivityManager( 123): Force finishing activity com.andrWow.wCraftArmory/.Armory

は、ライン150の周りのコードです - 2番目の行は行150である:

PlayerCharacter toon = worker.getToons().get(latestToon[0] + "&" + latestToon[1]); 
LinkedHashMap<String, LinkedHashMap<String, String>> bM = toon.getCategoryMap("baseStats"); 

結果場合にのみここまで取得「toon」を割り当てることはnullにはなりません。そのキーを持つgetCategoryMapの結果も、作成時にそのキーで値を追加するのはかなりハードコーディングされているので、nullであってはいけません。 getCategoryMapはHashMapにそのキーが含まれているかどうかを調べるゲッターです。そうでなければsystem.outにはエラーがありません。

解決編集:あなたの助けみんなのため

感謝。 私はそれがエミュレータで動作していたことを知っていて、電話で一度実行していたので、コードに誤りがあったとは本当に思いませんでした。 FroYoを入手した後、最初の手紙のケースを自動的に変更した新しいキーボードを追加するなど、大文字/小文字を正しく処理しないという問題がありました。愚かな間違いです。

本当にありがとうございます。

+2

あなたのスタックトレースの詳細を投稿してください。 – Jorgesys

+0

はい、私たちはもっと情報が必要です。しかし、あなたがエミュレータと実際のデバイスを使って作業しているとき(iPhone、Android、Blackberry、WP7などにも当てはまります)、アプリケーションがある場所では動作しますが、他の場所では動作しないことは驚くことではありません。それは両方の上で何かがうまくいくともっと驚くべきことです。 – MusiGenesis

+1

VMがヌルポインタ例外をスローしているときに、ヌルポインタ例外がないことを確認することはできません。明らかにどこかにヌルポインタがあります。 – Falmarri

答えて

1

まあ、明らかな答えはPlayerCharacter toon = worker.getToons().get(latestToon[0] + "&" + latestToon[1]);がnullを返すことです。

なぜいくつかのステップに分解できる理由を正確に把握してください。 latestToon[0] + "&" + latestToon[1]さんは何をしますか?それはあなたが期待するものですか?私はgetToons()は何らかの種類の地図を返すと仮定しますか?それの内容は何ですか?

+0

ありがとうございます。私は疑問に思って、これを驚かせ、テストしました。エミュレータやFroYoの欠陥ではありませんでした。私が作ったばかげたミスでした。私は(大文字/小文字の)ケースを制御していると思いましたパラメータのうち、明らかに十分ではないが、私が一度だけ働いていて、何か変わったことがわかっていたのは、最初の単語を自動的に囲む新しいキーボードがあるということでした。キーボード自体でやっていますが)それだけのケースだったので、皆さんの助けをいただき、ありがとうございました。 – Dave

関連する問題