標籤:android android-studio eclipse 遷移
前言:
Google正在逐漸停止對 Eclipse 的開發,現在Android Studio 正逐漸成為Android 開發的首選,雖然會有一些痛苦,但當大家都熟悉使用 Android Studio 的時候,就會覺得 Google 變換 Android 開發 IDE 的決定是正確的,Android Studio 確實給了 Android 開發人員更好的體驗和開發環境。 下面我來談一下自己在從 Eclipse 遷移到 Android Studio 時所遇到的問題。大家可能已經看過很多有關在 Android Studio 中可能出現問題的總結,不過,我這篇文章主要還是寫的有關項目原有代碼從 Eclipse 遷移到 Android Studio 時會遇到的問題,並沒有和 Android Studio 的配置有太大關係。
異常:
匿名內部類調用外部類變數需要聲明為final
這是我將 Eclipse 項目遷移到 Android Studio 並使用 Gradle 構建時遇到的第一個問題(在使用Gradle構建之前我已經將代碼遷移到了Android Studio 上面,只不過使用的是原來 Eclipse 的結構),異常如所示:
出現這個問題主要是因為我的項目中用到了太多的回調,同時,這些回調在實現的時候會有產生介面Dialog元素,Dialog中的點擊事件需要再次使用回調中的參數,按理說,這種情況確實是匿名內部類調用到了外部類變數,但是以前在 Android Studio(Eclipse結構的時候) 或者 Eclipse 時候,並沒有出現什麼異常,在我換成 Gradle 構建的時候就一下子爆發了,所以我只能將項目中的所有這個異常一一修複掉,給變數加上 final 修飾符。
自訂或第三方控制項聲明
我們在寫布局 layout 檔案的時候,都有一個預設的name space(命名空間),即:xmlns:android=”http://schemas.android.com/apk/res/android”,但是當我們使用第三方或者自訂控制項的時候,就需要自己給它們添加一個額外的命名控制項,通常固定格式是:xmlns:app=”http://schemas.android.com/apk/res/packagename”,其中 packagename 部分為你項目的包名,app 則可以自己自訂一個欄位即可。這以上只是在 Eclipse 上的命名空間寫法,在 Android Studio 上為第三方和自訂控制項寫命名空間就比較容易了,直接統一寫為 xmlns:app=”http://schemas.android.com/apk/auto-res” 即可,無需帶上麻煩的包名,當然,如果你在 Android Studio並且使用 Gradle 構建的時候,不這樣寫也無法通過編譯。
編譯時間.9圖產生的異常
最近我在編譯項目的時候出現了以下異常:
Error:Can‘t have more than one marked region along edge.
出現這個異常是因為我在 .9 圖的右側畫了兩條線,由於 .9 圖的上邊界和左邊界的劃線是負責展開擴充的,而下邊界和右邊界劃線則是內容地區,所以 .9 圖不允許右側和下邊界有兩條劃線,而左邊界和上邊界則沒有問題。
參考連結:
http://stackoverflow.com/questions/27448559/android-studio-1-0-compile-error-cant-have-more-than-one-marked-region-along
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
從Eclipse遷移代碼到Android Studio可能出現的異常