2012-04-25 6 views
0

今日、私のプログラムはエミュレータと私の電話で異なる未知のエラーがあることがわかりました。私はそれについて何も考えていないので、誰も私にいくつかのヒントを与えることができますか?私のプログラムでなぜプログラムがエラーをスローするのですか?私がエミュレータで画面を向けるか、電話機をロック/ロック解除すると?

、それは次のコードが存在します。

requestWindowFeature(Window.FEATURE_NO_TITLE); 
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); 

は、ケース1:プログラムが、私は画面の向きを変更するまでは、正常に実行できるエミュレータ

で実行されているが。私はデバッグしなければならなかった。私はいくつかの値が方向の後にnullに変更されたので、エラーをスローすることがわかりました。次

はlogcatです:

04-25 22:04:35.378: W/dalvikvm(520): threadid=23: thread exiting with uncaught exception (group=0x4001aa28) 

04-25 22:04:35.378: E/AndroidRuntime(520): Uncaught handler: thread Thread-15 exiting due to uncaught exception 

04-25 22:04:35.388: E/AndroidRuntime(520): java.lang.NullPointerException 

04-25 22:04:35.388: E/AndroidRuntime(520): at com.mytest.testit.Maincore.logicGo(Maincore.java:244) 

04-25 22:04:35.388: E/AndroidRuntime(520): at com.mytest.testit.Maincore.run(Maincore.java:325) 

04-25 22:04:35.388: E/AndroidRuntime(520): at java.lang.Thread.run(Thread.java:1060) 

04-25 22:04:35.398: I/dalvikvm(520): threadid=7: reacting to signal 3 

04-25 22:04:35.418: I/dalvikvm(520): Wrote stack trace to '/data/anr/traces.txt' 

ケース2:プログラムが実行されている私の携帯電話に

それは私が自分の携帯電話を回転させていても正常に実行することができます。しかし、私が電話機をロックしてロックを解除すると、プログラムはエラーを投げます。このエラーについて、私はどのように追跡するのか分かりません。この問題はエミュレータでは表示されないためです。

誰でも私のヒントを教えてください。

+1

についての良い答えがあり、あなたのlogcat出力と例外が発生したコードを投稿してください。デバッガをステップ実行するとどうなりますか? – Simon

+0

エラーを確認しました。このエラーは、nullに変更されたブール値から発生します。方向の前には、値はtrueです。 – Perry

+0

???あなたのお手伝いをする必要があります。なぜコードを投稿しないと、logcatはどのラインが問題であるかを教えてくれるでしょうか?私は推測することができますが、おそらくそれは役に立たないでしょう。私の推測では、あなたはonCreateでmDoDrawを初期化していません。 BTW。 Booleanを使用していない限り、ブール値をnullにすることは非常に困難です。 – Simon

答えて

0

デバイスを回転すると、アクティビティが再作成されます。保存したいデータがあれば、onSaveInstanceState();で保存する必要があります。

それhere

+0

こんにちはDavid、ありがとうございました!あなたの返信の後、私は他のデータをチェックしました。それらもnullに変更されました。私はあなたが正しいと思います。いくつかのデータは破壊された。オブジェクトcv(cv = new CV();)なら、単にオブジェクトを保存できますか?またはcvの値(整数、ビットマップ、ブール値、浮動小数点数、多くの値)を1つずつ保存する必要がありますか? – Perry

+0

どちらにしてもかまいません。オブジェクトを保存する場合は、ここで説明するパーセルブルオブジェクトを作成する必要があります。http://shri.blog.kraya.co.uk/2010/04/26/android-parcel-data-to-pass-between -activities-using-parcelable-classes / –

関連する問題