1. 程式人生 > >開源專案sweet-alert-dialog匯入和錯誤總結

開源專案sweet-alert-dialog匯入和錯誤總結

我使用的是Android Studio,常見的匯入第三方庫有匯入*.jar包和匯入java類庫(含原始碼)。

1.匯入*.jar包,這個很簡單,就直接將jar包copy到librar裡面,然後使用

2.使用今天由於要使用sweet-alert-dialog專案,是一個java類庫,用這個來大致的說明這種java類庫的匯入方式

具體方式如下:

一、首先直接將下載文件裡面的library檔案複製到自己app專案的同級目錄中,這樣就可以在你的project中看到這個類庫

二、在你的app專案下面的build.gradle檔案中新增

repositories {
    mavenCentral()
}

dependencies {
    compile 'cn.pedant.sweetalert:library:1.3'
}
三、接來下就會有一個問題

c29e5a530cb585a5.jpg (849×242)

大致意識是:

  1. 主程式module清單檔案中,application節點的android:icon屬性引用了@mipmap/ic_launcher圖片資源,
  2. 而依賴module的清單檔案中,同樣的android:icon屬性卻引用了@drawable/ic_launcher這個圖片資源,
兩個屬性值產生衝突,導致合併清單檔案失敗。

解決辦法就是:

1.新增 

2.新增

大家應該知道這個兩個檔案新增在什麼地方。

四、就是使用的時候出現一個問題

由於是dialog,所以在網上常見的一個問題就是,建立一個dialog的時候,傳入的是一個context,很多人用getActivityContext()

,這樣就會出現android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application

問題,dialog要依賴在activity當中,所以如果在一個activity裡面使用的話,直接使用xxxActivity.this或者直接使用this來傳入context,這樣問題就可以解決了。

但是今天我是在一個fragment裡面進行顯示dialog的,直接使用getActivity().getActivityContext()也會出現上述錯誤,我使用了fragment所在activity的xxxActivity.this的時候,就出現了xxxActivity不是一個封閉類。

當我把引數直接設定為getActivity()就可以正常運行了,即new SweetAlterDialog(getActivity())

上面就是一些關於這個專案的一些問題,我想對大家應該有一些幫助的,歡迎糾正,謝謝支援