讓Python在Android系統上飛一會兒

來源:互聯網
上載者:User
文章目錄
  • 第二節 第一個有實用價值的應用
  • 第一步:調用條碼掃描程式,掃描書的條碼,然後從條碼中獲得書籍的ISBN編號
  • 第二步:構造查詢書籍價格的Url地址,使用豆瓣的圖書搜尋功能
  • 第三部:開啟瀏覽器,傳入構造好的Url地址,返回尋找的結果
  • 第三節 在電腦上編寫程式在手機上運行
第一節 在手機上配置Python運行環境

 

1.下載和安裝 Scripting Layer for Android (SL4A)

Scripting Layer for Android (SL4A) 是一個開源項目,目標是為android系統提供指令碼語言的支援,使使用者可以直接在android平台上進行指令碼語言的編輯、解釋和執行。這些指令碼語言已經可是使用很多封裝好的android API來開發功能豐富的android應用程式,並且使開發變得更加的簡單和高效!這個平台支援多種指令碼語言,比如 Python, Perl, JRuby, Lua, BeanShell, JavaScript, Tcl, shell 等,你可以選擇你熟悉的語言進行開發,本系列教程使用Python為編程指令碼語言SL4A項目的地址:http://code.google.com/p/android-scripting/頁面開啟後,你可以選擇用手機掃描該頁面的二維碼將應用直接下載並安裝到手機上,或者點擊二維碼圖片,將應用下載的電腦上在傳輸到手機上安裝。你要是懶得去項目首頁,直接掃描的二維碼即可:

2.下載和安裝 Python for android

在項目首頁面的右上方,有該應用支援的所有指令碼語言的下載列表,如所示;選擇你使用的語言,開啟相應的語言環境的下載頁面,與下載SL4A的方式類似,將該語言套件應用下載並安裝到你的手機上。我開啟的是Python的頁面,如所示:程式安裝完成後,開啟Python for Android應用,在應用的最上方會有一個Install的按鈕,點擊該按鈕,就會自動下載Python相關的檔案並解壓和安裝,這個過程結束後,你的android手機上的Python開發環境就配置好了!

3.第一個HelloWorld程式

開啟SL4A應用,會進入Python範例程式碼列表,基本上是對主要API的示範,部分樣本可能由於偏老,運行時會提示方法到期或者運行異常的問題,這個至少修改少許代碼即可,有機會的話,我會在後續課程中介紹這是樣本以及修正的方法。點Menu鍵,然後點擊Add,選擇Python2.6.2,就會建立一個Python指令檔,將檔案的名字命名為:HelloPythonInAndroid.py點擊螢幕進入指令碼編輯區,開始輸入如下內容:

import androiddroid = android.Android()droid.makeToast(‘Hello, Python in Android’)

輸入完成後,如所示:

點擊Menu,選擇Save&Run,恭喜你,你已經用Python完成了第一個Android應用:HelloPythonInAndroid!

 

 

第二節 第一個有實用價值的應用1.python預備知識

單行注釋使用#號,#以後的內容是注釋,不會被解譯器解釋執行執行;import語句用來匯入模組,後面跟模組名;python中的變數不需要宣告類型,變數被賦值之後類型會自動指定,這也是動態語言的特性之一;

元組,python基本資料結構之一,使用這樣的形式表示:元組1=(資料1,資料2,資料3)元組一旦產生後就不能修改了元組可以嵌套包括他自己在內的所有清單類型的資料集合,如:元組2=(元組1,資料4,資料5)元組中資料的擷取方法: 元組名[索引編號]

字典,python基本資料結構之一,使用這樣的形式表示:字典1={鍵1:值1,鍵2:值2,鍵3:值3}字典可以嵌套包括他自己在內的所有清單類型的資料集合字典中資料的擷取方法:字典名[鍵名] 或者 字典名[索引編號]

格式化字串:字串中的%s會被後面的對象替換掉,例如:‘Hello,%s’ % ‘PuLee’最後返回的結果是:Hello,PuLee注意兩個字串之間的那個%號不要漏掉了!

2.圖書價格查詢器的功能分析第一步:調用條碼掃描程式,掃描書的條碼,然後從條碼中獲得書籍的ISBN編號第二步:構造查詢書籍價格的Url地址,使用豆瓣的圖書搜尋功能第三部:開啟瀏覽器,傳入構造好的Url地址,返回尋找的結果3.圖書價格查詢器的設計實現

實現代碼如下:#匯入Android的API模組import android#獲得操作對象droid = android.Android()#運行掃描程式,返回一個元組code = droid.scanBarcode()#從掃描程式返回的元組中取得isbn編號isbn = code[1]['extras']['SCAN_RESULT']#構造查詢書籍的Urlurl = ‘http://book.douban.com/subject_search?search_text=%s&cat=1001′ % isbn#開啟瀏覽器,傳入構造好的Url,返回尋找結果droid.startActivity(‘android.intent.action.VIEW’,url)

最後的返回的查詢結果:

 

第三節 在電腦上編寫程式在手機上運行前言

