因為只是一個很簡單的程式,所以不想為了它去深入研究 SQLite ,所以後來同事選擇使用 SharedPreferences 來記錄程式設定,但是要被監控的主機不只一台,但是能記錄的資料卻沒有陣列可以使用,所以討論後決定使用字串切割的方式來儲存資料。
一開始測試還算順利,String 有提供 split 函數,可以把字串變成陣列。用來呈現主機的 IP 位置到一個事先準備好的 ListView 中。不過當程式離開、關閉的時候,要怎麼把字串拼回去,這就讓我們犯難了,因為 Array 並沒有提一個叫作 join 的函數,這是在 PHP 或 FLEX 已經習慣使用的東西。
其實並不是真的無法解決,我和同事都很清楚這其實是一個迴圈就可以解決的問題,不能接受的是 Android 和其基底 Java 都是滿有名東東,怎麼會沒有這麼基本的函數勒~~
查了網路上資料,發現 Java 有一個叫作 StringUtils 的類別,裡面就包含了 join 函數,可以把字串拼起來。很高興地請同事去試試,卻只得到「沒有這個類別」的錯誤訊息。再上網查查,也發現有人建議寫自己函數處理,但是自己就是不樂意這麼作,撰碼員作了幾年了,還去寫這種函數覺得很鳥。
也許上天感受到我的怨念,不久就找到有個叫作 TextUtils 的類別,裡面也有一個 join 的函數。
「join(CharSequence delimiter, Object[] tokens)」
第一個參數是合併時用來分隔字元,後面則是放一個陣列,猜想每個元素會先被執行過 toString 函數後再合併吧!總之, Android 雖然沒有用 Java 原生的 String.join 函數,但還是提供了類似的 TextUtils 類別。不過很顯然知道的人並不是很多,還是有人自己生自己的函數來處理。
沒有留言:
張貼留言