2021年5月19日 星期三

外行人寫手機小程式 Part.8 - 學校工作用

前言,其實公務機關電子化,都是玩假的,老人不會用、無紙本無核章沒簽收不能算數,這才是不變的本質
其實這樣也好,都不用紙本可以省多少工作,省工作就不用請多的人手,所以法條規矩只會越來越多,不然失業的人會越來越多w

距離上篇大概兩、三年沒碰App Inventor,不過再開起來,好像也沒有新加入什麼功能
除了好像可以寫iOS版APP (2021 beta)以外,倒是外掛好像出現了些不錯用的東西,只不過得要花錢買的樣子
其實大部分單位的東西(user在千人左右)用這寫出來的APP就很夠用了

備註:iOS的部分只是透過AI2 Companion iOS版連線後運行,跟在線模擬一樣,並不是能編寫.ipa或是將.apk安裝在唉瘋上





這次寫了兩個,一個是校內競賽用抽籤,這個算是比較落伍的,應該要含從報名到計分整套
不過呢先是報名,報名就需要導師與該科教師的簽名,所以還是紙本發送報名表
到計分,別說用計分程式,就連比賽時評審老師用紙本計分都快記不出來,找別人麻煩就等於是找自己麻煩 (無誤

所以就只做抽籤的部分,每次抽籤還是要做一堆簽條,然後簽條抽完寫完,還是要自己在PC文書KEY上去
APP抽籤只要把名單匯入,抽完就是電子檔了,但是!怕有學生抽到自己不想要的抵賴,結果還是要紙本簽名
只省下了做紙籤的勞力活...雖然同樣是高一,但是這個學校比較特別,學生分成兩類
分類 Bottom點下去以 Listview列出名單,然後點選名單進入抽選畫面
這裡發現有個問題,不是說手機畫面大小影響到畫面文字太大或太小這種最基本的小問題
而是 Listview元件,目前(2021)在安桌版本4.x以下預設大小只顯示3行,但是5.x以上的話是填滿的選項有效
所以變成在模擬器上寫出來都正常,但是到我那2015的小米平板1上面就只剩3行,以後這類的問題應該會越來越多吧



抽號這邊在截圖上沒能顯示,做了簡單的數字跳動的動畫效果,以及完成時的隨機底色跟音效(套用 MarioKart的道具+金幣音效 XD)
這些音效特效給同學來抽籤的反應相當不錯,跟原先紙籤比較起來緊張感十足 XD
這邊用到十年前寫21點的洗牌演算法,只不過在這邊重寫的程式碼比原先俐落很多,就連號碼暫存的 Array也不用



抽題目的部分是統一成3抽1,最後完成就是如右上圖的紀錄,實際上是csv,一樣可以直接匯入excel
這裡的抽選並不是用真的亂數,因為假設15名參賽,理想狀態是每題5人,但真實亂數的話很可能會出現1=4、2=4、3=7的情況
所以這裡是使用"假的"亂數,只要參賽總人數 "不是9的倍數" ,就可以確保3題可以平均分配人數
但就算每次洗掉重抽,出來的結果也不會一樣,也就是說看起來像是亂數但實際上完全不是 XDDD
所以這種電腦程式抽的不管是課金還是樂透我都不信,要作弊真的方法太多



第2個APP是段考監考查詢程式,資料檔是放在Google Drive上,算是我第一個需網路使用的APP吧w
內容也很簡單,輸入欄輸入想要查的班級/時間/科目/監考老師,按下查詢等個3秒就會跳出來
因為資料格式是最簡單的csv,所以3秒的「資料讀取中。。。」這個只是效果,只要網路有通1秒就完成



其實很簡單就只是文字查詢的功能,只要單項裡有包含查詢的內容就 pick up出來而已
沒辦法做到像班級[空格]科目,這類的花式查詢,不過應該是很夠用了...
為什麼說是"應該"?那就是因為實際上最後還是沒有使用這個APP
我自己的理由是去年在寫這個APP的時候,AI2還不能寫iOS版應用,那要是有老師用唉瘋那就不能用
其次的理由是不能放上Google Play,因為這完全就是校內專用,那麼說擺校網給老師自己抓
一定會有像是抓了不知道擺在哪,找不到不會安裝、安裝不起來這種找我自己麻煩的問題

但最後也是最重要的理由是,長官認為他的方案,把原先的紙本監考表轉成PDF然後扔在校網就好,根本沒必要用APP
這樣也是好啦,別說APP能夠省我多少工,反正監考表也不是我做的,不用APP我還少一個扔上Google Drive的工作
再說以前的做法是,除了各處室發紙本,每個監考老師也一人一張紙本,每次都要印個百多張A3
改成校網放PDF已經省很多A3了,說到這樣我也不好意思搶長官的功勞了 (笑