4/28/2017

ios_語音聽故事書應用程式_iListening

傳統的男主外女主內時代已經逐漸衍生為

雙薪家庭的模式(爸媽都有工作在身,少了陪伴孩子的時光)

許多職業父母 由於都有各自工作生活而使小朋友

無人講故事給他們聽

為了滿足小朋友小時候能夠聽故事的願望

並且讓小朋友能夠藉由語音聆聽故事內容

啟發小朋友自動自發  「以聽代讀」學習

有多數家裡是給爺爺奶奶帶大的

會有隔代教養的問題」  , 

有可能有些老一輩長者(爺爺奶奶、外公外婆)

不識字的問題

小朋友可能在兒時就少了人可以講故事給他們聽

此外

在開車路上,小朋友可以藉由我們這款 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
´面跳轉(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
會尾隨在最後一個參數位置
常被拿來做功能
擴充      比方 第一個動畫結束後過多久再執行下一個指令功能



´技巧2. Timer 過多久再執行
//設定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)
}

´技巧4.Firebase註冊 Email唯一驗證機制
´技巧5. 密碼的密文輸入模式設定
´技巧6.元件隱藏之傳值暫存
先將
Label元件拉至介面 做字串傳接的暫存
isHidden屬性 設置為true



//ref link: https://www.appcoda.com/firebase-login-signup/





未來展望 : 
完成第二時期的介面故事選單 可添加父母 / 祖父母  錄音的附加功能 (老師的建議)












沒有留言:

張貼留言