是的,這算是個全新的開始,iOS Swift的領域還沒鑽研很深又因為工作因素要打開新副本了。接下來我準備開始學習Kotlin,以便在工作時能夠運用這個語言,其實自己也是打算朝雙平台來學習,所以就開始來透過Kotlin來學習Android的開發吧。

這篇則要簡單實踐兩個Activity的跳轉,Activity某個概念有點像是UIKit的ViewController,透過Activity來對元件進行綁定與使用。而UIKit透過StoryBoard和IBOutlet拉線來綁定元件,Android則透過activity_main.xml和viewBinding來進行元件的設計與程式碼的結合。

--

--

上一篇完成了Coredata與SwiftUI的結合運用,對於side project有了近一步的方向。

這篇則要來探討最近工作上遇到的一個問題,就是UITextField在設定Secure Text Entry時若點擊其他地方再點回TextField就會完全刪除TextField內的字,對於需求上可能不是完全如此還是能夠在暗碼時能夠執行密碼的修改而不是完全重key,問了前輩給予了UITextFieldDelegate這個方向來搜尋,找到了shouldChangeCharactersIn這個方法

透過上述方法可以在UITextField改變時進行判斷。下面就針對六個使用者可能會在UITextField 編輯方式進行處理。

這樣就能解決使用者在密碼看不到時能可以編輯密碼而不會直接刪除重新輸入的問題。持續加油!!

--

--

上一篇透過Drop跟Drag的方式拖曳來移動陣列內的值並重新顯示UI。

這篇則要研究side project的下一個功能,透過SwiftUI來實作甜甜圈圓環圖。其實有許多的第三方套件都能夠協助完成這個任務,但想透過原本的方法來實作。話不多說就直接來看程式碼吧

Model:

ViewModel:

View:

DonutSliceView

ContentView

實作結果:

透過上述的程式碼簡單的完成甜甜圈圓環圖的功能,也可以透過點選甜甜圈圖看到單一項目所佔的比例。持續加油!!

--

--

上一篇分享了第四個上架的side project 尋鹿台灣的APP,希望大家可以找露營地時能省下更多時間。而我也要慢慢的新增營地的資訊。

這篇則要開始邁向下一個side project,腦袋大概有基礎的構想,接著就是逐步先練習在side project上想實現的功能,最後再整合在side project內。

首先要練習的是嘗試拖移元件並改變元件的位置,與其他的元件互換位置。

假設原始的元件如下

元件1 元件2 元件3
元件4 元件5 元件6

透過拖移改變位置成為下面的排序

元件6 元件2 元件1
元件3 元件4 元件5

大致上透過SwiftUI內的.drag與.drop來協助完成這項功能,另外則另外增加新增元件與刪除的功能,下面的練習則會使用新增顏色的方式來嘗試完成這個實作。直接來看程式碼吧。

Model

新建一個Struct來實作自定義的顏色與顏色描述。為了要能使Foreach使用,須遵從Identifiable

ViewModel

建立初始的顏色陣列資料、儲存使用者選定拖曳的顏色、新增與刪除顏色的Function皆放於此。

DropDelegate

在使用.drop時需實做一個Delegate來完成拖曳後的動作,在這裡進行陣列位置的替換。

View

ColorView:顯示在Foreach內使用,顯示顏色描述與該顏色跟一個刪除該顏色的按鈕。

AddColorView:使用者新增顏色使用的View,透過三個Slider新增該顏色、TextField輸入該顏色的描述。

--

--

上一篇透過Python練習開啟指定網址輸入搜尋資訊,減少了許多重複的資料搜尋工作並建立自己side project的資料庫。

而這篇則要跟大家分享已經上架的作品,這是我自己上架的第四個做品 (開發者保護費繳滿就好好利用XD)。

開發緣由:

記得是從2017年開始露營,那時候台灣還沒有這麼瘋露營這件事,畢竟裝備營地等等的資訊以及準備都會讓一般人卻步,然而疫情開始封鎖出國的方向,台灣人無處可去只好重新聚焦在本土的活動當中,這兩年可以看到露營這件事情成為了顯學,更有許多免裝備的營地誕生,而露營這件事情就分層更多的層次與定義,我自己則偏好自己搭好帳棚然後悠哉地度過一天後隔天再收好帳篷回家,露營總是要搭建些什麼才有露營的感覺,截至目前已經累積了14露的經驗。

而約六月初朋友相約露營,才得知在尋找露營地的時候耗費大量的時間,原因在於台灣現有的露營地的訂位在兩大露營地平台上,更有露營地是自架營地網站接受訂位,亦有營地是靠著電話才能訂位,加上我們又有營位、海拔等考量,所以在聚焦「集合」這個過程中耗費我朋友不少時間。這引發了我一個想法,如果有一個App可以快速依照自己的條件篩選出自己想要的營地是否能夠幫助我們省下更多在尋找營地的時間?這也就催生了尋露APP的誕生。這個APP主要聚焦在一般的營位上,也就是需要自搭帳篷的營地,目前的豪華露營及網美露營應該會是收錄比較少的資訊在裡面。

開發內容與使用套件

主要使用SwiftUI當作開發的框架,搭配MVVM架構。

資料庫使用Google Driver的Sheets 建立營地資訊的資料庫後透過App Script 將資料庫資料轉成JSON

Sliders 製作有範圍的Sliders

Admob 建立Banner 廣告

--

--

是的沒有看錯這是一篇關於Python的練習,主要的原因是因為side project已經完成的差不多準備送審,但是side project的資料需要自己手動建立,所以就需要仰賴Python的協助。簡單來說也算是一種爬蟲的練習,但我不用將資料存取下來,因為特殊的關係只要自己能看到就好,所以這篇將練習透過Python與selenium開啟台灣三大電信商的網頁並輸入指定的地點進行搜尋並確認通訊覆蓋率。

安裝Chrome與ChromeDriver與selenium

網路上有提到其實也可以透過Safari來完成,但基於方便性所以我先使用Chrome來爬,雖然我平常還是使用Safari比較多。

若是Chrome安裝好,先檢查Chrome的版本,點擊右上角的三個點點>設定>關於Chrome即可看到目前安裝的Chrome版本。

--

--

上一篇完成了透過中央氣象局的API資料實作出單一鄉鎮市區的天氣預報資料與天氣預報圖示的顯示。使side project又多一項小功能。

而這篇則要來看看一個閃退的問題,原本自己的side project最初的版本已經送審完成但是因為需要後續微調處理所以再次送審,原本認為應該沒有太大的問題但蘋果官方送回覆了一個閃退的情況發生。

在15.7的iPad點擊我的分享的按鈕會引發閃退,但剛好自己手上的iPad沒有升到15.7,但先在一樣的地方嘗試點擊,果然會引發閃退,因為這個功能在iPhone測試沒有問題,但iPad時忘記測試所以就被退了。所以要來研究iPhone可以執行的功能為何iPad會引發閃退,讓我們看看程式碼。

嘗試在iPhone 與 iPad運行看看

--

--