2013-06-30 16 views
2

我想獲得關於架構選擇的一些建議,以開發顯示多個屏幕的Android應用程序。多屏應用程序的架構建議

該應用程序的目標是以圖形方式呈現輔助表單輸入。該應用將在平板電腦上使用。

例如,將有第一個屏幕歡迎用戶並要求開始填寫表單。然後,將顯示另一個屏幕以輔助方式輸入日期。接下來,其他信息的另一個屏幕,等等。

總共有十幾個屏幕,最後所有的信息都會發送到服務器上,用戶可以隨時回到上一個屏幕來編輯他的答案。

我已經在實踐Android開發,但我從來沒有機會參與實際項目,尤其是在那麼多屏幕上。

所以我的問題是:

  • 我需要通過屏幕使用一個活動?否則,我應該使用什麼樣的結構/體系結構?
  • 使用SQLite 保存填充表單中的信息是否是一個好主意?

由於通過提前 瓦倫丁

[編輯] - 我也想顯示的動畫,同時改變屏幕

回答

1

首先,確保您用一個屏幕編碼一個活動。這是自Android優化活動以來最好的方式,而不是Views。您的後臺功能,未來的可支持性都依賴於良好的Android編碼。使用你的java語法技能和模式進行非Activity(對於非android基本構造意圖,廣播監聽器.....)。但是使用Android的基本規則和構造來利用所有優化和功能以及客戶行爲習慣。

關聯drawable時,請記住以下幾點。

  • 更多的可繪製文件夾,你將擁有更多的維護惡夢。只需保留2個可繪製和可繪製的hdpi。
  • 如果你從mdpi的設備加載,android會使用位圖和大量內存調整drawables。如果你陷入了OOM的陷阱,只需將所有可繪製文件複製到ldpi,mdpi。並將所有hpdi複製到xhpdi文件夾。這將避免任何Android自動調整大小
  • 儘可能使用SharedPreferences而不是sqlite。

這是很長的答案。簡短的回答是,堅持android基礎知識,並保持簡單。

編輯:

動畫當您更改屏幕是Android的非常容易。例如,如果要在向後滾動活動時更改動畫,則需要使用overridePendingTransition(帶有2個參數),1用於當前屏幕的動畫,2用於新屏幕的動畫。因此,當前屏幕可能會從0 x移動到右邊100 x,並且新屏幕將從-100 x移動到0 x。使用相同的延遲給它一個拉力感。希望這回答這個問題。對於任何其他問題,請創建一個新問題。謝謝。

@Override 
public void onBackPressed() { 
    finish(); 
    //go back to the previous Activity 
    overridePendingTransition(R.anim.comming_in, R.anim.comming_out); 
} 
+0

感謝您的準確答案!我只是編輯我的問題,因爲我忘記提及我想在更換屏幕時顯示動畫。你提到的方式可能嗎? – ValentinH

+0

有點偏離主題,但如果您想在更換屏幕時看到一個很酷的動畫,請嘗試新聞共享或Flipboard應用程序。 –

+0

感謝您編輯動畫! :)可以肯定的是,當你說當前屏幕/新屏幕時,你的意思是活動嗎? – ValentinH

0

我會用片段,和屏幕之間滑動

看看Effective Navigation

+0

謝謝,我來看看;) – ValentinH

+0

我會推薦使用片段。請記住android的黃金法則。您的活動可以隨時銷燬並重新創建。確保你抓住所有這些情況。在活動中使用多個片段時還有更多需要處理的內容。 – doubleA