溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python可不可以用來(lái)編寫手機(jī)應(yīng)用

發(fā)布時(shí)間:2020-07-16 11:14:14 來(lái)源:億速云 閱讀:240 作者:清晨 欄目:編程語(yǔ)言

這篇文章將為大家詳細(xì)講解有關(guān)python可不可以用來(lái)編寫手機(jī)應(yīng)用,小編覺(jué)得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

Python是動(dòng)態(tài)語(yǔ)言,比較簡(jiǎn)潔。Android不直接支持使用python開(kāi)發(fā)應(yīng)用,需要使用其它中間件或者庫(kù)。PythonForAndroid提供了在android平臺(tái)上對(duì)python語(yǔ)言的支持;CLE支持python和java之間的交互,同時(shí)提供了一個(gè)通用的接口,可用于其它多種語(yǔ)言。

Wrapandroid project將android類封裝為CLE對(duì)象,從而可以使多種語(yǔ)言可以調(diào)用android類。使用這三個(gè)組件,可以在android平臺(tái)上直接使用python開(kāi)發(fā)界面應(yīng)用程序。

在android上開(kāi)發(fā)python應(yīng)用程序,編程和打包環(huán)境可以直接使用eclipse。

準(zhǔn)備環(huán)境

a: 安裝PythonForAndroid: http://code.google.com/p/android-scripting

b: CLE在程序運(yùn)行的時(shí)候,自動(dòng)從網(wǎng)絡(luò)上安裝,也可以下載庫(kù)函數(shù),放到工程中。開(kāi)發(fā)需要java庫(kù)文件starcore_android_r6.jar。文件在starcore_devfiles_r6.zip中,可以從http://code.google.com/p/cle-for-android下載

c: Wrapandroid項(xiàng)目庫(kù)文件wrapandroid.jar,包含在壓縮包http:/code.google.com/p/wrapandroid-for-multilaguage/download/wrapandroid_devfiles_0_8_6.rar中。

開(kāi)始編程

a. 打開(kāi)eclipse, 創(chuàng)建一個(gè)新的android project “introduction”
b. 如果要從網(wǎng)絡(luò)安裝,則需要添加許可權(quán)限: 

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"></uses-permission>

c. 將庫(kù)文件starcore_android_r6.jar和wrapandroid.jar到工程目錄下,將這兩個(gè)文件加入到工程中。

d. 編輯 IntroductionActivity.java,如下修改,加載python代碼

import com.srplab.wrapandroid.*;

public class IntroductionActivity extends WrapAndroidActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        StarActivity._Call("DoAssetsFile", "python", "code.py");
    }
}

同時(shí)在activity中設(shè)置下載標(biāo)志為false

public class IntroductionActivity extends WrapAndroidActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
     DownloadFromNetFlag = false;
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        StarActivity._Call("DoAssetsFile", "python", "code.py");
    }
}

只不過(guò)此時(shí)生成的安裝包大一些。

e. 編輯layout:main.xml.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/widget73"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/widget45"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" /> 
    <Button
        android:id="@+id/widget74"
        android:layout_width="220dp"
        android:layout_height="48dp"
        android:text="thank for your use"
        android:typeface="serif"
        android:textStyle="bold"
        android:textColor="#ffff0000"
        android:layout_x="284dp"
        android:layout_y="220dp"
        android:textSize="16dp"
    />        
</LinearLayout>

f. 在assets目錄下,創(chuàng)建code.py文件.

關(guān)于python可不可以用來(lái)編寫手機(jī)應(yīng)用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI