今天早晨,我花了大概 90 分鐘在 App Inventor 上編寫了幾個應用程序。我對此很是興奮,不過我以爲這不是真的‘普通人’就能完成的。除非你只想作一個如‘Hello World’的簡單應用,不然你就得通讀全部文檔,並且現有的文檔感受還不太夠,不過對於學生課堂學習應該是很充分了。對於普通人來講,App Inventor 學習起來並非那麼容易的,固然,相比直接編寫代碼要簡單的多。 html
在我介紹我使用 App Inventor 的經歷以前,我想有必要公佈一下個人編程背景。在高中,我學習了一年的 Visual Basic,其後我還選修過幾門 C++的課,不過從沒實戰過。我也從未用過和 App Inventor 很像的 Scratch。相比於專業開發者,我固然差距很大,不過相比於‘普通’Android 用戶而言,個人編程知識還算很多。 android
相對於安裝 Eclipse 和 Android SDK,啓動 App Inventor 要更簡單,不過仍是有些麻煩。首先,你要確保正確版本的 Java 已經開啓;而後,你要爲你的設備安裝一個客戶端;接着,你要爲你的 Android 手機更改一些設置(容許安裝未知來源的應用,開啓開發人員模式等等)。將手機連上電腦,登陸進 App Inventor,最後再容許 Java 應用啓動,你就能夠玩弄 App Inventor 了。看起來過程好像有些麻煩,不過若是你知道這些該怎麼作的話,整個過程應該不超過 10 分鐘。 數據庫
開始使用 App Inventor 後,你會發現它由兩個部分構成:
設計視圖和
塊編輯視圖。幫助文檔很好解釋了這二者的區別,大概就是:你能夠在設計視圖中完成諸如添加按鈕、文本框等程序外觀的設計,設計視圖就是一個網頁;在塊編輯 視圖進行真正的代碼編輯,塊編輯視圖就是一個 Java 應用。若是你將 Android 設備鏈接到了電腦上,你還能夠隨時在手機上看到你對應用程序作的修改。 編程
我首先想到的是開發一個 TechCrunch 應用程序,用戶能夠經過關鍵詞監測 TechCrunch 的文章,一旦有相關的報道這個應用程序就會提醒。程序的外觀設計很簡單——首先在設計視圖放置一個文本框、一個標籤、一個按鈕,再把寬度等設置一下,不要 太醜就行。接下來就到了難的了:讓這些按鈕真的工做起來,這就須要使用塊編輯視圖了。 app
塊編輯視圖讓我想到了蘋果的 Automator,經過 Automator 用戶能夠將本身對應用程序的邏輯繪製出來,固然,塊編輯視圖要複雜的多。若是 App Inventor 已經有了能夠完成你要的任務的組件,那麼讓應用程序按你的思路工做就很簡單了,好比,在用戶按下按鈕時要保存文本框的內容到數據庫就很簡單。不幸的是,已 有的組件還不能很好的知足咱們的需求,在我使用 App Inventor 的過程當中就所以而失敗了兩次。 工具
先找到合適的組件再下手 學習
起初我打算使用 RSS feed 來監測 TechCrunch 的文章,我以爲這個組件應該是有的。可事實是:真的就沒有!不過,App Inventor 卻有一些現成的 Twitter 組件,包括一個搜索功能——或許我能夠經過監測 TechCrunch Twitter feed 來完成用戶的檢索?因而我將相應的組件拖進來稍加設置修改(大概只花了兩分鐘),個人應用程序就能按照用戶輸入的內容呈現 Twitter 上的搜索結果了,太酷了。不過這卻不能實現只檢索一個 Twitter 賬號的狀態更新(搜索結果是從全部的 tweet 中獲得),看來我是沒有能力用 App Inventor 來實現找個小項目了,不得不擱置一旁。
更新
:貌似我可使用 join
塊在搜索命令前增長「from:techcrunch」來實現這個功能。 開發工具
因而,我開始了個人第二個小項目,我把它叫作 Draw N’ Send。考慮到第一個小項目遇到的困難,此次我要作的應用程序和 App Inventor 中的一個叫 PaintPot
示 例應用很類似,用戶能夠經過它繪製簡單的圖案(我想增長一個 email 功能,發送繪製的圖案)。起初進展很順利,畢竟有一個一步步的示例教程:我很快就把顏色按鈕安放到位,我已經能夠在畫紙上繪製彩色的點和線了。如今基本的 繪製功能已經到位了,我就開始研究個人 email 功能。但是我再次遇到個問題:不知道什麼緣由,彷佛沒有組件能完成將我繪製的圖案保存成圖片文件的功能,所以無法完成 email。我不得再也不次放棄。 測試
總結和展望 網站
最後總結一下。首先,儘管 App Inventor 號稱是面向‘全部人’的開發環境,你仍舊要花時間學習它,才能真正的順暢使用。不過學習可不是那麼容易的,如今的示例、文檔都還不夠充分。(若是你想讀到 更多的示例和文檔,能夠參考南佛羅里達大學教授 Dave Wolber 的網站 Appinventor.org,它並不隸屬於 Google。)
另一個很重要的事情是 App Inventor 中的組件種類還不夠多,若是‘普通人’去使用 App Inventor,卻沒有本身要的組件,或許他就得和我同樣不得不放棄了。Google 稱他們在努力豐富組件庫,並且 Component Developer Kit(組件開發工具包)可能會讓組件數目迅速增長(譯者注:或許將來 的組件庫將和 WordPress 的插件庫相似)。但如今,你能夠先去熟悉各類功能,到時候你就可使用 App Inventor 編寫出色的應用了。
English Version by Jason Kincaid