話說現在智能手機的計算能力嚴重過剩啊,不玩游戲、不打電話、不刷微信時,要充分利用手機的計算潛力為我所用。完全可以把一些臺式電腦上的計算任務移到手機上來運行。python就是一個很好的跨平臺的解決方案。今天談談安卓手機上python腳本的定時運行問題。
搜索一下,安卓平臺運行python程序可以有多種選擇。如果只是簡單上載運行python,SL4A(Scripting Layer for Android)+Py4A(Python for Android)應該是不錯的選擇,如果要交互開放則可以考慮qpython,它集成了一個良好的編輯器,以及常用的python庫,更重要的是作者是國人,有啥問題方便咨詢、交流。
但是要實現python程序的定時運行,還需要兩個工具TaskBomb task scheduler和SL4A Script Launcher。這都可以從google市場下載到。其中TaskBomb是一個執行計劃任務的app,功能有點類似于linux中的crontab。TaskBomb支持通過SL4A Script Launcher來運行各種腳本程序包括python。
編輯和上傳python程序到手機有很多種選擇,比如豌豆莢、百度云、手機QQ等都支持文件傳輸。下面重點介紹一下TaskBomb的用法。這個工具國人用的較少,所以中文文檔也不多見。英語好的朋友可以直接去官網http://androidideas.org/taskbomb/help/看介紹,或者上優酷看視頻演示。
1.添加一個Task,先給Task取個名字,比如Sign。如果是運行Python腳本,Action type選VIEW(open a file or url with an app).Data就選你剛才上載的py腳本文件,其他選項默認就好了。
2.添加一個Schedule,取一個與Task對應的名字方便記憶。然后增加一項Items,Action就選剛剛添加的Task,設置好Start Time啟動時間和Stop Time結束時間,還可以設置Repeat interval每隔多久重復運行。
3.添加一個Alarm,Action就選剛創建的Schedule,設好Start Time,Days選項是按天周期運行指定的計劃任務。比如工作日運行,可以勾選周一到周五。
我理解TaskTomb中的Schedule相當于一天內的定時作業計劃,Alarm相當于以一周為周期的計劃任務。所以TaskTomb可以支持豐富的周期性計劃任務,這一點還是要比crontab強。