MIT App Inventor是一款圖形化的APP開發(fā)環(huán)境,用戶能夠以拖曳積木的形式開發(fā)Android平臺的應用程序。本書以App Inventor 2.0為開發(fā)平臺,結合大量的具體案例,如音樂搖搖樂、GPS計步器等,深入淺出地介紹了App的開發(fā)過程和App Inventor的編程功能,并且逐步講解第三方API應用接口調用,App和Arduino硬件、Web服務結合等高級應用。
本書適合中學生和學有余力的小學高年級學生,同時也適用于零基礎的大學生、成年初學者。只要對安卓App開發(fā)感興趣,或者對創(chuàng)客感興趣,本書將是一本不可多得的創(chuàng)客秘籍。
說起App Inventor在我國的發(fā)展,老巫婆(金從軍老師)是一個無法繞開的名字。她和她的丈夫張路*早將App Inventor 2漢化,并推出離線版,為App Inventor的國內推廣,做了很多重要的工作。我和我的兒子謝集自學App Inventor 2,全靠她翻譯的幫助文件。有趣的是,我在2014年才從老巫婆的博客上發(fā)現(xiàn)一個細節(jié): 2013年上海創(chuàng)客嘉年華活動中,我和吳俊杰等教師在創(chuàng)客論壇上演講,呼吁創(chuàng)客們關注中小學教育,坐在*排拿著攝像機的就是她和張路老師。后來她告訴我,那天聽了我們的演講后,他們就下決心要為兒童編程做點事,回到北京就開始做App Inventor 2漢化、翻譯工作。
序言
算起來,我應該是App Inventor的國內早期用戶了。大概是2011年年初,我在一個兒童編程軟件的排行榜中了解到App Inventor。作為一個信息技術學科的教師,我早已無法忍受教材的滯后,非常期待能開設一門關于智能手機編程方面的校本課程。其實早在2010年左右,我就買過幾本安卓手機編程的書,但覺得相對于中學生來說,Java的技術門檻有點高,最終放棄。通過一些介紹性的文章,我了解到App Inventor類似Scratch,是不可多得的兒童編程平臺?上Ш檬露嗄,我久等還是沒有下文。2011年認識了李大維,通過向他打聽情況,得知這個項目被谷歌關閉了,很失望。幸而很快又陸陸續(xù)續(xù)地傳來一些新消息,說App Inventor項目最后移交到美國麻省理工學院(MIT)云云。于是繼續(xù)等待,有空就上網搜搜新動態(tài)。2012年,我終于能訪問MIT的App Inventor項目網站了。雖然是英文版,但是摸索著還是成功地編寫了幾個小程序。我到現(xiàn)在還清楚地記著,編寫的第一個程序就是點擊我的名字,然后跳轉到我的新浪博客。那段時間,我正好在寫《S4A和互動媒體技術》一書,忙里偷閑中給S4A編寫了一個App,實現(xiàn)了將手機上的方向、加速度和位置等傳感器信息以遠程傳感器的形式,傳送給S4A。這一App的編寫過程后來也整理為一篇文章,作為《S4A和互動媒體技術》的附錄。那段時間,國內還找不到一本關于App Inventor方面的原創(chuàng)書籍,可參考的資料很少。說起App Inventor在我國的發(fā)展,老巫婆(金從軍老師)是一個無法繞開的名字。她和她的丈夫張路最早將App Inventor 2漢化,并推出離線版,為App Inventor的國內推廣,做了很多重要的工作。我和我的兒子謝集自學App Inventor 2,全靠她翻譯的幫助文件。有趣的是,我在2014年才從老巫婆的博客上發(fā)現(xiàn)一個細節(jié): 2013年上海創(chuàng)客嘉年華活動中,我和吳俊杰等教師在創(chuàng)客論壇上演講,呼吁創(chuàng)客們關注中小學教育,坐在第一排拿著攝像機的就是她和張路老師。后來她告訴我,那天聽了我們的演講后,他們就下決心要為兒童編程做點事,回到北京就開始做App Inventor 2漢化、翻譯工作!陡覍WApp Inventor 2》這本書從策劃到編寫、出版,經歷了好幾年,周期比較長。和出版社簽約是在2013年,因為App Inventor一直沒有出官方版本,我就有合理的借口拖延下去。但是,關于App Inventor的校本課程,則從2013年下半年就開始開課了,書中的很多案例都是在教學中日積月累而成的。2014年年底,MIT在廣州市教育信息中心建立了官方服務器后,我們終于開始了寫書的工作。本書的第1章、第2章主要由張潔負責撰寫,第3章、第4章主要由鄭祥負責撰寫,第5章則由我完成。鄭祥是溫州四中負責創(chuàng)客教育的教師,他2012年參加工作后就和我?guī)熗浇Y對,開始研究App Inventor、Arduino等技術,是國內最早進入創(chuàng)客教育領域的中小學教師之一,在國內創(chuàng)客教育圈內已經小有名氣。張潔是南京師范大學的教育技術碩士(現(xiàn)為南京市第十三中學教師),2014年開始在溫州中學實習,并開設App Inventor課程。這兩位教師在App Inventor方面都積累了大量的教學經驗。因為我工作繁忙,在書的目錄設計方面考慮不太周到,讓鄭祥和張潔多走了一些彎路,做了些無用功。在長達一年多的編寫時間中,我們不斷推翻原稿,增加新內容,收獲還是很多的。關于App Inventor和Arduino、Web的互動,是本書的亮點所在。我們希望廣大創(chuàng)客教師能從本書中得到啟發(fā): 只有軟硬結合,才能做出更多有趣的創(chuàng)客作品。我們尤其不希望大家僅把App Inventor看成一款學習編程的軟件,而是希望中小學生能夠通過對手機中各種傳感器的研究,以及對手機能支持的開源硬件的研究,設計出各種創(chuàng)意應用。感謝南京師范大學的劉正云同學為本書做了認真的審讀,并提出了寶貴的意見。感謝叢書主編鄭劍春老師,能容忍我們一而再、再而三的拖稿,最后還給這本書很高的評價。也感謝我的兒子謝集,書中有幾個案例是他編寫的。因為他對編程的喜歡,才讓我有了更大的決心去做兒童編程的推廣工作。由于水平有限,書中難免存在疏漏和不足,懇請讀者批評指正。書中涉及的全部軟件和源文件,都可以在我的博客上下載(博客地址: http: //blog.sina.com.cn/xiezuoru),部分工具還會繼續(xù)更新。歡迎發(fā)送郵件到xiezuoru@vip.qq.com,期待得到你們真摯的反饋。
謝作如2016年5月
謝作如:溫州市百名領軍教師,溫州市名師,溫州市551人才,浙江省教育科研先進工作者,溫州大學客座研究員及碩士生導師,南京師范大學客座研究員,北京師范大學訪問學者,浙江省中小學信息技術教育分會理事,中國教育技術協(xié)會信息技術專業(yè)委員會理事。2010年獲菁華杯全國新課程中學優(yōu)質課評選一等獎,2011年獲全國高中信息技術優(yōu)質課大賽特等獎。
第1章Android和App Inventor11.1Android簡介11.1.1智能手機與Android系統(tǒng)11.1.2Android系統(tǒng)的廣泛應用21.2Android的應用開發(fā)工具41.2.1Android常見開發(fā)工具41.2.2Android圖形化開發(fā)工具51.3App Inventor 2概述61.3.1App Inventor 2可以做什么61.3.2App Inventor 2在中國6第2章初識App Inventor 282.1App Inventor 2環(huán)境搭建82.1.1賬戶申請82.1.2登錄App Inventor 292.1.3App Inventor 2程序調試92.1.4App Inventor 2操作界面132.2我的第一個App162.2.1新建項目172.2.2界面設計182.2.3編程實現(xiàn)202.2.4程序調試202.3基本組件與運算212.3.1基本組件212.3.2基本運算222.3.3基礎任務1溫度轉換器242.4變量與流程控制272.4.1變量272.4.2基礎任務2點我282.4.3流程控制的分支結構292.4.4基礎任務3計算成績等級302.4.5流程控制的循環(huán)結構322.4.6基礎任務4計算前n個正整數的和322.5自定義過程與函數352.5.1過程的定義與調用362.5.2基礎任務5過程362.5.3函數的定義與調用382.5.4基礎任務6求和小程序382.6媒體組件392.6.1常用組件介紹392.6.2基礎任務7音樂播放器402.7傳感器組件432.7.1方向傳感器組件432.7.2基礎任務8指南針432.7.3位置傳感器組件462.7.4基礎任務9經緯度轉換器472.7.5加速度傳感器組件492.7.6基礎任務10加速度觀察器492.7.7計時器組件512.7.8基礎任務11最后10秒鐘51目錄 跟我學App Inventor 2〖2〗〖2〗 〖1〗 第3章App Inventor 2的編程實踐553.1App專題1健康測試儀553.2App專題2音樂搖搖樂613.3App專題3打地鼠653.4App專題4相片通信錄713.5App專題5GPS計步器82第4章App Inventor 2和Arduino944.1Arduino和Mixly944.1.1Arduino簡介944.1.2Mixly簡介954.2基于藍牙的串口通信964.2.1試驗1將Arduino的串口信息顯示在手機上974.2.2試驗2用手機串口控制Arduino1014.3范例1手機控制的LED燈1034.3.1工作流程分析1034.3.2硬件連接1034.3.3界面設計1044.3.4編程實現(xiàn)1054.3.5程序調試1074.4范例2揮手機器人1094.4.1結構搭建1094.4.2運行原理分析1094.4.3界面設計1114.4.4編程實現(xiàn)1124.4.5程序調試1144.5讓手機擁有更多傳感器1154.5.1讓手機顯示外界溫度1154.5.2接收多個傳感器數據1184.5.3拓展應用122第5章App Inventor 2和Web1245.1App Inventor 2的網絡組件1245.1.1網絡微數據庫及范例1245.1.2Web瀏覽框及范例1265.1.3Web客戶端及范例1275.2Web客戶端的高級應用1315.2.1中文編碼和構建HTTP頭部信息1315.2.2解析Json1355.3體驗物聯(lián)網技術1395.3.1中國移動物聯(lián)網開放平臺的設置1405.3.2編寫GPS自動記錄器1455.3.3物聯(lián)網應用擴展1485.4App云服務器的設計1495.4.1App云服務器的設計1495.4.2App云用戶管理系統(tǒng)的開發(fā)1505.4.3App云用戶管理系統(tǒng)的應用1555.5綜合范例聽寫神器1585.5.1開發(fā)背景1585.5.2工作原理分析1585.5.3服務器端和WebAPI的設計1595.5.4教師端的設計1625.5.5學生端的設計1635.5.6聽寫神器的使用說明166附錄AApp Inventor 2離線版的安裝與使用169附錄BAI伴侶的安裝與使用178參考文獻184后記185