2011-03-28 42 views
1

我希望允許用戶通過從運行時的現有字段集合中進行選擇來動態創建「自定義屏幕」,即應在手機上的應用程序上完成所有操作。在Android上動態創建屏幕和底層數據訪問層

例如 - 現有的一組字段= {name, location, picture, age}

用戶A想要創建一個新的屏幕,其中包含字段名稱,位置和年齡。

和用戶B想要一個只有名字和圖片的屏幕。

這些屏幕應該是持久的,應該能夠保存,查詢和編輯手機本地數據庫中的信息。

有關如何在Android中實現此目的的任何幫助將不勝感激。

謝謝。

回答

0

您將希望在Java中動態創建這些視圖(不使用佈局)。我會將某種XML模式放在一起,然後將其保存在數據庫或設備上。那麼你可以做的事情如:

//pseudo-code 
while (xmlDoc isn't empty) { 
View v = null; 
if (XML says to create a text view) { 
    v = new TextView(this); 
    ... 
} 
else if (XML says to create an ImageView) { 
    v = new ImageView(this); 
    ... 
} 
add v to the LinearLayout or whatever type of root view will be passed to setContentView(). 
+0

這是一個合理的方法。但是,我仍然不清楚將這些視圖附加到數據庫表的最佳方式,以便用戶在下次使用他們的應用程序時可以爲其自定義創建的屏幕返回數據。 – 2011-03-28 19:49:41

+0

您可以將整個XML存儲在數據庫xml列中並檢索它?一旦你想出一個XML模式,應該是正確的? – 2011-03-28 20:13:12

+0

是的,我可以將XML存儲在數據庫(或文件系統)中。但是,我仍然需要一些代碼來訪問將在這些屏幕上顯示的實際數據。在我上面的示例中,我需要一個數據訪問層來訪問名稱,位置,圖片,年齡等。 – 2011-03-29 14:26:46

0

創建一個PreferenceScreen並添加一些布爾首選項與您的字段的名稱。因此,每個用戶都可以配置在數據活動中顯示哪些字段。