2010-02-02 73 views
2

當我旋轉設備,我得到錯誤(這是HTC與Verizon):旋轉設備時需要編碼嗎?

The application My App (process com.mycompany.android) has 
stopped unexpectadly. Please try again. 

所以,我覺得我需要爲這個問題的代碼。換句話說,當將設備從風景轉換爲便攜式或從便攜式轉爲風景時,應用程序需要捕捉此事件。

是不是?

如何製作它?這裏有什麼問題?

編輯:是否可以在模擬器上測試?

在此先感謝。

+2

要在模擬器中測試,切換視圖的快捷方式是KEYPAD_9,Ctrl-F12(http://developer.android.com/guide/developing/tools/emulator.html) – keith 2010-02-02 03:32:19

+0

謝謝。我得到了它的工作。 – AndroiDBeginner 2010-02-02 03:41:37

回答

1

默認情況下,Android活動在配置更改時關閉並重新啓動。最簡單的方法是添加應用程序清單android:configChanges。這將告訴Android,您將自行處理列出的配置更改。例如

<activity 
    android:name=".YourActivity" 
    android:label="YourActivity" 
    android:configChanges="orientation|keyboardHidden" /> 

在您的清單意味着活動將不會重啓的方向改變,或者如果用戶已經滑出的鍵盤。

+0

太好了,我在找這個。我知道了。謝謝。 – AndroiDBeginner 2010-02-02 08:29:55

2

如果我沒有弄錯,Android(默認情況下)在改變方向時會破壞並重新創建您的Activity。這聽起來像是它可能會導致您的應用程序出現問題嗎? Android Developer的博客上有一個article,Android Developer的郵件列表上有一個post,它描述了一個類似的問題。

+0

感謝您的回覆。 這聽起來很難解決我的問題。因爲當前活動開始時,此活動連接到ftp服務器。然後它會生成要在線程中使用的數據。 因此,我需要連接,處理....? 什麼方法是最好的? 請諮詢傢伙。 – AndroiDBeginner 2010-02-02 04:05:54

+0

你可以使用一個'AsyncTask'來從你的'Activity'在後臺做東西,或者創建一個'Service'來保存你的連接,並從你的'Activity'中綁定它。 – 2010-02-02 08:32:06

+0

好的。謝謝。我會嘗試你的想法。 – AndroiDBeginner 2010-02-02 09:42:35

1

在已知將立即爲新配置創建新實例的情況下。

活動函數onRetainNonConfigurationInstance()允許您將舊狀態到新活動狀態的廣泛狀態從加載的位圖存儲到網絡連接,以平均主動運行線程。

執行此方法後,結果可以在函數getLastNonConfigurationInstance()的onCreate()或onStart()中使用。

+0

謝謝。對我來說這非常有幫助。 – AndroiDBeginner 2010-02-03 07:58:17

+0

很高興聽到。順便說一句,當按下有用答案左邊的數字時,stackoverflow系統效果最好。 :) – Rene 2010-02-04 09:38:30