[Android] 計算機系列除以 0 問題已經修復

Android 計算機系列的 App ,除以 0 會導致當機的問題,已經全部修復。

受影響的版本

受影響的版本如下:
旅行計算機 – V1.8.5
匯率計算機 – V1.3.11
台灣匯率計算機 – V1.0.8

如果要確認自己使用的版本,可以利用選單 (menu) 的關於(about) 對話視窗,會有版本顯示。

解決方式

現在發生除以 0 的狀況,會直接擋掉。數值會維持為 0。

考慮過多種方式,還是用最簡單的方式來處理,避免再節外生枝。

修復的版本

修復的版本如下:
旅行計算機 – V1.8.6
匯率計算機 – V1.3.12
台灣匯率計算機 – V1.0.9

只要更新到這些版本,除以 0 的時候就不會再出現當機問題。

Travel Calculator 階段更新已經推進到 100%。所有的版本都可以更新到 V1.8.6 了。

其他的 App 都已經全面推出,所以只要有開啟自動更新的,應該都已經上到最新版本。

後續動作

Android 這邊會調整更新頻率,改為一年兩次,時間差不多就是暑假跟寒假,也就是七月跟一月。

不過已經不會做大幅度更動,秉持會動的工具就是好工具理念,有發現的小問題進行修復,外加使用 Google 最新的 SDK 進行編譯,然後推上去。

如果還有遇到類似這次更新 Google 端的問題,處理情況也會類似。就是快速找到問題,然後推出修復版本。

感謝還有在使用的大家支持。只要我還活著,這些 App 就會持續跟上 Google SDK 的更新腳步,讓匯率轉換這件事在旅行中不再是苦差事。

祝福大家出遊愉快,萬事順心。

[Android] 計算機系列新版本會遇到除以 0 的問題

現象

這一次更新,為了解決小數點的問題,引進了另外一組的解法。

這組解法可以用十進位來處理所有的計算,所以小數點就可以精準表達。

不過,先前除以 0 不會讓程式當掉的部分,就破功了。

所以計算機系列的 Android App ,只要按數字,然後按除號,再按 0,賓果,直接關掉。

預定做法

目前有找到發生問題的段落,已經修復。

就算要惡搞它,故意讓它除以 0,也不會當掉。只是顯示的部分還在想要怎麼處理。

因為呢,在數學上,除以 0 這件事會是無限大,或者它不是一個數字。

一般作法會顯示 NaN,意思是 “Not a Number”,不過那樣使用者可能會看不懂。現在是打算保留 0 的數值,不過這樣又會跟數學原意不同。

有一個可能的方式是顯示一條短訊息,跟使用者說除以 0 是不會有結果的,但這樣又要動到更多的程式碼,怕又會連動其他部分,這次更新可能就先不上。

預計上版時程

程式碼已經修改好了,不過最新版本上去,會再收集一兩天錯誤報告,看看有沒有其他的問題,一併解掉再推一版上去。

目前先暫定 2024/08/18 這一天會再推一版上去,所以在那之前,請大家高抬貴手,先不要亂用除以 0 玩旅行計算機,不然,它會直接當給你看,直接消失那種。

這真的是我的錯

所以要罵的就罵我。

該我自己揹的鍋,我不會躲的。

還請鞭小力一點就是。

[Android] 旅行計算機 V1.8.5 在 Android 14 上崩潰的問題已經修復

起因

因應 Google 最新的政策規定,所以需要更新一個版本。

程式其實沒有大幅度更動,只有拿最新版本的 Google Android 函式庫重新編譯一次,並且把版本號碼改掉。

But,人生最重要就是這個 But,Google 這次自己的 Library 出包了。

在一個不應該把我們的程式碼擋下來的地方,直接驅動一個意外發生,把正常程式碼給終結掉往下執行的可能。

這個問題只會在 Android 14 (Tiramisu) 以上的版本發生,Android 13 以下的版本不受影響。

解法

找到問題之後,就直接把該段程式碼槓掉。

如果要走正規解法,必須要把最低支援版本提升到 SDK Level 33,也就是 Android 13,這樣會有很多人的手機無法繼續使用,我自己的就是。

所以兩害相權取其輕,直接拿掉會產生這個問題的程式碼,對於整體功能不會產生影響。

新版本

修正過後的新版本已經上上去,版本名稱維持 V1.8.5 ,但是已經換成不會產生問題的版本。

所以如果有發生開起來直接當掉的狀況,請直接再更新一次,這問題就會解掉。

雖說 “又” 一次被 Google 所害,但還是自己 App 的問題,還是要跟大家說聲抱歉。(我怎麼說 “又” 呢)

小感言

其實以我自己的想法,一個穩定服務的 App,沒有必要進行大幅度更動,尤其是類似這種在外面旅遊需要持續使用的,一旦改出問題,都會是災難。

我向來服膺大同電鍋的信念,只要能煮飯,就是好電鍋。

不過我們偉大的 Google,好像不給我們開發者找點事情做就渾身不對勁,三不五時就會推出一些政策變動,然後我們支援的 API Level 也要跟著提升,不然就會擋掉之後的更新。

這樣就變成我們需要一段時間就更新一次,然後他們自家的軟體比較新的版本又沒有經過嚴格測試的話,就會出現類似這樣的問題。

使用者不會知道是誰的問題,就一律怪罪到 App 開發者身上。

我們就只能摸摸鼻子認了。

所以每一次的上版,其實那兩天都會睡不太好,生怕又會看到崩潰追蹤跳一堆錯誤出來,然後一查,又是 Google 的包。

感謝大家的體諒,新版本已經上去,預祝大家暑假旅遊愉快。