❶ 手機如何編程
既然是簡單編程,那麼肯定就不是用android Studio大動干戈寫工程文件做APP了,所以我們這里涉及到的是腳本語言Python。簡單編程也只是用腳本語言在解釋器里運行而已。而這,已經實現了程序正確運行的目的。
話說有一段時間,想買個表,這樣可以看時間,但又一想,何不弄個自動整點報時的軟體,於是在安卓手機上打開應用市場,找整點報時的APP,順利下載了一個安裝包小的APP,簡單設置好時間後,默認後台運行,就可以了。
不過往往一段時間後,它會自動啞火。開啟前一段時間好用,很准時很正常,但後來就沒聲響了。於是覺得不合適,又想別的辦法,突然想到,何不編程寫個整點報時的軟體呢?於是想到腳本語言,為什麼想到Python,因為它簡單啊。但Python並不直接支持安卓手機,所以我們需要下載安裝一個APP解釋器。這個就是一人客在很早以前就介紹過的安卓的Python解釋器QPython了。這里是3版本的。
這個解釋器,也集成了大多數的安卓手機應用開發的介面。我們要實現的也很簡單,就是通過不斷的時間檢測來決定是否用語音報時。當然核心是這個意思,但具體的代碼就有一點點繁瑣了。Python要用安卓手機的應用開發介面,就要用到androidhelper模塊。而要用語音播報,那就要用droid.ttsSpeak(「這里就是你想要播報的字元串」)。而我們要正確地檢測時間和播報時間,那不可避免要用time模塊。而time模塊出來的時間,不適合我們口語使用習慣,是需要根據年月日時等參數來用time.strftime轉換的。
這里還有一個問題,就是語音播報的方式,比如23點11分鍾,我們往往是這樣表達:二十三點十一分鍾。而用手機系統的語音播報則是這樣:二三點一一分鍾,所以這個也要注意,這里就要寫一個轉換函數了,也就是把數字正確地轉變成漢字表達。
這個把數字轉變成漢字的轉換函數,大家可以自己寫,也可以從網上找。而具體的實現代碼,則很簡單,這里是個人用的,每一分鍾播報一次,每到半點或整點,繼續播報,同時省略了轉換函數_to_chinese4而直接寫了實現代碼,所以這里的代碼僅供大家參考:
droid = androidhelper.Android()
xh=1 '''循環判斷'''
while xh:
droid.ttsSpeak("現在是:"+"")
if (int(time.strftime("%M"))==30) or (int(time.strftime("%M"))==31):
droid.ttsSpeak("一人客,現在時間是:"+_to_chinese4(int(time.strftime("%H")))+"點半")
droid.ttsSpeak("一人客,現在時間是:"+_to_chinese4(int(time.strftime("%H")))+"點半")
else if (int(time.strftime("%M"))==00) or (int(time.strftime("%M"))==01):
droid.ttsSpeak("一人客,一人客,現在時間是:"+_to_chinese4(int(time.strftime("%H")))+"點鍾啦")
droid.ttsSpeak("一人客,一人客,現在時間是:"+_to_chinese4(int(time.strftime("%H")))+"點鍾啦")
time.sleep(59)