最手機上寫指令碼是一件每場辛苦的事情,雖然SL4A人性化的為我們提供了API快速插入功能,並且優美的Python為我們省去了輸入分號和括弧之苦,但是沒有智能感知,沒有關鍵字補全,狹小的按鍵,輸入符號的困難,還是讓我沒有勇氣去在手機上寫超過50行的程式.改為在電腦上編寫代碼,再複製到手機上運行!那麼,如何快速的將PC上編寫的代碼發送到手機上呢?

1. 一些傳統的方法

1.1 資料線這個就不用我多說了吧,應該都會的,但是隨身帶資料線是件很麻煩的事情,所以應該再找些其他方法!1.2 wifi和資料線原理差不多,很多的android的PC用戶端都已經支援通過wifi串連手機了,比如豌豆莢,但是不是哪裡都有wifi的.1.3使用具有網路同步功能的筆記管理軟體通過筆記管理軟體,比如evernote,盛大麥庫(使用此連結註冊,可以將500M控制項升級為1G,作為邀請人,我的空間也會增長200M,呵呵,雙贏啊!)在pc端編寫好指令碼,上傳,然後再在手機上下載下來,粘帖到SL4A中.

2.將程式的代碼產生二維碼圖片

上面的幾種方法要麼對硬體有要求(資料線,無線路由),要麼要下載額外的軟體(筆記管理軟體),都比較麻煩,其實SL4A的作者也考慮到了這個問題,為我們提供了一種很有趣的代碼輸入方式:掃描二維碼!

方法如下:1. 開啟二維碼產生頁面:http://zxing.appspot.com/generator/,在Contents後面的下拉式清單中選擇:Text2. 在Text content 後文本區的第一行輸入指令碼的名稱,比如:HelloWorld.py3. 在他的下方輸入指令碼的內容.4. 在Barcode size 後的下拉式清單中選擇:L5. 點擊Gernerate 產生二維碼6. 將右邊產生的二維碼儲存或者與你的朋友們分享!產生的二維碼:

3. 使用手機掃描產生的二維碼,並將其轉化為py指令碼

二維碼產生了,如何將它匯入手機呢?1.啟動SL4A進入指令碼列表2.按菜單鍵(MENU)3.點擊Add4.點Scan Barcode5.掃描產生的二維碼,指令碼便會自動顯示在列表中(名稱就是第一行的名稱)ps:二維碼最多容納的字元為4296個,所以只能用來存放較短的指令碼!

 

轉載自:http://tieqixia.javaeye.com/blog/891729

 

 

另一篇文章:

 

在Android上用python(Perl、Lua、BeanShell等)編程2011-01-13 17:12

 原文來自:http://imxingzhi.appspot.com/?p=110001

偶然間發現了google code上的一個項目——android-scripting

該項目開發了一個叫SL4A(Scripting Layer for Android),也被稱為ASE(Android Scripting Environment)的軟體

該軟體可允許一些指令碼語言如python、Perl、Lua、Javascript(甚至可以用BeanShell——可以解釋Java代碼了)在android平台上來編寫並編譯器。

SL4A還能訪問Android API,可以在手機上直接開發Android應用!雖然我還沒這能耐,但想想還覺得爽啊。

我還發現可以利用SL4A的伺服器或是通過USB,在電腦上寫指令碼然後發送至手機上運行。(RemoteControl)

這是款很好很強大的軟體!!  

下面說說如何在Android上用python寫程式。

 

開啟項目首頁:http://code.google.com/p/android-scripting/ 下載SL4A軟體。

用手機上的條碼掃描器掃描位於正中的條碼並在手機裡下載,或者點擊它下載再通過usb傳輸到手機去。安裝它。

 

接下來,就是增加python語言支援了。

有兩種方式安裝python解譯器。

1. 在項目首頁右邊Featured downloads處選擇python_for_android_r1.apk並將其下載至手機,方法同上,然後在手機上安裝後執行。執行後是一個黑色介面,上面有 Install 按鈕,點擊它就會自動下載壓縮包。

2. 執行SL4A ,按手機的Menu鍵,選Interpreters, 再按Menu,選Add,就會出現各種支援的語言了,選Python2.6.2 程式便會自動下載並安裝。

 

py檔案的執行:

python安裝後是會有一些範例的,點擊便會自動執行,但範例都是Android API的範例。

自己來寫一個:

依次按Menu – Add - Python2.6.2

取個名字:hello.py  下面就可以寫代碼了,第一個程式當然是hello world   ~/(≧▽≦)/~啦啦啦

代碼如下:

print “hello world”

按Menu,Save&Run ,螢幕就出現結果了。 

至此,手機就可以用python寫程式啦,安裝其他語言也是同理。

 

PS.

在Interpreters裡直接點擊Python 2.6.2的話,可進入python命令列介面,可以直接執行代碼,但還是建議建立py檔案,因為在命令列介面下不能用全鍵盤打字,打命令很痛苦:(

PPS.

Android API:http://code.google.com/p/android-scripting/wiki/ApiReference

PPPS.

感謝這新聞,讓我知道了這一好東西:http://www.infoq.com/cn/news/2009/07/android-scripting

 

 

轉載自:http://hi.baidu.com/zhangtqqq/blog/item/52291c07bb5737df7b8947a7.html

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.