2012-04-08 173 views
1

Android平臺示例代碼和來自Android開發人員網站的參考是基於平臺1.5的。我瞭解到,較新的平臺可以支持在較早的平臺上開發的應用程序,但相互不適用,這有意義但編碼不同?用於開發1.5應用程序的代碼在新平臺中仍然有用,或者有更新的類和方法替代它們?看起來eclipse在樣本中與類和方法相關的編碼錯誤很多,如果IME開發的應用程序無法在模擬器上查看,或者如何在設備上進行測試或檢索?任何建議是歡迎...對不起,這是很長的平臺兼容性問題

回答

0

如果你看SDK文件夾,在Windows上它將是c:\<SDK location>\samples\android-x樣本根據api水平定位,所以他們肯定會在那裏兼容,所以我會看看這些。

要回答你的其他問題,是的,當你進入一個api級別時,會出現api變化,所以它們會導致警告或編譯錯誤,甚至可能會完全刪除一些類。一般來說,低層次的東西不應該改變太多,但最重要的是除非原始實現中存在設計缺陷,否則語義學很少改變。

每個版本的發行說明通常會指出發生了什麼變化,並且在我看來,聯機文檔通常非常好,可以告知您什麼是過時的。如果你只是針對舊設備,那麼你的模擬器只設置爲針對這些API級別,但如果你關心功能,那麼你可以使用API​​ 1.5編碼說,並運行ICS api level 15模擬器,並檢查一切正常,如果不行那麼你決定最好的策略應該是什麼。一般來說,我會建議針對移動設備的Android 2.2及更高版本和平板電腦的3.0以上,但實際上取決於您。

+0

我做了,它給類錯誤,例如這個類沒有實例化,甚至一些字符串沒有顯示適當的單詞,而是它給@string/....當我檢查字符串XML的一切很好...這些錯誤混淆我假設樣本將是正確的學習和構建... – 2012-04-08 22:53:55

+0

聽起來很奇怪,我會從Eclipse中刪除項目(但不是當然刪除源代碼),重新啓動Eclipse,加載項目再次,做一個完整的重建,並看到它現在好 – EdChum 2012-04-08 22:57:38

+0

我做了,你是正確的一切看起來不錯,現在也在你的專業意見我知道樣品是作爲你是否會說技術上他們是正確的,開發者的調整是偏好而非必要的?我想知道樣品的功能,他們只是圖形修改 – 2012-04-08 23:32:49

0

三是不贊成,不能再使用的類,如Contacts.People。還有一些不推薦使用的類,它們仍然可以使用,但應該在新項目中避免它們。還有一些以前沒有的新類。在一些像Fragment這樣的情況下,兼容性支持庫可以在舊平臺上使用新功能,但對於舊版平臺不支持的PreferenceFragment類等類型的情況並非如此。

+0

這使得很多的意義,我猜這就是錯誤代碼來自....我在2.1建設,但th樣本從1.5,並不反映更新或過時的類/方法....這是隻是我的假設... – 2012-04-08 22:57:15