從Eclipse遷移代碼到Android Studio可能出現的異常

來源:互聯網
上載者:User

標籤: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可能出現的異常

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.