亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Android程序調(diào)用機(jī)制研究

        2019-04-29 05:51:36耿慶田高琦坤
        關(guān)鍵詞:調(diào)用應(yīng)用程序啟動(dòng)

        張 天,耿慶田,高琦坤

        (長(zhǎng)春師范大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,吉林長(zhǎng)春 130032)

        隨著“互聯(lián)網(wǎng)+”和大數(shù)據(jù)應(yīng)用的不斷深入,移動(dòng)互聯(lián)終端在各個(gè)行業(yè)中的應(yīng)用越來越普及,移動(dòng)終端的應(yīng)用程序也越來越多,尤其一些專業(yè)領(lǐng)域,需要特殊定制行業(yè)移動(dòng)應(yīng)用。由于Android的免費(fèi)特性,很多移動(dòng)終端都以其作為運(yùn)行平臺(tái)來開發(fā)相應(yīng)的行業(yè)應(yīng)用。在編制過程中,程序員經(jīng)常需要調(diào)用相關(guān)行業(yè)專用硬件信息來獲取數(shù)據(jù),而在編制應(yīng)用程序過程中未必具備某些專用硬件,或者應(yīng)用程序編制者不能熟悉使用這些專用硬件,而從專用硬件中得到數(shù)據(jù)才能保證應(yīng)用程序的測(cè)試運(yùn)行,此時(shí)可以利用Android程序的運(yùn)行機(jī)制進(jìn)行程序替換,以獲取和設(shè)定上層應(yīng)用程序需要的特定數(shù)據(jù)進(jìn)行測(cè)試。

        1 Android程序調(diào)用機(jī)制

        Android應(yīng)用程序采取了MVC的設(shè)計(jì)模式,程序界面與程序運(yùn)行代碼是分離的。我們每設(shè)計(jì)一個(gè)窗口程序界面,需要同時(shí)完成兩項(xiàng)工作:一是應(yīng)用程序的界面設(shè)計(jì);一是用戶在界面操作時(shí)的響應(yīng)代碼。程序界面在項(xiàng)目工程中以布局文件形式存在,而界面響應(yīng)代碼則以JAVA類的形式存在。在Android中將這兩項(xiàng)統(tǒng)一稱作Activity(活動(dòng))。在Android Studio中創(chuàng)建活動(dòng)如圖1所示,從中可看出活動(dòng)的組成。

        圖1 Android Studio創(chuàng)建活動(dòng)

        在Android的項(xiàng)目中,會(huì)有一個(gè)活動(dòng)作為主活動(dòng),當(dāng)程序第一次運(yùn)行時(shí)最先顯示給用戶,然后通過這個(gè)活動(dòng)進(jìn)行其它活動(dòng)的調(diào)用執(zhí)行。為了使Android平臺(tái)可以自動(dòng)啟動(dòng)主活動(dòng),在每個(gè)項(xiàng)目中有一個(gè)配置文件,文件名為AndroidManifest.xml,在這個(gè)文件中定義了我們所建立的每一個(gè)活動(dòng)的屬性與關(guān)聯(lián)。代碼如下:

        android:name=".MainActivity"

        android:label="@string/app_name"

        android:theme="@style/AppTheme.NoActionBar">

        Android通過intent-filter標(biāo)簽中action屬性值來確定哪一個(gè)活動(dòng)會(huì)作為主活動(dòng)啟動(dòng),從上述代碼中可以看到,action值為“android.intent.action.MAIN”時(shí),Android平臺(tái)將調(diào)用對(duì)應(yīng)的活動(dòng)作為應(yīng)用程序的第一個(gè)窗口呈現(xiàn)在用戶眼前。通過使action取不同的值,可以啟動(dòng)不同的活動(dòng),其中包括一些系統(tǒng)活動(dòng)和用戶所設(shè)定的活動(dòng)。

        在Android系統(tǒng)中,要啟動(dòng)某一個(gè)活動(dòng),需要發(fā)送Intent對(duì)象給Android平臺(tái),Android平臺(tái)通過Intent中包含的action名稱來決定啟動(dòng)哪一個(gè)Activity??梢酝ㄟ^這種方式來對(duì)一些現(xiàn)有應(yīng)用程序中的運(yùn)行活動(dòng)進(jìn)行替代,向應(yīng)用程序發(fā)送模擬數(shù)據(jù),對(duì)應(yīng)用程序進(jìn)行運(yùn)行測(cè)試。

        2 基于Intent運(yùn)行機(jī)制的應(yīng)用

        以替代Android相機(jī)程序?yàn)槔?,假設(shè)程序員在編制程序過程中,需要調(diào)用相機(jī)獲取圖像之后才能繼續(xù)進(jìn)行程序調(diào)試,但是每次打開相機(jī)獲取圖像時(shí)操作過于緩慢。我們可以創(chuàng)建一個(gè)測(cè)試應(yīng)用項(xiàng)目,通過修改Intent調(diào)用機(jī)制,使應(yīng)用程序每次只調(diào)用我們編寫的測(cè)試應(yīng)用,而不啟動(dòng)Android平臺(tái)中的相機(jī)應(yīng)用,在測(cè)試應(yīng)用中,可以直接為調(diào)用者提供他們所需要的已經(jīng)拍照好的圖像,這樣就可以節(jié)省大量程序調(diào)試時(shí)間,同時(shí)為程序調(diào)試提供特定數(shù)據(jù)。

        首先,明確在我們所使用的Android平臺(tái)中需要替換的應(yīng)用程序的完整包名和調(diào)用此應(yīng)用程序所指定的Intent的屬性值內(nèi)容。為獲取以上兩方面信息,可以借助網(wǎng)絡(luò)上的APK反編譯工具對(duì)所要替代程序的安裝包進(jìn)行反編譯,本文推薦比較常用的APK反編譯工具APK Editor Pro,圖形化界面易操作。之后在反編譯好的文件夾中找到該程序的AndroidManifest.xml文件,在該文件中查找到此程序的完整包名和調(diào)用該程序所發(fā)出的intent值并記錄。

        圖2 Android對(duì)相同Intent請(qǐng)求調(diào)用示意圖

        然后,在建立測(cè)試應(yīng)用項(xiàng)目時(shí)對(duì)該項(xiàng)目空間命名,采用剛剛查找到的包名信息進(jìn)行命名,在測(cè)試項(xiàng)目的AndroidManifest.xml文件中對(duì)Activity進(jìn)行定義時(shí),intent-filter標(biāo)簽中的action屬性值設(shè)成我們記錄的intent值。以這種方式進(jìn)行設(shè)置后,如果將測(cè)試程序安裝到現(xiàn)有Android平臺(tái)后,在平臺(tái)當(dāng)中就會(huì)出現(xiàn)兩個(gè)同名包的應(yīng)用程序,那么當(dāng)啟動(dòng)該名稱的程序時(shí),Android系統(tǒng)會(huì)調(diào)用最后安裝的應(yīng)用程序,這樣就實(shí)現(xiàn)了原有啟動(dòng)程序的替換。此方案詳細(xì)替換過程如圖2所示,經(jīng)過替換后,由測(cè)試程序向主程序提供調(diào)用返回?cái)?shù)據(jù)。

        最后,可以在測(cè)試程序中按照預(yù)先設(shè)定,為主程序提供所需的測(cè)試數(shù)據(jù),在提供數(shù)據(jù)之前,也可以在測(cè)試程序中對(duì)測(cè)試數(shù)據(jù)進(jìn)行加工處理,以適應(yīng)主程序要求。

        3 結(jié)語

        本文中提供的方法可以用作替換現(xiàn)有第三方應(yīng)用程序被自開發(fā)的程序調(diào)用,針對(duì)不便修改的第三方程序也可以調(diào)用其它活動(dòng)進(jìn)行替換,從而為第三方程序提供我們想提供給它的數(shù)據(jù)內(nèi)容,但在這方面應(yīng)用時(shí),需要注意相關(guān)的版權(quán)問題及相關(guān)的法律法規(guī)。

        猜你喜歡
        調(diào)用應(yīng)用程序啟動(dòng)
        核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
        刪除Win10中自帶的應(yīng)用程序
        LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
        霧霾來襲 限產(chǎn)再次啟動(dòng)
        安發(fā)生物啟動(dòng)2017
        基于系統(tǒng)調(diào)用的惡意軟件檢測(cè)技術(shù)研究
        西部最大規(guī)模云計(jì)算中心啟動(dòng)
        俄媒:上合組織或9月啟動(dòng)擴(kuò)員
        利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
        關(guān)閉應(yīng)用程序更新提醒
        電腦迷(2012年15期)2012-04-29 17:09:47
        97精品人人妻人人| 日本久久一级二级三级| 色婷婷精品大在线视频| 欧美成人家庭影院| 少妇被猛男粗大的猛进出| 国产女人精品视频国产灰线| 亚洲国产精品美女久久久| 人妻熟女翘屁股中文字幕| 少妇愉情理伦片高潮日本| 亚洲AV无码一区二区三区日日强| 熟女少妇av免费观看| 久久精品亚洲熟女av麻豆| 秘书边打电话边被躁bd视频| 色综合久久久久久久久五月| 午夜视频免费观看一区二区| 美女扒开内裤让我捅的视频| 国产白嫩护士被弄高潮| 亚洲国产精品自拍一区| 日韩精品夜色二区91久久久| 亚洲国产精品一区二区毛片| 国产无套内射久久久国产| 91亚洲无码在线观看| 久久亚洲精精品中文字幕早川悠里 | 国产三级三级精品久久| 国产精品一区二区性色| 日韩制服国产精品一区| 91久久福利国产成人精品| 亚洲码专区亚洲码专区| 国产丝袜美女| 国产白嫩美女在线观看| 水蜜桃一二二视频在线观看免费 | 精品综合久久88少妇激情| 在线看片免费人成视频电影 | 精品人妻码一区二区三区剧情| 九九精品国产亚洲av日韩| 91成人午夜性a一级毛片| 加勒比av在线一区二区| 国模精品一区二区三区| 欧美丰满熟妇bbbbbb百度| 天堂a版一区二区av| 国精产品一区一区三区有限在线|