2017年1月22日 星期日

Xamarin.Forms 使用 HttpClient遇上 NameResolutionFailure錯誤

參考文件:NameResolutionFailure when using HttpClient after network connection is restored

這種情況會出現在手機斷網後又重新連上網路就會出現這樣的情況,解決方式就是在 *.Droid和 *.iOS的專案上相對應的檔案加上  ServicePointManager.DnsRefreshTimeout = 0;

2017年1月5日 星期四

Xamarin.Forms 遇到 java.lang.ClassNotFoundException: Didn't find class "android.support.graphics.drawable.VectorDrawableCompat"

參考文章:Didn't find class "android.support.graphics.drawable.VectorDrawableCompat"


目前又是開發企業分機和 MVPN查詢,只不過是換了 APP方式,我決定採用 Xamarin.Form作為我第一支 APP開發。查詢程式不難,原本在 Android 6.0模擬器上可以正常執行,很天真的以為可以直接在手機上跑了,就把程式直接放到我的手機上安裝,我的 Android版本為 5.1,開啟後一直閃退,一直閃退。隔天又拿了一支 Android 4.4的手機過來測,沒想到居然可以成功開啟並執行。 也不知道怎麼找原因,後來發現有 log可以看,最後才找到上面的錯誤字串。也花了很久才找到這篇文章,作法如下:

1. 打開專案 *.Droid 的 Nuget
2. 把 Xamarin.Forms給移除
3. 把 Xamarin.Android.Support開頭的 Library也給刪除
4. 重新安裝 Xamarin.Forms (可能會發現多個幾個 Libs是開啟在建立專案時沒有的)
5. 保險起見,把整個 VS關掉,再重新開啟後打開專案並作 clean & rebuild

完成後應該就可以解決這個問題了。