雙薪家庭的模式(爸媽都有工作在身,少了陪伴孩子的時光)
許多職業父母 由於都有各自工作生活而使小朋友
無人講故事給他們聽
為了滿足小朋友小時候能夠聽故事的願望
並且讓小朋友能夠藉由語音聆聽故事內容
啟發小朋友自動自發 「以聽代讀」學習
有多數家裡是給爺爺奶奶帶大的
會有「隔代教養的問題」 ,
有可能有些老一輩長者(爺爺奶奶、外公外婆)
不識字的問題
小朋友可能在兒時就少了人可以講故事給他們聽
此外
在開車路上,小朋友可以藉由我們這款 App 聆聽故事打發時間
這款語音聆聽說書 應用程式
可以不用長時間用眼睛閱讀 降低眼睛負荷
克服在車上容易暈眩等問題(小時候切身經歷)
原型設計
Created with "Balsamiq Mockups 3"
先存故事語音檔到 類似 dropbox或其他雲端平台
在從應用程式中呼叫特定套件或程式
來調用存在雲端的指定目錄下故事語音檔案
故事語音檔案資料來源:
有伴網:
http://www.youban.com/mp3/
前期 心智圖
http://www.xmind.net/m/TS5f
使用到的iOS元件
´UITextField
´UIButton
´UILabel
´UIActivityIndicatorView --> Loading效果
´UIImageView
´UIView
´UIAlertController
´UIAlertAction
´UIPickerView --->國家
´UISegmentedControl --->性別
目前功能:
1.實踐出註冊登入 (唯一Email驗證機制) 及 密碼密文輸入
2.實踐出跳頁切換
(UIViewController 到 UIViewController)
(UIViewController 到 UITabBarController)
3.實踐出Firebase雲端空間更新帳戶資料
(DB 建立)
(DB 連結)
最終結果及目前介面
第一階段.
完成六個頁面的
兩個時期的跳換
第一時期 : 註冊/登入
第二十期 : TabBarController 部分
遭遇並克服之問題
´Firebase環境架設遇到長時間設定問題,無法順利架設好pod 及 安裝Firebase
參考link:RPC failed; curl 56 SSLRead() return error -9806 MiB/s
參考link:RPC failed; curl 56 SSLRead() return error -9806 MiB/s
´頁面跳轉(從UIViewCOntroller 至 UITabBarController)
´註冊/登入的Email唯一機制驗證
´Loading圖示無法放大
Firebase 問題排除過程
http://coolmandiary.blogspot.tw/2017/05/xcodecocoapods-cocoacacao.html
學到的技巧
´技巧1. Closure 語法蜜糖 / trailing
closure syntax
Closure可以想做就是 「沒有名字的函數」
長相 : (參數) -> 回傳型態
是一種Closure特別寫法 又有人稱之為Swift Closure 的 Syntax Suger
會尾隨在最後一個參數位置
常被拿來做功能擴充 比方 第一個動畫結束後過多久再執行下一個指令功能
Closure可以想做就是 「沒有名字的函數」
長相 : (參數) -> 回傳型態
是一種Closure特別寫法 又有人稱之為Swift Closure 的 Syntax Suger
會尾隨在最後一個參數位置
常被拿來做功能擴充 比方 第一個動畫結束後過多久再執行下一個指令功能
´技巧2. Timer 過多久再執行
//設定Timer過多少秒後
會根據selector這個class下方中的goToSecondView函數
Timer.scheduledTimer(timeInterval: 5,
target: self,
selector: #selector(self.goToSecondView),
userInfo: nil,
repeats: false)
//設定Timer過多少秒後
會根據selector這個class下方中的goToSecondView函數
Timer.scheduledTimer(timeInterval: 5,
target: self,
selector: #selector(self.goToSecondView),
userInfo: nil,
repeats: false)
´技巧3.彈性跳頁寫法 (使用 StoryBoard ID)
func goToSecondView(){
//test1.會出現黑畫面
//self.present(vc2,animated:true , completion:nil)
//test2.
//refer link:https://stackoverflow.com/…/240…/swift-presentviewcontroller
let vc = self.storyboard?.instantiateViewController(withIdentifier: "info2") as! SecondViewController
self.present(vc,animated:true , completion:nil)
}
func goToSecondView(){
//test1.會出現黑畫面
//self.present(vc2,animated:true , completion:nil)
//test2.
//refer link:https://stackoverflow.com/…/240…/swift-presentviewcontroller
let vc = self.storyboard?.instantiateViewController(withIdentifier: "info2") as! SecondViewController
self.present(vc,animated:true , completion:nil)
}
´技巧4.Firebase註冊 Email唯一驗證機制
´技巧5. 密碼的密文輸入模式設定
´技巧6.元件隱藏之傳值暫存
先將Label元件拉至介面 做字串傳接的暫存
isHidden屬性 設置為true
先將Label元件拉至介面 做字串傳接的暫存
isHidden屬性 設置為true
//ref link: https://www.appcoda.com/firebase-login-signup/
未來展望 :
完成第二時期的介面故事選單 可添加父母 / 祖父母 錄音的附加功能 (老師的建議)









沒有留言:
張貼留言