欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

透明實(shí)現(xiàn)具有自適應(yīng)用戶接口的軟件應(yīng)用的方法和系統(tǒng)的制作方法

文檔序號(hào):6625249閱讀:180來(lái)源:國(guó)知局
透明實(shí)現(xiàn)具有自適應(yīng)用戶接口的軟件應(yīng)用的方法和系統(tǒng)的制作方法
【專(zhuān)利摘要】本發(fā)明提供了透明實(shí)現(xiàn)具有自適應(yīng)用戶接口的軟件應(yīng)用的方法和系統(tǒng)。一種方法包括:由插裝到可由計(jì)算設(shè)備執(zhí)行的應(yīng)用中的庫(kù)接收消息,該消息指示應(yīng)該對(duì)能夠由所述應(yīng)用呈現(xiàn)在計(jì)算設(shè)備的顯示器上的用戶接口組件執(zhí)行的修改。修改用戶接口組件以創(chuàng)建修改后的用戶接口組件。使修改后的用戶接口組件被呈現(xiàn)在顯示器上。另一方法包括:訪問(wèn)可在計(jì)算設(shè)備上執(zhí)行的應(yīng)用的用戶接口組件的描述,其中用戶接口組件能夠被所述應(yīng)用呈現(xiàn)在計(jì)算設(shè)備的顯示器上。允許開(kāi)發(fā)者修改有關(guān)用戶接口組件的信息。形成消息以允許修改以及對(duì)應(yīng)的用戶接口組件被確定,并且將該消息發(fā)送給具有該應(yīng)用的計(jì)算設(shè)備。公開(kāi)了設(shè)備、軟件和計(jì)算機(jī)程序產(chǎn)品。
【專(zhuān)利說(shuō)明】透明實(shí)現(xiàn)具有自適應(yīng)用戶接口的軟件應(yīng)用的方法和系統(tǒng)

【技術(shù)領(lǐng)域】
[0001]本發(fā)明通常涉及在計(jì)算機(jī)系統(tǒng)上執(zhí)行的應(yīng)用,并且更具體地涉及透明地適配針對(duì)那些應(yīng)用的用戶接口(UI)。

【背景技術(shù)】
[0002]本節(jié)旨在提供在下文中公開(kāi)的本發(fā)明的背景或上下文。此處的描述可以包括若干概念,這些概念可能被追求,但是不一定是以前所構(gòu)思、實(shí)施或描述的概念。因此,除非在此另行明確指出,本節(jié)所述不是本申請(qǐng)中的描述的現(xiàn)有技術(shù)并且不被承認(rèn)是本節(jié)包含的現(xiàn)有技術(shù)。
[0003]移動(dòng)應(yīng)用和移動(dòng)應(yīng)用市場(chǎng)為開(kāi)發(fā)者提供了在全球市場(chǎng)中快速發(fā)布軟件的機(jī)會(huì)。在應(yīng)用被投入使用之后,通過(guò)軟件的應(yīng)用生命周期對(duì)其進(jìn)行管理的挑戰(zhàn)也隨之而來(lái)。一旦投入使用,對(duì)應(yīng)用的管理和更新對(duì)于開(kāi)發(fā)者和產(chǎn)品擁有者來(lái)說(shuō)就是一個(gè)持續(xù)的挑戰(zhàn)。
[0004]為了緩和該挑戰(zhàn),移動(dòng)應(yīng)用開(kāi)發(fā)已經(jīng)迅速地采用了網(wǎng)絡(luò)技術(shù)作為直接解決該發(fā)布后管理問(wèn)題的嘗試,例如通過(guò)在服務(wù)器上駐留客戶端代碼。這允許以移動(dòng)設(shè)備為目標(biāo)的應(yīng)用快速更新和部署新的應(yīng)用布局、以及利用“一次寫(xiě)入,到處運(yùn)行”。
[0005]稱(chēng)作混合(Hybrid)的另一類(lèi)應(yīng)用程序更進(jìn)一步地利用了該途徑。一般來(lái)說(shuō),混合應(yīng)用通過(guò)使用本地容器與網(wǎng)絡(luò)視圖(Web view)來(lái)提供呈現(xiàn)而構(gòu)建應(yīng)用。該混合應(yīng)用讓?xiě)?yīng)用也訪問(wèn)本地軟件開(kāi)發(fā)工具包(SDK),以獲得諸如攝像機(jī)、全球定位系統(tǒng)(GPS)和文件存儲(chǔ)之類(lèi)的功能。
[0006]這兩種針對(duì)移動(dòng)開(kāi)發(fā)的途徑覆蓋了大多數(shù)使用情況。然而,它們有提供低保真的用戶體驗(yàn)的缺點(diǎn)。
[0007]另一方面,本地應(yīng)用提供了針對(duì)設(shè)備的適當(dāng)?shù)挠脩趔w驗(yàn)。典型地,移動(dòng)平臺(tái)提供本地應(yīng)用編程接口(API)用于開(kāi)發(fā)目標(biāo)在于在該平臺(tái)上運(yùn)行的應(yīng)用。該API定義了該平臺(tái)的觀感以及應(yīng)用被允許訪問(wèn)的操作服務(wù)。其他基于網(wǎng)絡(luò)的途徑僅通過(guò)使用標(biāo)記語(yǔ)言最大限度地接近這種觀感,最終結(jié)果一般不是非常好。
[0008]因此,改善應(yīng)用的觀感同時(shí)使應(yīng)用的管理和更新變得容易將是有益的。


【發(fā)明內(nèi)容】

[0009]本節(jié)具有示例性實(shí)施例的可能實(shí)施的示例。本節(jié)不是意在進(jìn)行限制。
[0010]在一個(gè)示例性實(shí)施例中,方法包括:由插裝到可由計(jì)算設(shè)備執(zhí)行的應(yīng)用中的庫(kù)接收消息,該消息指出一個(gè)或多個(gè)修改應(yīng)該對(duì)應(yīng)用的能夠在計(jì)算設(shè)備的顯示器上呈現(xiàn)的一個(gè)或多個(gè)用戶接口組件執(zhí)行。該方法包括:根據(jù)一個(gè)或多個(gè)修改來(lái)修改一個(gè)或多個(gè)用戶接口組件,以創(chuàng)建一個(gè)或多個(gè)修改后的用戶接口組件。該方法還包括:使一個(gè)或多個(gè)修改后的用戶接口組件被呈現(xiàn)在計(jì)算設(shè)備的顯示器上。還公開(kāi)了對(duì)應(yīng)于該方法的裝置和程序產(chǎn)品。
[0011]在另一個(gè)示例性實(shí)施例中,方法包括:訪問(wèn)用于可在計(jì)算設(shè)備上執(zhí)行的應(yīng)用的多個(gè)用戶接口組件的描述,其中所述多個(gè)用戶接口組件能夠通過(guò)該應(yīng)用被呈現(xiàn)在計(jì)算設(shè)備的顯示器上。該方法包括:允許開(kāi)發(fā)者修改有關(guān)所述多個(gè)用戶接口組件中的一個(gè)或多個(gè)的信息。該方法還包括:響應(yīng)于開(kāi)發(fā)者對(duì)信息做出的一個(gè)或多個(gè)修改,形成一個(gè)或多個(gè)消息以允許一個(gè)或多個(gè)修改以及對(duì)應(yīng)的一個(gè)或多個(gè)用戶接口組件被確定。該方法還包括:向一個(gè)或多個(gè)具有該應(yīng)用的計(jì)算設(shè)備發(fā)送一個(gè)或多個(gè)消息。還公開(kāi)了對(duì)應(yīng)于該方法的裝置和程序產(chǎn)品O

【專(zhuān)利附圖】

【附圖說(shuō)明】
[0012]圖1是根據(jù)本發(fā)明的示例性實(shí)施例的經(jīng)由網(wǎng)絡(luò)通信的計(jì)算設(shè)備和服務(wù)器的框圖;
[0013]圖2描繪根據(jù)本發(fā)明示例性實(shí)施例的聯(lián)網(wǎng)環(huán)境;
[0014]圖3是控制面板的表示以及應(yīng)用UI的表示的示圖;
[0015]圖4A是設(shè)計(jì)成從基于網(wǎng)絡(luò)的控制面板提供動(dòng)態(tài)UI更新的示例性系統(tǒng)的示圖;
[0016]圖4B是根據(jù)示例性實(shí)施例的針對(duì)基于圖4A的操作系統(tǒng)、應(yīng)用和自適應(yīng)Π交互的邏輯流程圖,并且示出示例性方法的操作,包含在計(jì)算機(jī)可讀存儲(chǔ)器上的計(jì)算機(jī)程序指令的執(zhí)行結(jié)果,和/或由以硬件實(shí)施的邏輯執(zhí)行的功能;
[0017]圖5A示出與圖4的應(yīng)用模型的一部分相對(duì)應(yīng)的應(yīng)用UI的視圖;
[0018]圖5B示出用來(lái)改變與圖5A中所示的視圖相對(duì)應(yīng)的應(yīng)用視圖中的對(duì)象的示例性協(xié)議;
[0019]圖6A示出類(lèi)似于圖5A視圖的應(yīng)用Π的另一個(gè)視圖,不同之處在于文本對(duì)象已從該視圖中清除;
[0020]圖6B示出用來(lái)從圖5A的視圖中擦除文本對(duì)象以創(chuàng)建圖6A中的視圖的示例性協(xié)議;
[0021]圖6C示出用來(lái)從圖5A的視圖中擦除文本對(duì)象以創(chuàng)建圖6A中的視圖的示例性協(xié)議,其中該擦除是根據(jù)策略執(zhí)行的;
[0022]圖7A示出使用類(lèi)別和重組(swizzling)來(lái)插裝(instrumenting) 1S應(yīng)用的示例;
[0023]圖7B示出使用類(lèi)別加載來(lái)插裝安卓應(yīng)用的示例;
[0024]圖8是根據(jù)示例性實(shí)施例的由計(jì)算機(jī)系統(tǒng)/服務(wù)器12執(zhí)行用于透明地實(shí)現(xiàn)具有自適應(yīng)用戶接口的軟件應(yīng)用的邏輯流程圖,并且示出示例性方法的操作,包含在計(jì)算機(jī)可讀存儲(chǔ)器上的計(jì)算機(jī)程序指令的執(zhí)行結(jié)果,和/或由以硬件實(shí)施的邏輯執(zhí)行的功能;并且
[0025]包括圖9A和9B的圖9是根據(jù)示例性實(shí)施例的由計(jì)算設(shè)備112執(zhí)行用于透明地實(shí)現(xiàn)具有自適應(yīng)用戶接口的軟件應(yīng)用的邏輯流程圖,并且示出示例性方法的操作,包含在計(jì)算機(jī)可讀存儲(chǔ)器上的計(jì)算機(jī)程序指令的執(zhí)行結(jié)果,和/或由以硬件實(shí)施的邏輯執(zhí)行的功倉(cāng)泛。

【具體實(shí)施方式】
[0026]示例性實(shí)施例描述用于透明地實(shí)現(xiàn)具有自適應(yīng)用戶接口的軟件應(yīng)用的系統(tǒng)、方法、裝置和程序產(chǎn)品。
[0027]自適應(yīng)用戶接口(UI)和Π更新對(duì)本地用戶接口的應(yīng)用交付有直接影響,并且以低開(kāi)銷(xiāo)更新機(jī)制給予應(yīng)用擁有者以優(yōu)勢(shì),即提供高保真UI,同時(shí)還提供在控制當(dāng)運(yùn)行這些應(yīng)用時(shí)在設(shè)備上顯示的數(shù)據(jù)的過(guò)程中的安全級(jí)別。
[0028]自適應(yīng)Π允許后部署系統(tǒng)中的更新和修改。對(duì)于在將移動(dòng)應(yīng)用發(fā)布到“野生”狀態(tài)之后提供最新的用戶體驗(yàn)、安全性和應(yīng)用管理來(lái)說(shuō),這是需要的。
[0029]該方法可以允許應(yīng)用管理推出應(yīng)用更新而無(wú)需修改或檢查應(yīng)用的源代碼。下面描述其他示例性的益處。
[0030]盡管主要重點(diǎn)在下面放在移動(dòng)應(yīng)用上,然而許多不同類(lèi)型的應(yīng)用也具有能夠從此處的示例性實(shí)施例中受益的用戶接口。例如,許多汽車(chē)內(nèi)具有交互顯示器,而這類(lèi)交互顯示器是使用來(lái)自應(yīng)用的用戶接口(UI)來(lái)設(shè)計(jì)和定義的。因此,該示例性實(shí)施例具有廣闊的適用性,并且圖1和2示出這樣的廣闊適用性。
[0031]現(xiàn)參考圖1,其根據(jù)本發(fā)明的示例性實(shí)施例示出經(jīng)由網(wǎng)絡(luò)通信的計(jì)算設(shè)備和服務(wù)器的框圖。圖1被用于提供可以在其中使用示例性實(shí)施例的系統(tǒng)的概覽,并且被用于提供某些示例性實(shí)施例的概覽。在圖1中,存在計(jì)算機(jī)系統(tǒng)/服務(wù)器12,其可以用很多其他通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置來(lái)操作。熟知的適合用于計(jì)算機(jī)系統(tǒng)/服務(wù)器12的計(jì)算系統(tǒng)、環(huán)境、和/或配置的示例包括但不限于個(gè)人計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、瘦客戶端、胖客戶端、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)性電子裝置、網(wǎng)絡(luò)PC、微型計(jì)算機(jī)系統(tǒng)、大型計(jì)算機(jī)系統(tǒng)以及包括任何上述系統(tǒng)或設(shè)備的分布式云計(jì)算環(huán)境,等等。
[0032]如圖1所示,計(jì)算機(jī)系統(tǒng)/服務(wù)器12以通用計(jì)算設(shè)備的形式示出。計(jì)算機(jī)系統(tǒng)/服務(wù)器12的組件可以包括但不限于一個(gè)或多個(gè)處理單元16 (例如,處理器)、系統(tǒng)存儲(chǔ)器28以及將包括系統(tǒng)存儲(chǔ)器28在內(nèi)的各種系統(tǒng)組件耦合到一個(gè)或多個(gè)處理單元16的總線18??偩€18表示一個(gè)或多個(gè)任意幾種類(lèi)型的總線結(jié)構(gòu),包括存儲(chǔ)器總線或存儲(chǔ)器控制器、外設(shè)總線、加速圖形端口、以及使用各種總線架構(gòu)中任意一種的處理器或局部總線。舉例來(lái)說(shuō)并且并非進(jìn)行限制,這類(lèi)架構(gòu)包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、微通道架構(gòu)(MCA)總線、增強(qiáng)型ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線、以及外部設(shè)備互連(PCI)總線。計(jì)算機(jī)系統(tǒng)/服務(wù)器12—般包括各種各樣的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),諸如存儲(chǔ)器28。這類(lèi)介質(zhì)可以是任何可由計(jì)算機(jī)系統(tǒng)/服務(wù)器12訪問(wèn)的可用介質(zhì),并且這類(lèi)介質(zhì)包括易失性和非易失性介質(zhì)、可移除和不可移除介質(zhì)。系統(tǒng)存儲(chǔ)器28可以包括易失性存儲(chǔ)器形式的計(jì)算機(jī)系統(tǒng)可讀介質(zhì),諸如隨機(jī)存取存儲(chǔ)器(RAM) 30和/或高速緩沖存儲(chǔ)器32。計(jì)算機(jī)系統(tǒng)/服務(wù)器12還可以包括其他可移除/不可移除、易失性/非易失性的計(jì)算機(jī)系統(tǒng)存儲(chǔ)介質(zhì)。僅僅為了舉例,存儲(chǔ)系統(tǒng)34可被提供用于從不可移除、非易失性磁介質(zhì)(未示出,并且一般稱(chēng)為“硬盤(pán)驅(qū)動(dòng)器”)讀取或向其中寫(xiě)入。盡管未示出,然而也可以使用可移除、非易失性存儲(chǔ)器,諸如存儲(chǔ)器卡或“棒”,并且可以提供用于從可移除、非易失性光盤(pán)讀取或向其中寫(xiě)入的光盤(pán)驅(qū)動(dòng)器,諸如⑶-ROM、DVD-ROM或其他光介質(zhì)。在這種情況下,每種介質(zhì)可以通過(guò)一個(gè)或多個(gè)I/O (輸入/輸出)接口 22連接到總線18。在該示例中,存儲(chǔ)器28包括控制面板接Π 40。
[0033]計(jì)算機(jī)系統(tǒng)/服務(wù)器12還可以與一個(gè)或多個(gè)外部設(shè)備14通信,諸如鍵盤(pán)、定點(diǎn)設(shè)備、顯示器24、等等;使用戶能夠與計(jì)算機(jī)系統(tǒng)/服務(wù)器12進(jìn)行交互的一個(gè)或多個(gè)設(shè)備;和/或使計(jì)算機(jī)系統(tǒng)/服務(wù)器12能夠與一個(gè)或多個(gè)其他計(jì)算設(shè)備通信的任何設(shè)備(例如,網(wǎng)卡、調(diào)制解調(diào)器等等)。這樣的通信可以例如經(jīng)由I/o接口 22發(fā)生。另外,計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以經(jīng)由網(wǎng)絡(luò)適配器20與一個(gè)或多個(gè)網(wǎng)絡(luò)通信,諸如局域網(wǎng)(LAN)、一般的廣域網(wǎng)(WAN)、和/或公共網(wǎng)(例如互聯(lián)網(wǎng))。如圖所示,網(wǎng)絡(luò)適配器20經(jīng)由總線18與計(jì)算機(jī)系統(tǒng)/服務(wù)器12的其他組件通信。應(yīng)當(dāng)理解,盡管沒(méi)有示出,但是其他硬件和/或軟件組件可以結(jié)合計(jì)算機(jī)系統(tǒng)/服務(wù)器12 —起使用。示例包括但不限于微代碼、設(shè)備驅(qū)動(dòng)器、冗余處理單元、外部磁盤(pán)驅(qū)動(dòng)陣列、RAID系統(tǒng)、磁帶驅(qū)動(dòng)器和數(shù)據(jù)檔案存儲(chǔ)系統(tǒng)等等。
[0034]計(jì)算設(shè)備112還包括經(jīng)由總線118互連的存儲(chǔ)器128_1、一個(gè)或多個(gè)處理單元116、一個(gè)或多個(gè)I/O接口 112、以及一個(gè)或多個(gè)網(wǎng)絡(luò)適配器120。存儲(chǔ)器128可以包括非易失性和/或易失性RAM、高速緩沖存儲(chǔ)器132和存儲(chǔ)系統(tǒng)134。取決于實(shí)施,存儲(chǔ)器128可以包括可移除或不可移除的非易失性存儲(chǔ)器。在本示例中,存儲(chǔ)器128包括插裝的應(yīng)用(instrumented applicat1n) 140,其包括自適應(yīng)UI庫(kù)190 (其包括應(yīng)用140的UI的描述194)。計(jì)算設(shè)備112可以包括或被耦合到具有Π 125-1的顯示器124-1。取決于實(shí)施,計(jì)算設(shè)備112可以或可以不被耦合到外部設(shè)備114。例如,顯示器124可以是觸摸屏、平板顯示器、監(jiān)視器、電視、投影儀。UI 125可以是用于應(yīng)用和/或用于特定計(jì)算設(shè)備112的操作系統(tǒng)的任何Π??偩€118可以是適用于平臺(tái)的任何總線,包括在上文針對(duì)總線118描述的那些總線。存儲(chǔ)器130、132和134可以分別是上述的那些存儲(chǔ)器30、32、34。一個(gè)或多個(gè)網(wǎng)絡(luò)適配器120可以是有線或無(wú)線網(wǎng)絡(luò)適配器。I/O接口 122可以是諸如USB(通用串行總線)、SATA (串行AT附件)、HDMI (高清晰度多媒體接口)等等之類(lèi)的接口。一個(gè)或多個(gè)處理單元16、116可以是用于控制各個(gè)計(jì)算設(shè)備的操作的任何適當(dāng)?shù)目刂破鳎T如通用處理器、單核或多核處理器、專(zhuān)用集成電路、片上系統(tǒng)、可編程邏輯等等。
[0035]UI 125-1可以包含來(lái)自插裝的應(yīng)用140以及例如已經(jīng)針對(duì)其開(kāi)發(fā)了插裝的應(yīng)用140的平臺(tái)的操作系統(tǒng)的元素。然而,為了簡(jiǎn)化,Π 125-1在此被假設(shè)成由插裝的應(yīng)用140(例如,以及自適應(yīng)Π庫(kù)190)創(chuàng)建。因此,Π 125-1被假設(shè)成是該應(yīng)用的UI,盡管技術(shù)上Π 125-1可能包含用于該操作系統(tǒng)的元素。
[0036]開(kāi)發(fā)者設(shè)備220也在圖1中不出。開(kāi)發(fā)者設(shè)備220可以被認(rèn)為與計(jì)算設(shè)備112類(lèi)似,因此(除了存儲(chǔ)器128-2、顯示器124-2和Π 125-2之外)開(kāi)發(fā)者設(shè)備220的內(nèi)部構(gòu)件沒(méi)有示出。開(kāi)發(fā)者設(shè)備220包括存儲(chǔ)器128-2,存儲(chǔ)器128-2包括應(yīng)用210和網(wǎng)絡(luò)瀏覽器180。UI 125-1可以包括該應(yīng)用的UI的表示185和控制面板的表示186中的一個(gè)或二者。
[0037]在該示例中,計(jì)算機(jī)系統(tǒng)/服務(wù)器12、計(jì)算設(shè)備112和開(kāi)發(fā)者設(shè)備220經(jīng)由網(wǎng)絡(luò)50和鏈路51、52和53互連。網(wǎng)絡(luò)50 —般是互聯(lián)網(wǎng),但也可以是如企業(yè)網(wǎng)之類(lèi)的其他網(wǎng)絡(luò)。
[0038]圖1的系統(tǒng)中的元件以及元件之間的交互在下面更詳細(xì)地解釋。然而,現(xiàn)在給出示例性的交互的簡(jiǎn)要介紹。在一個(gè)示例性實(shí)施例中,應(yīng)用210被插裝有自適應(yīng)Π庫(kù)190以創(chuàng)建插裝的應(yīng)用140。例如,該插裝可以由計(jì)算機(jī)系統(tǒng)/服務(wù)器12、開(kāi)發(fā)者設(shè)備220或某個(gè)其他計(jì)算機(jī)系統(tǒng)執(zhí)行。開(kāi)發(fā)者或其他人可以執(zhí)行該插裝。假設(shè)應(yīng)用220在把插裝的應(yīng)用140安裝在計(jì)算設(shè)備112上之前被插裝到插裝的應(yīng)用140中。
[0039]一旦插裝的應(yīng)用140開(kāi)始在計(jì)算設(shè)備112上執(zhí)行,自適應(yīng)Π 190就在插裝的應(yīng)用140正在運(yùn)行時(shí)捕獲插裝的應(yīng)用140的UI (例如,視圖)的描述194,該描述被分解成其各種組件并且包括針對(duì)那些組件的布局信息。組件是從系統(tǒng)定義的Π可呈現(xiàn)組件導(dǎo)出的任何對(duì)象,所述系統(tǒng)定義的UI可呈現(xiàn)組件被系統(tǒng)定義為最基礎(chǔ)的UI對(duì)象,所有其他UI對(duì)象從該最基礎(chǔ)的UI對(duì)象導(dǎo)出。該描述中的信息通過(guò)使用對(duì)象自省(object introspect1n)的反射(reflect1n)或其他方法從各種組件中捕獲。在面向?qū)ο缶幊陶Z(yǔ)言中,反射允許在運(yùn)行時(shí)檢查類(lèi)、接口、字段和方法而無(wú)需知道該接口、字段、方法在編譯時(shí)的名字。反射還允許新對(duì)象的安裝和方法的調(diào)用。通過(guò)使用例如標(biāo)準(zhǔn)互聯(lián)網(wǎng)協(xié)議,描述194被自適應(yīng)UI 190發(fā)送給控制面板接口 40。
[0040]開(kāi)發(fā)者使用開(kāi)發(fā)者設(shè)備220訪問(wèn)控制面板的表示186,在該示例中,通過(guò)使用訪問(wèn)控制面板接口 40的網(wǎng)絡(luò)瀏覽器180來(lái)訪問(wèn)應(yīng)用UI的版本的表示185。網(wǎng)絡(luò)瀏覽器180是將捕獲自計(jì)算設(shè)備112的數(shù)據(jù)呈現(xiàn)給開(kāi)發(fā)者的一種典型方式。然而,用于將來(lái)自計(jì)算設(shè)備112的數(shù)據(jù)上游至控制面板41的數(shù)據(jù)/協(xié)議獨(dú)立于控制面板41的實(shí)際呈現(xiàn)。即,網(wǎng)絡(luò)瀏覽器180僅僅是開(kāi)發(fā)者如何訪問(wèn)控制面板41的一個(gè)示例,其他選擇也是可能的。計(jì)算機(jī)系統(tǒng)/服務(wù)器12向開(kāi)發(fā)者設(shè)備220發(fā)送UI表示信息142和控制面板表示信息143。網(wǎng)絡(luò)瀏覽器180將該信息分別作為應(yīng)用UI的表示185和控制面板的表示186呈現(xiàn)在UI 125-2上。通過(guò)使用網(wǎng)絡(luò)瀏覽器180,開(kāi)發(fā)者能夠修改關(guān)于控制面板的表示186的信息,并且網(wǎng)絡(luò)瀏覽器180將向計(jì)算機(jī)系統(tǒng)/服務(wù)器12發(fā)送修訂的控制面板表示信息143??刂泼姘褰涌?40可以發(fā)送修訂后的控制面板表示信息143,和/或響應(yīng)于開(kāi)發(fā)者設(shè)備220發(fā)送的修訂后的控制面板表示信息143而發(fā)送修訂后的UI表示信息142。然后,計(jì)算機(jī)系統(tǒng)/服務(wù)器12使用控制面板的修訂后的表示186來(lái)向計(jì)算設(shè)備112發(fā)送更新消息141。針對(duì)更新消息的示例性協(xié)議在圖5B、6B和6C中示出。自適應(yīng)UI庫(kù)190接收更新消息141,并且可以修訂UI125-1的視圖。該視圖沒(méi)有在圖1中的Π 125-1上示出,而是在其他附圖中示出。
[0041]在一個(gè)示例中,控制面板接口 40是計(jì)算機(jī)可讀代碼,其響應(yīng)于處理單元16的代碼執(zhí)行,使計(jì)算機(jī)系統(tǒng)/服務(wù)器12執(zhí)行此處描述的操作。在一個(gè)示例中,插裝的應(yīng)用140和插裝的自適應(yīng)Π庫(kù)190是計(jì)算機(jī)可讀代碼,其響應(yīng)于處理單元216的代碼執(zhí)行,使計(jì)算設(shè)備112執(zhí)行此處描述的操作。
[0042]轉(zhuǎn)到圖2,根據(jù)一個(gè)示例性實(shí)施例示出聯(lián)網(wǎng)環(huán)境。在該示例中,計(jì)算機(jī)系統(tǒng)/服務(wù)器12被示出與網(wǎng)絡(luò)50分離,但可以是該網(wǎng)絡(luò)的一部分。示出存在著從A到E的不同的計(jì)算設(shè)備112:智能電話112A、臺(tái)式計(jì)算機(jī)112B、膝上型計(jì)算機(jī)112C、平板112D、電視112E和汽車(chē)計(jì)算機(jī)系統(tǒng)112F。未示出但同樣適用的是機(jī)頂盒和游戲控制臺(tái)。這些僅僅是示例性的,也可以使用其他設(shè)備。因此,盡管下面提供的示例主要著重于移動(dòng)設(shè)備(諸如智能電話112A或平板112D),但是該技術(shù)也可以應(yīng)用于許多其他的計(jì)算設(shè)備。
[0043]圖1中所示的總體系統(tǒng)允許開(kāi)發(fā)者(例如,應(yīng)用擁有者)執(zhí)行隨后的任務(wù)而無(wú)需看或者修改該應(yīng)用的源代碼。
[0044]自適應(yīng)UI 190提供UI體驗(yàn),該體驗(yàn)可以在應(yīng)用210已經(jīng)發(fā)布并作為插裝的應(yīng)用140安裝在客戶端機(jī)器(例如,計(jì)算設(shè)備112)上之后被改變。下面是與自適應(yīng)Π庫(kù)190有關(guān)的非限制性示例。自適應(yīng)Π庫(kù)190使用由開(kāi)發(fā)平臺(tái)提供的本地API編寫(xiě)。例如,本地API例如可以用于1S(蘋(píng)果公司開(kāi)發(fā)和分銷(xiāo)的移動(dòng)操作系統(tǒng))、Android(谷歌公司設(shè)計(jì)的操作系統(tǒng),主要用于觸摸屏移動(dòng)設(shè)備,諸如智能電話和平板計(jì)算機(jī))、或Windows (微軟公司設(shè)計(jì)的操作系統(tǒng),用于計(jì)算機(jī)系統(tǒng)、平板和手機(jī))。自適應(yīng)Π庫(kù)190對(duì)于開(kāi)發(fā)者來(lái)說(shuō)是透明的,并且可以在后編譯時(shí)間被注入到應(yīng)用210中。自適應(yīng)Π庫(kù)190可以在應(yīng)用視圖內(nèi)添加、移除或重定位Π組件。自適應(yīng)Π庫(kù)190可以修改組件的外觀或顏色。自適應(yīng)Π庫(kù)190可以從查看區(qū)域中擦除敏感數(shù)據(jù)。自適應(yīng)Π庫(kù)190可以修改呈現(xiàn)Π 125-1的特征(諸如字體類(lèi)型和大小)的文本。
[0045]因此,自適應(yīng)Π庫(kù)系統(tǒng)允許在應(yīng)用已發(fā)布之后更新應(yīng)用的H。此外,Π策略可以編譯到應(yīng)用(例如,插裝的應(yīng)用140)中,推送至計(jì)算設(shè)備112,或者由計(jì)算設(shè)備112從應(yīng)用服務(wù)器(例如,計(jì)算機(jī)系統(tǒng)/服務(wù)器12)中輪詢(poll)。自適應(yīng)Π庫(kù)190可以定義用于控制所部署的一個(gè)、一組或所有應(yīng)用的用戶接口的語(yǔ)言、協(xié)議和策略。
[0046]已經(jīng)提供了系統(tǒng)和示例性實(shí)施例的概述,現(xiàn)在提供關(guān)于額外的示例性實(shí)施例的更多細(xì)節(jié)。
[0047]參考圖3,該附圖是控制面板41的表示186以及應(yīng)用UI的表示186_1、186_2的示圖。這些被網(wǎng)絡(luò)瀏覽器180呈現(xiàn)在開(kāi)發(fā)者設(shè)備220的顯示器124-2的Π 125-2上。在該示例中,UID 345是分配給運(yùn)行該應(yīng)用的給定設(shè)備的唯一標(biāo)識(shí)符(UID)。還存在著分配給UI中的每個(gè)相關(guān)組件的唯一標(biāo)識(shí)符。開(kāi)始和增量時(shí)間在某些實(shí)施例中是外來(lái)的(但是可以在其他實(shí)施例中使用),其記錄程序何時(shí)被啟動(dòng)以及服務(wù)器報(bào)告間隔之間的增量。應(yīng)當(dāng)注意的是,因?yàn)榇嬖卺槍?duì)設(shè)備的WD,開(kāi)發(fā)者能夠使得修改適應(yīng)于單個(gè)設(shè)備、幾組設(shè)備或全部設(shè)備。開(kāi)發(fā)者正使用網(wǎng)絡(luò)瀏覽器180來(lái)修改對(duì)象335com.1BM.mobile, profiler.LButton的屬性330(在這種情況下,所示的標(biāo)簽是Java類(lèi)的完全限定名),其是能夠由開(kāi)發(fā)者使用控制面板41進(jìn)行修改的一個(gè)Π組件。該對(duì)象335創(chuàng)建按鈕305 (具有文本“加入會(huì)議(JoinMeeting) ”),并且如“點(diǎn)擊加入會(huì)議(OnClick Join Meeting) ”的數(shù)據(jù)340所示,在點(diǎn)擊按鈕305時(shí),用戶將被允許加入一個(gè)會(huì)議(對(duì)應(yīng)于會(huì)議ID框310)。屬性330控制由對(duì)象335創(chuàng)建的按鈕305應(yīng)該是可見(jiàn)的還是隱藏的。在這種情況下,開(kāi)發(fā)者已經(jīng)將屬性從由應(yīng)用UI的表示185-1所示“可見(jiàn)”改變?yōu)橛蓱?yīng)用UI的表示185-2所示的“隱藏”。一旦開(kāi)發(fā)者按下控制面板41的表示186中的“改變”按鈕350,屬性“隱藏”就生效。
[0048]表示的組320通過(guò)箭頭315連接,其向開(kāi)發(fā)者指出應(yīng)用210的原始視圖(如表示185-1所示)如何被修改成新的視圖(如表示185-2所示)。計(jì)算機(jī)系統(tǒng)/服務(wù)器12發(fā)送適當(dāng)?shù)摩氨硎拘畔?42和控制面板表示信息143,以創(chuàng)建Π 125-2上的所指示的信息。類(lèi)似地,網(wǎng)絡(luò)瀏覽器180和開(kāi)發(fā)者設(shè)備220將開(kāi)發(fā)者做出的改變發(fā)送給計(jì)算機(jī)系統(tǒng)/服務(wù)器12。圖3僅僅是示例性的,并且所示信息可以不用這種方式呈現(xiàn)。例如,可以一次只顯示應(yīng)用UI的一個(gè)表不185,表不185-1將在開(kāi)發(fā)者點(diǎn)擊“改變”按鈕350之前被顯不,并且表不185-2將在開(kāi)發(fā)者已點(diǎn)擊“改變”按鈕350之后被顯示。另外,還可以有其他實(shí)施例,諸如讓控制面板的表示186包括諸如“執(zhí)行改變”(例如,其使網(wǎng)絡(luò)瀏覽器180向控制面板接口 40發(fā)送消息以請(qǐng)求控制面板接口 40實(shí)際執(zhí)行對(duì)一個(gè)或多個(gè)插裝的應(yīng)用140的改變)或“放棄改變”(例如,其放棄當(dāng)前改變并將視圖保持在之前的狀態(tài))之類(lèi)的按鈕。此外,還可以存在允許開(kāi)發(fā)者同時(shí)做出幾個(gè)改變并執(zhí)行所有改變(或放棄所有改變)的選項(xiàng)。
[0049]關(guān)于針對(duì)動(dòng)態(tài)Π更新的系統(tǒng)設(shè)計(jì),圖4A是從基于網(wǎng)絡(luò)的控制面板提供動(dòng)態(tài)Π更新的示例性系統(tǒng)設(shè)計(jì)的示圖。該示圖示出結(jié)構(gòu)示意圖,關(guān)于控制面板(示出為控制面板接口 40)如何映射到在客戶端上運(yùn)行的程序(即,自適應(yīng)Π 190)。該示圖還指出針對(duì)Π布局的典型樹(shù)結(jié)構(gòu)??刂泼姘褰涌?40被示出具有應(yīng)用模型490,其是針對(duì)應(yīng)用210的UI 125-1的模式。該應(yīng)用模型490包括視圖1d(標(biāo)識(shí)符)410和小部件(widget)指示412,它們各自相對(duì)于UI 125-1中的其他視圖和小部件是唯一的。如下所述,小部件412對(duì)應(yīng)于圖5A中的文本對(duì)象520。數(shù)字2210045020是該小部件的唯一 ID (標(biāo)識(shí))。小部件412具有兩個(gè)屬性,字體414 (Arial)和顏色416(紅色)。小部件418對(duì)應(yīng)于圖5A中所示的背景對(duì)象530。小部件418包括兩個(gè)屬性,背景420 (示例中為藍(lán)色)和幾何結(jié)構(gòu)422 (具有22px的x和10px的y,其中“px”為像素)。
[0050]在該示例中,用戶已經(jīng)將顏色變量416從某種其他顏色改變?yōu)榧t色。控制面板接口 40生成更新UI消息425并通知網(wǎng)絡(luò)偵聽(tīng)器405,網(wǎng)絡(luò)偵聽(tīng)器405向計(jì)算設(shè)備112發(fā)送更新Π消息141。消息141由自適應(yīng)Π庫(kù)190接收,具體地由網(wǎng)絡(luò)偵聽(tīng)器430接收。在該示例中,自適應(yīng)UI庫(kù)190在類(lèi)圖(class diagram)中不出。網(wǎng)絡(luò)偵聽(tīng)器430向自適應(yīng)UI庫(kù)對(duì)象435轉(zhuǎn)發(fā)更新UI消息450。自適應(yīng)UI庫(kù)190 (例如,經(jīng)由小部件映射(WidgetMap) 440)保存小部件實(shí)例470的映射對(duì)象455,并且當(dāng)程序(例如,在發(fā)現(xiàn)階段期間)開(kāi)始運(yùn)行時(shí)創(chuàng)建該庫(kù)。小部件實(shí)例470基本上定義原始UI 471,而MyWidget (我的小部件)實(shí)例485 (例如,與小部件接口 470相結(jié)合)定義新Π 486。自適應(yīng)Π庫(kù)190理解如何通過(guò)公共的小部件480接口(例如,使用Updated (更新Π)對(duì)象445)與小部件的映射交互。自適應(yīng)Π庫(kù)190 (例如,經(jīng)由自適應(yīng)Π對(duì)象435)在映射對(duì)象455中查找目標(biāo)小部件。該圖示出標(biāo)注為Myffidget對(duì)象485的目標(biāo)小部件特定實(shí)例。更新UI消息450在從映射對(duì)象455取回目標(biāo)之后被轉(zhuǎn)發(fā)給MyWidget對(duì)象485。然后,Myffidget對(duì)象485存儲(chǔ)對(duì)應(yīng)于更新UI消息480的命令(在一個(gè)示例中),然后向操作系統(tǒng)(0S)475設(shè)置自身為已變更。當(dāng)操作系統(tǒng)475回調(diào)到該目標(biāo)即MyWidget對(duì)象485時(shí),視圖被相應(yīng)地呈現(xiàn)。這在下面更詳細(xì)地描述。
[0051]圖4A還以過(guò)分簡(jiǎn)化的方式示出在有或沒(méi)有自適應(yīng)Π 190的情況下,應(yīng)用、插裝的測(cè)量庫(kù)190的部分和OS 475之間的交互。為了便于參考,在此假設(shè)原始應(yīng)用220使用小部件類(lèi)/對(duì)象470和該對(duì)象的其他實(shí)例創(chuàng)建了原始Π 471。小部件類(lèi)/對(duì)象470與OS 475相互作用以便修改或改變顯示器124-1的Π 125-1上的視圖。應(yīng)當(dāng)注意的是,小部件類(lèi)/對(duì)象470是應(yīng)用220的一部分,但是為了便于參考而被分離地示出。在自適應(yīng)Π 190中,Myffidget類(lèi)/對(duì)象485 (其是插裝的應(yīng)用140的一部分)重寫(xiě)(override)小部件類(lèi)/對(duì)象470。插裝的應(yīng)用140調(diào)用MyWidget類(lèi)/對(duì)象485而不是調(diào)用小部件類(lèi)/對(duì)象470。為了便于參考,MyWidget類(lèi)/對(duì)象485 (以及MyWidget類(lèi)/對(duì)象485的由自適應(yīng)Π 190形成并且重寫(xiě)應(yīng)用220中的原始類(lèi)/對(duì)象的其他實(shí)例)被認(rèn)為是創(chuàng)建了新Π 486。關(guān)于類(lèi)/對(duì)象重寫(xiě),父類(lèi)/對(duì)象是小部件類(lèi)/對(duì)象470,并且子類(lèi)/對(duì)象是MyWidget類(lèi)/對(duì)象485。在圖中仍能看見(jiàn)父對(duì)象的原因是因?yàn)樽訉?duì)象充當(dāng)父對(duì)象的代理。有條件地,子對(duì)象將取代其父對(duì)象的功能,例如將文本字段的字體顏色屬性改變?yōu)轭伾t色。該字體改變的實(shí)現(xiàn)可能實(shí)際上在該對(duì)象鏈的職責(zé)之外(例如,在其他子系統(tǒng)內(nèi));然而,向其他子系統(tǒng)指出該改變的屬性是由重寫(xiě)的子對(duì)象控制的。
[0052]除了圖4A之外,轉(zhuǎn)到圖4B,針對(duì)基于圖4A的OS、應(yīng)用和自適應(yīng)Π交互示出邏輯流程圖。根據(jù)一個(gè)示例性實(shí)施例,圖4B還示出示例性方法的操作,體現(xiàn)在計(jì)算機(jī)可讀存儲(chǔ)器上的計(jì)算機(jī)程序指令的執(zhí)行結(jié)果,和/或由以硬件實(shí)施的邏輯執(zhí)行的功能。在圖4B的示例中,在框490中,OS 475向應(yīng)用(在這種情況下是插裝的應(yīng)用140)發(fā)送Π交互的消息。插裝的應(yīng)用140接收(框492)該消息,并且根據(jù)其自身的編程來(lái)調(diào)用一個(gè)或多個(gè)對(duì)象來(lái)創(chuàng)建或修改視圖。在框494中,自適應(yīng)Π 190 (例如經(jīng)由重寫(xiě)類(lèi)/對(duì)象485)攔截調(diào)用493。在框496中,自適應(yīng)Π 190執(zhí)行之前已接收到(并且之前已存儲(chǔ),例如作為用于執(zhí)行的命令)的任何更新。也就是說(shuō),當(dāng)重寫(xiě)的類(lèi)/對(duì)象485被插裝的應(yīng)用140調(diào)用時(shí),重寫(xiě)的類(lèi)/對(duì)象485可能之前已經(jīng)接收到更新Π消息480并且可能已經(jīng)存儲(chǔ)該消息(例如作為命令)以用于執(zhí)行。重寫(xiě)的類(lèi)/對(duì)象485執(zhí)行任何更新。應(yīng)當(dāng)注意的是,雖然子對(duì)象(重寫(xiě)的類(lèi)/對(duì)象485)存在于存儲(chǔ)器中,但是子對(duì)象可以將消息480的最終結(jié)果存儲(chǔ)為該子對(duì)象的屬性。另外,在重寫(xiě)的類(lèi)/對(duì)象485的生命周期已經(jīng)結(jié)束的條件下,消息可以以鍵/值的形式存儲(chǔ)在映射類(lèi)/對(duì)象455中。如果生命周期已經(jīng)結(jié)束,則該改變可以在新對(duì)象485實(shí)例化時(shí)得到實(shí)施。即,定制小部件485在實(shí)例化過(guò)程中從映射455查詢它們的Π策略。如果對(duì)象485在映射中沒(méi)有被引用,則對(duì)象485將呈現(xiàn)在應(yīng)用中定義的缺省UI。此外,映射455在應(yīng)用的整個(gè)生命中始終存留,并且當(dāng)創(chuàng)建對(duì)象時(shí)(例如在Java中通過(guò)重寫(xiě)類(lèi)加載器,或者在1S中通過(guò)方法重組(swizzling)),新對(duì)象被自動(dòng)地子類(lèi)化(或歸類(lèi))。當(dāng)啟動(dòng)應(yīng)用時(shí),應(yīng)用140 —般檢查服務(wù)器12以獲得任何對(duì)其策略的更新。在框498中,重寫(xiě)的類(lèi)/對(duì)象485向OS 475設(shè)置自身為已變更。在框499中,OS 475回調(diào)重寫(xiě)類(lèi)/對(duì)象485的UI,這導(dǎo)致視圖將被呈現(xiàn)在顯示器上。
[0053]轉(zhuǎn)到圖5A,其示出與圖4的應(yīng)用模型的一部分相對(duì)應(yīng)的應(yīng)用140的Π的視圖510。在該示例中,文本對(duì)象520-1到520-6對(duì)應(yīng)于小部件對(duì)象412,并且是用帶有紅色的Arial字體呈現(xiàn)的。背景530對(duì)應(yīng)于小部件對(duì)象418并且具有藍(lán)色背景。
[0054]圖5B示出用來(lái)改變與圖5A中所示視圖相對(duì)應(yīng)的應(yīng)用視圖510中的對(duì)象的示例性協(xié)議590。針對(duì)動(dòng)態(tài)Π改變的協(xié)議可以使用標(biāo)準(zhǔn)網(wǎng)絡(luò)瀏覽器遞送到客戶端(例如,計(jì)算設(shè)備112)。該協(xié)議由客戶端使用并且通過(guò)接口連接到現(xiàn)有的運(yùn)行時(shí)間對(duì)象來(lái)修改Π。例如,協(xié)議590可以在更新Π消息141中被用來(lái)實(shí)現(xiàn)對(duì)用于插裝的應(yīng)用140的Π的改變。例如,協(xié)議590可以以JS0N(服務(wù)器響應(yīng)內(nèi)容類(lèi)型是應(yīng)用/json)來(lái)實(shí)施。JSON(JavaScriptObject Notat1n, Java腳本對(duì)象注解)是一種輕量級(jí)數(shù)據(jù)交換格式。插裝的應(yīng)用140和服務(wù)器12之間的通信可以遵循典型的REST(表述性狀態(tài)轉(zhuǎn)移)架構(gòu)。應(yīng)用140做出其自身對(duì)服務(wù)器12的“直接”連接,并且因此理解:服務(wù)器響應(yīng)(JS0N,HTML或其他)與來(lái)自應(yīng)用140的各個(gè)請(qǐng)求配對(duì)。使用網(wǎng)絡(luò)瀏覽器180選擇對(duì)象允許修改該對(duì)象在客戶端的UI (由插裝的應(yīng)用140導(dǎo)致的UI)上的外觀(或其他特征)。被選擇的對(duì)象可以集合成模擬視圖樹(shù)的樹(shù)結(jié)構(gòu)。也就是說(shuō),應(yīng)用的一般視圖以視圖樹(shù)的形式構(gòu)造,并且將要修改的被選擇對(duì)象可以集合成模擬該視圖樹(shù)的樹(shù)結(jié)構(gòu)。
[0055]在該示例中,協(xié)議590-1包括應(yīng)用的指示540 ( “applicat1n”:“com.yourcompany.Tabster”)和設(shè)備的指不 547 ( “device”:“640960”)。視圖由“views”545 和“viewid”: “ListView”指不 550,并且該視圖內(nèi)的對(duì)象由“objects”和指不 555“objectid”:“064300107”指示560??梢约僭O(shè),圖5B中的ListView的視圖1D與圖4中的視圖1d 410相同。只要視圖1D是唯一的,則視圖1D是什么是沒(méi)有關(guān)系的。指示566指出“font”:“system”具有紅顏色(由“顏色紅色”的指示570指出)。因此,自適應(yīng)Π庫(kù)190可以確定字體顏色應(yīng)該是紅色,并且如參考圖4所述完成該改變。圖5B還示出可以被改變的另一個(gè)屬性。如指示575 ( “background”: “blue”)所示,背景可以從背景本來(lái)的任何顏色被改變成藍(lán)顏色。
[0056]還可以看出,協(xié)議590-1以與該應(yīng)用的視圖樹(shù)相對(duì)應(yīng)的樹(shù)結(jié)構(gòu)進(jìn)行組織,因?yàn)閰f(xié)議590-1 (經(jīng)由545,550)指出哪個(gè)視圖610 (例如“樹(shù)”的“樹(shù)干”或“主分支”)受影響,并且(經(jīng)由560,555,565,570和575)指出被影響的對(duì)象520-6 (例如,在可能屬于“樹(shù)”的情況下,“樹(shù)葉”或“較小分支”)。
[0057]參考圖6A,該圖示出類(lèi)似于圖5A中的視圖的應(yīng)用140的另一視圖610,不同之處在于文本對(duì)象已經(jīng)從視圖610中被清除(與圖5A的視圖510相比)。圖6B示出示例性協(xié)議590-2,其被用來(lái)從圖5A的視圖中擦除文本對(duì)象以創(chuàng)建圖6A中的視圖。在這種情況下,與(由指示560指出的)文本對(duì)象相關(guān)聯(lián)的是清除文本對(duì)象中的數(shù)據(jù)的命令。該命令由指示 620(即 “data”: “clear”)說(shuō)明。
[0058]對(duì)上述的擴(kuò)展會(huì)涉及策略。開(kāi)發(fā)者可以決定:對(duì)Π的修改應(yīng)當(dāng)基于策略或基于多個(gè)策略。說(shuō)明性地,開(kāi)發(fā)者可以選擇臨時(shí)性地(例如,對(duì)于特定時(shí)間段)或永久性地實(shí)施修改。作為另一個(gè)示例,開(kāi)發(fā)者可以選擇自動(dòng)或手動(dòng)地實(shí)施策略。這類(lèi)策略可以包括限制復(fù)制的數(shù)量(例如,經(jīng)由Π上的選擇按鈕,并且限制用戶使用該選擇按鈕可選擇的數(shù)量),通過(guò)清除Π上的值來(lái)阻止復(fù)制,不允許轉(zhuǎn)發(fā)(例如,通過(guò)移除“轉(zhuǎn)發(fā)按鈕”),等等。手動(dòng)實(shí)施是這樣的情況:例如通過(guò)將針對(duì)選擇按鈕的被允許復(fù)制數(shù)量的值設(shè)置為特定值,開(kāi)發(fā)者使用網(wǎng)絡(luò)瀏覽器180來(lái)使該策略發(fā)生。自動(dòng)實(shí)施涉及開(kāi)發(fā)者使用網(wǎng)絡(luò)瀏覽器180創(chuàng)建策略,諸如針對(duì)選擇按鈕的“policy (策略)”:“Limitto Value 10(限制到值10)”。一般來(lái)說(shuō),手動(dòng)實(shí)施使策略立即得到實(shí)施,一般不考慮其他約束。同時(shí),自動(dòng)策略可能涉及其他約束,諸如具有時(shí)間限制,例如使對(duì)UI的修改持續(xù)一段時(shí)間,使修改僅在上班時(shí)間內(nèi)(或者只在下班后的時(shí)間內(nèi)),等等。策略可以使修改基于計(jì)算設(shè)備112的位置、用戶對(duì)Π采取的動(dòng)作、當(dāng)日的時(shí)間(time of day)、傳感器數(shù)據(jù)等等而被實(shí)現(xiàn)。
[0059]圖6C示出用來(lái)從圖5A的視圖中擦除文本對(duì)象以創(chuàng)建圖6A中的視圖的示例性協(xié)議,其中該擦除將根據(jù)策略來(lái)實(shí)施。該示例中的策略由指示630-1即“policy”: “WhileNotAtWork”說(shuō)明,其意味著當(dāng)計(jì)算設(shè)備112可以確定用戶不在工作時(shí),“清除”動(dòng)作會(huì)得到實(shí)現(xiàn)。類(lèi)似地,策略可以如下:“poliCy”:“ValidfOr30DayS” (附圖標(biāo)記630-2),指出“清除”動(dòng)作應(yīng)該持續(xù)有效30天;“policy”:“While0ffSite” (附圖標(biāo)記630-3),指出“清除”動(dòng)作應(yīng)該在計(jì)算設(shè)備112在場(chǎng)外時(shí)得到實(shí)現(xiàn);“policy” =iiWhileUserConnectedtoInsecureConnect1n” (附圖標(biāo)記630-4),指出“清除”動(dòng)作應(yīng)該在用戶(和計(jì)算設(shè)備112)被連接到不安全連接時(shí)得到實(shí)現(xiàn)。
[0060]如上所述,自適應(yīng)Π庫(kù)190可以插裝到應(yīng)用210中以創(chuàng)建插裝的應(yīng)用140。自適應(yīng)UI庫(kù)190可以用最少或不用源代碼修改而被注入到應(yīng)用中。因此,自適應(yīng)UI庫(kù)190可以對(duì)開(kāi)發(fā)者來(lái)說(shuō)是透明的?,F(xiàn)在描述兩個(gè)實(shí)施,1S和安卓(Android),盡管如Windows之類(lèi)的其他實(shí)施也是可能的。向客戶端中注入自適應(yīng)Π庫(kù)在1S和安卓上被不同地執(zhí)行。在1S上,可以經(jīng)由Xcode鏈接器在應(yīng)用的編譯和鏈接階段期間來(lái)實(shí)現(xiàn)。圖7A示出使用類(lèi)別和重組來(lái)插裝1S應(yīng)用的示例。具體地,圖7A是示出對(duì)象行為的重寫(xiě)的結(jié)構(gòu)示意圖。該代碼需要被編譯并鏈接到源應(yīng)用中。在該示例中,方法3重寫(xiě)方法2。如附圖標(biāo)記710所指出的,方法3將執(zhí)行以下操作來(lái)重寫(xiě)方法2的行為:1.記錄方法2的調(diào)用;2.調(diào)用原始方法2 ;和3.可選地返回記錄的結(jié)果。
[0061]在安卓上,注入可以經(jīng)由Java字節(jié)碼重寫(xiě)來(lái)執(zhí)行,而無(wú)需源代碼訪問(wèn)或重新鏈接并重新編譯該應(yīng)用。圖7B示出使用類(lèi)加載來(lái)插裝安卓應(yīng)用的示例。在該示例中,如附圖標(biāo)記720所示,插裝類(lèi)執(zhí)行以下操作:1.重寫(xiě)操作類(lèi);2.記錄操作狀態(tài)和數(shù)據(jù);和3.調(diào)用操作安卓類(lèi)(Operat1n Android Class)。
[0062]參考圖8,該圖是由計(jì)算機(jī)系統(tǒng)/服務(wù)器12執(zhí)行以用于透明地實(shí)現(xiàn)具有自適應(yīng)用戶接口的軟件應(yīng)用的邏輯流程圖。此外,根據(jù)示例性實(shí)施例,該圖示出示例性方法的操作,體現(xiàn)在計(jì)算機(jī)可讀存儲(chǔ)器上的計(jì)算機(jī)程序指令的執(zhí)行結(jié)果,和/或由以硬件實(shí)施的邏輯執(zhí)行的功能。圖8中的框可以被假設(shè)成是用于執(zhí)行框中對(duì)應(yīng)功能的互連裝置??蛑械牟僮鞅患僭O(shè)成由計(jì)算機(jī)系統(tǒng)/服務(wù)器12執(zhí)行,例如在控制面板接口 40的控制下執(zhí)行。
[0063]在框805中,計(jì)算機(jī)系統(tǒng)/服務(wù)器12從計(jì)算設(shè)備112接收UI組件的描述,包括針對(duì)那些組件的布局信息。在框810中,響應(yīng)于來(lái)自開(kāi)發(fā)者(例如,使用開(kāi)發(fā)者設(shè)備220)的一個(gè)或多個(gè)請(qǐng)求,計(jì)算機(jī)系統(tǒng)/服務(wù)器12基于UI組件的描述(其包括針對(duì)那些組件的布局信息)呈現(xiàn)控制面板的一個(gè)或多個(gè)表示186。表示186可以通過(guò)一個(gè)或多個(gè)HTML (超文本標(biāo)記語(yǔ)言)文檔、或者通過(guò)有助于允許開(kāi)發(fā)者查看該描述的任何其他技術(shù)來(lái)呈現(xiàn)。
[0064]在框815中,計(jì)算機(jī)系統(tǒng)/服務(wù)器12將針對(duì)策略的可能標(biāo)準(zhǔn)以及對(duì)應(yīng)的可適用策略添加到控制面板的一個(gè)或多個(gè)表示186中。策略820可以包括諸如“實(shí)施修改”820-1之類(lèi)的策略,其可能被用來(lái)指出修改應(yīng)當(dāng)基于對(duì)應(yīng)的標(biāo)準(zhǔn)850被實(shí)施。策略820-2可以被用來(lái)阻止用戶執(zhí)行或允許用戶執(zhí)行動(dòng)作。例如,該策略可以自動(dòng)地阻止用戶(或允許用戶)做出超過(guò)一定數(shù)量的復(fù)制,阻止用戶(或允許用戶)作出任何復(fù)制,阻止(或允許)轉(zhuǎn)發(fā)消屆、,O
[0065]示例性標(biāo)準(zhǔn)850包括以下非限制性標(biāo)準(zhǔn):策略820可以是臨時(shí)的850_1 (例如,持續(xù)由時(shí)間限制850-3指出的時(shí)間段);策略820可以是永久的850-2 ;策略可以具有某些時(shí)間限制850-3(諸如一天、一星期、一月、等等);策略820可以具有當(dāng)日時(shí)間的限制850-4(例如,只在上班時(shí)間或只在下班后的時(shí)間內(nèi));策略820可以被限制到一個(gè)或多個(gè)位置850-5(例如,只在單位或只在家中);策略820可以是對(duì)用戶動(dòng)作的閾值850-6(例如,只能做三次復(fù)制);或者策略820可以基于傳感器數(shù)據(jù)850-7 (例如,只在連接到安全網(wǎng)絡(luò)(通過(guò)W1-Fi傳感器確定)時(shí)允許某個(gè)功能)。
[0066]在框830中,當(dāng)開(kāi)發(fā)者做出修改時(shí),計(jì)算機(jī)系統(tǒng)/服務(wù)器12相應(yīng)地(例如,經(jīng)由HTML文檔)修改控制面板的表示186。在框840中,響應(yīng)于開(kāi)發(fā)者指出修改被完成,計(jì)算機(jī)系統(tǒng)/服務(wù)器12創(chuàng)建對(duì)應(yīng)的更新UI消息141。如上所述,更新UI消息141可以具有與應(yīng)用的視圖樹(shù)相對(duì)應(yīng)的樹(shù)結(jié)構(gòu)。因此,在框845中,計(jì)算機(jī)系統(tǒng)/服務(wù)器12可以使用具有與該應(yīng)用的視圖(例如,510)的視圖樹(shù)相對(duì)應(yīng)的樹(shù)結(jié)構(gòu)的協(xié)議590來(lái)形成更新Π消息141。在框850中,響應(yīng)于來(lái)自開(kāi)發(fā)者的輸入,計(jì)算機(jī)系統(tǒng)/服務(wù)器12向具有自適應(yīng)Π庫(kù)190的一個(gè)、一部分或全部計(jì)算設(shè)備112發(fā)送該消息141。
[0067]轉(zhuǎn)到包括圖9A和圖9B的圖9,該圖是由計(jì)算設(shè)備112執(zhí)行以用于透明地實(shí)現(xiàn)具有自適應(yīng)用戶接口的軟件應(yīng)用的邏輯流程圖。根據(jù)一個(gè)示例性實(shí)施例,圖9示出示例性方法的操作,體現(xiàn)在計(jì)算機(jī)可讀存儲(chǔ)器上的計(jì)算機(jī)程序指令的執(zhí)行結(jié)果,和/或由以硬件實(shí)施的邏輯執(zhí)行的功能。圖9中的框可以被假設(shè)成是用于執(zhí)行框中的對(duì)應(yīng)功能的互連裝置。框中的操作被假設(shè)成例如在自適應(yīng)Π 190的控制下由計(jì)算設(shè)備112執(zhí)行。
[0068]在框905中,例如響應(yīng)于用戶經(jīng)由觸摸屏(如顯示器124-1)選擇應(yīng)用,插裝的應(yīng)用140運(yùn)行。對(duì)于插裝的應(yīng)用140的首次執(zhí)行,自適應(yīng)Π 190進(jìn)入發(fā)現(xiàn)階段901。發(fā)現(xiàn)階段包括:在框910中,自適應(yīng)Π 190執(zhí)行針對(duì)Π組件的對(duì)象檢查。如上所述,在面向?qū)ο缶幊陶Z(yǔ)言中,反射允許在運(yùn)行時(shí)間檢查類(lèi)、接口、字段和方法,而無(wú)需知道該接口、字段、方法在編譯時(shí)的名字。反射還允許新對(duì)象的實(shí)例化以及方法的調(diào)用。在框915中,自適應(yīng)Π190構(gòu)建Π組件的描述194,包括針對(duì)那些組件的布局信息。在框920中,確定Π描述是否是完整的。因此,這樣的描述194可以具有可由插裝的應(yīng)用140創(chuàng)建的所有視圖的描述。如果為否(框920 =否),則流程在框910繼續(xù)。如果為是(框920 =是),則自適應(yīng)Π 190向計(jì)算機(jī)系統(tǒng)/服務(wù)器12發(fā)送(框925)描述194。
[0069]框930向前形成后發(fā)現(xiàn)階段。在該階段中,假設(shè)已經(jīng)做出了插裝的應(yīng)用140的原始視圖集合的完整描述194。在框930中,自適應(yīng)Π 190等待接收更新Π消息141。響應(yīng)于已經(jīng)接收到更新UI消息141 (框935),在框940中,自適應(yīng)UI 190確定該修改是否基于策略。應(yīng)當(dāng)注意的是,該消息可以由插裝的應(yīng)用140 (從計(jì)算機(jī)系統(tǒng)/服務(wù)器12)輪詢,因此在應(yīng)用140當(dāng)前沒(méi)有正在被執(zhí)行時(shí)不能接收消息。如果消息從計(jì)算機(jī)系統(tǒng)/服務(wù)器12被推送到插裝的應(yīng)用140,則客戶端(例如,計(jì)算設(shè)備112) —般會(huì)發(fā)送回該消息的收條(receipt),并且如果服務(wù)器12沒(méi)有在給定時(shí)間內(nèi)接收到該收條,則服務(wù)器12會(huì)再次嘗試發(fā)送該消息。如果修改是基于策略(框940 =是),則自適應(yīng)Π 190確定(框945)是否滿足激活該修改的策略標(biāo)準(zhǔn)。如果為否(框945 =否),則流程進(jìn)行到在框945等待。
[0070]如果滿足激活修改的策略標(biāo)準(zhǔn)(框945 =是),則自適應(yīng)UI 190激活(框955)修改以修改Π 15-1上的當(dāng)前視圖???60執(zhí)行等待操作以根據(jù)是否已滿足重置修改的策略標(biāo)準(zhǔn),來(lái)確定是否重置修改。如果為否(框960 =否),則流程在框960等待;如果為是(框960 =是),則自適應(yīng)UI 190在框965中重置修改。一般來(lái)說(shuō),重置修改會(huì)將視圖恢復(fù)到?jīng)]有修改的原始狀態(tài)。
[0071]在框970中,確定策略是否是周期性的(例如,每天發(fā)生,在工作日或周末發(fā)生,等等)。如果為是(框970 =是),則流程繼續(xù)到框945。如果為否(框970 =否),則流程在框930繼續(xù)。
[0072]如果修改不是基于策略(框940 =否),則在框975中,自適應(yīng)UI 190基于更新UI消息141中的信息(通過(guò)修改一個(gè)或多個(gè)用戶接口組件)修改該應(yīng)用的視圖???75可以例如通過(guò)下述來(lái)執(zhí)行:由視圖提供的用戶接口組件的外觀的改變(例如,將文本從一個(gè)顏色改變?yōu)榱硪粋€(gè)顏色)(框980);由用戶接口組件提供的特征的改變(諸如改變下拉框以只選擇一次復(fù)制而不是一次或多次復(fù)制,或者通過(guò)移除特征或添加特征)(框985);使彈出消息被執(zhí)行(例如,在當(dāng)前視圖之上)(框990);移除一個(gè)或多個(gè)用戶接口組件(框981);和/或添加一個(gè)或多個(gè)用戶接口組件。在框974之后,流程進(jìn)行到框930。
[0073]所屬領(lǐng)域的技術(shù)人員將理解的是,本發(fā)明的各個(gè)方面可以實(shí)施為系統(tǒng)、方法或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明的各個(gè)方面可以采取以下形式,即:完全的硬件實(shí)施方式、完全的軟件實(shí)施方式(包括固件、駐留軟件、微代碼等),或軟件和硬件方面結(jié)合的實(shí)施方式,這里可以統(tǒng)稱(chēng)為“電路”、“模塊”或“系統(tǒng)”。此外,本發(fā)明的各個(gè)方面還可以采取用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式,該計(jì)算機(jī)可讀介質(zhì)上包含有計(jì)算機(jī)可讀程序代碼。
[0074]可以采用一個(gè)或多個(gè)計(jì)算機(jī)可讀介質(zhì)的任意組合。計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是一但不限于——電、磁、光、電磁、紅外線或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的適當(dāng)組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子(非窮舉的列表)包括:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)軟盤(pán)、硬盤(pán)、隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、可擦式可編程只讀存儲(chǔ)器(EPR0M或閃存)、光纖、便攜式緊湊盤(pán)只讀存儲(chǔ)器(CD-ROM)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本文件的上下文中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。
[0075]計(jì)算機(jī)可讀信號(hào)介質(zhì)可以包括例如在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀程序代碼。這種傳播的信號(hào)可以采用各種形式,包括但不限于電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。
[0076]計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于無(wú)線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0077]可以以一種或多種程序設(shè)計(jì)語(yǔ)言的任意組合來(lái)編寫(xiě)用于執(zhí)行本發(fā)明各方面的操作的計(jì)算機(jī)程序代碼,所述程序設(shè)計(jì)語(yǔ)言包括面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言(諸如Java、Smalltalk^++等),還包括常規(guī)的過(guò)程式程序設(shè)計(jì)語(yǔ)言(諸如“C”程序設(shè)計(jì)語(yǔ)言或類(lèi)似的程序設(shè)計(jì)語(yǔ)言)。程序代碼可以完全地在用戶計(jì)算機(jī)上執(zhí)行、部分地在用戶計(jì)算機(jī)上執(zhí)行、作為獨(dú)立的軟件包執(zhí)行、部分在用戶計(jì)算機(jī)上部分在遠(yuǎn)程計(jì)算機(jī)上執(zhí)行、或者完全在遠(yuǎn)程計(jì)算機(jī)或服務(wù)器上執(zhí)行。在涉及遠(yuǎn)程計(jì)算機(jī)的情形中,遠(yuǎn)程計(jì)算機(jī)可以通過(guò)任意種類(lèi)的網(wǎng)絡(luò)一包括局域網(wǎng)(LAN)或廣域網(wǎng)(WAN)—連接到用戶計(jì)算機(jī),或者,可以連接到外部計(jì)算機(jī)(例如利用因特網(wǎng)服務(wù)提供商來(lái)通過(guò)因特網(wǎng)連接)。
[0078]上面參照根據(jù)本發(fā)明實(shí)施例的方法、裝置(系統(tǒng))和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或框圖描述本發(fā)明的各方面。應(yīng)當(dāng)理解的是,流程圖和/或框圖的每個(gè)方框以及流程圖和/或框圖中各方框的組合,都可以由計(jì)算機(jī)程序指令實(shí)現(xiàn)。這些計(jì)算機(jī)程序指令可以提供給通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產(chǎn)出一種機(jī)器,使得這些計(jì)算機(jī)程序指令在通過(guò)計(jì)算機(jī)或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時(shí),產(chǎn)生實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的裝置。
[0079]也可以把這些計(jì)算機(jī)程序指令存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中,這些指令可以使得計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置、或其他設(shè)備以特定方式工作,使得存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)中的指令產(chǎn)生包括實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的指令的制造品°
[0080]計(jì)算機(jī)程序指令還可以加載到計(jì)算機(jī)、其它可編程數(shù)據(jù)處理裝置或其他設(shè)備上,以使一系列操作步驟在計(jì)算機(jī)、其它可編程裝置或其他設(shè)備上被執(zhí)行以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的過(guò)程,使得在計(jì)算機(jī)或其它可編程裝置上執(zhí)行的指令提供用于實(shí)現(xiàn)流程圖和/或框圖中的一個(gè)或多個(gè)方框中規(guī)定的功能/動(dòng)作的處理。
[0081]本文中使用的術(shù)語(yǔ)僅用于描述特定實(shí)施例的目的并且并非旨在對(duì)本發(fā)明進(jìn)行限制。本文中使用的單數(shù)形式“一”和“一個(gè)”旨在也包括復(fù)數(shù)形式,除非上下文有清楚的相反指示。還應(yīng)理解的是,術(shù)語(yǔ)“包括”在本說(shuō)明書(shū)中被使用時(shí),指的是所陳述的特征、整數(shù)、步驟、操作、元件和/或組件的存在,而并不排除一個(gè)或多個(gè)其他特征、整數(shù)、步驟、操作、元件、組件和/或其組合的存在或附加。
[0082]下面的權(quán)利要求中的所有裝置或步驟加功能元件的對(duì)應(yīng)結(jié)構(gòu)、材料、動(dòng)作和等效體意在包括任何用于結(jié)合其他明確宣稱(chēng)的宣稱(chēng)元件來(lái)執(zhí)行功能的結(jié)構(gòu)、材料或動(dòng)作。本發(fā)明的描述已為說(shuō)明和描述之目的呈現(xiàn),而非意在窮盡或?qū)⒈景l(fā)明限制于所公開(kāi)的形式。在不脫離本發(fā)明的范圍和精神的前提下,許多修改和變化對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的。實(shí)施例被選擇并描述以便最佳解釋本發(fā)明的原理和實(shí)際應(yīng)用,并且使得本領(lǐng)域普通技術(shù)人員能夠針對(duì)具有適合于所預(yù)期的特定用途的各種修改的不同實(shí)施例來(lái)理解本發(fā)明。
【權(quán)利要求】
1.一種方法,包括: 由插裝到能夠由計(jì)算設(shè)備執(zhí)行的應(yīng)用中的庫(kù)接收消息,所述消息指示應(yīng)該對(duì)所述應(yīng)用的能夠在所述計(jì)算設(shè)備的顯示器上呈現(xiàn)的一個(gè)或多個(gè)用戶接口組件執(zhí)行一個(gè)或多個(gè)修改; 根據(jù)所述一個(gè)或多個(gè)修改來(lái)修改所述一個(gè)或多個(gè)用戶接口組件,以創(chuàng)建一個(gè)或多個(gè)修改后的用戶接口組件;以及 使所述一個(gè)或多個(gè)修改后的用戶接口組件被呈現(xiàn)在所述計(jì)算設(shè)備的所述顯示器上。
2.如權(quán)利要求1所述的方法,其中所述一個(gè)或多個(gè)用戶接口組件包括一個(gè)或多個(gè)對(duì)象,以及其中以樹(shù)結(jié)構(gòu)形成所述消息,其中由所述應(yīng)用創(chuàng)建的視圖在所述樹(shù)結(jié)構(gòu)中高于所述視圖中的對(duì)象并且更靠近所述樹(shù)結(jié)構(gòu)的根,其中所述視圖中的對(duì)象在所述樹(shù)結(jié)構(gòu)中高于所述對(duì)象的屬性,以及其中所述屬性是所述樹(shù)結(jié)構(gòu)的葉子。
3.如權(quán)利要求1所述的方法,其中所述修改還包括: 由一個(gè)或多個(gè)重寫(xiě)對(duì)象攔截對(duì)一個(gè)或多個(gè)原始對(duì)象的一個(gè)或多個(gè)調(diào)用,其中所述一個(gè)或多個(gè)重寫(xiě)對(duì)象重寫(xiě)所述一個(gè)或多個(gè)原始對(duì)象中的對(duì)應(yīng)原始對(duì)象; 由所述一個(gè)或多個(gè)重寫(xiě)對(duì)象使所述一個(gè)或多個(gè)用戶接口組件根據(jù)所述一個(gè)或多個(gè)修改而被修改;以及 由所述一個(gè)或多個(gè)重寫(xiě)對(duì)象調(diào)用所述一個(gè)或多個(gè)原始對(duì)象。
4.如權(quán)利要求3所述的方法,其中由于所述一個(gè)或多個(gè)重寫(xiě)對(duì)象控制一個(gè)或多個(gè)屬性,所述一個(gè)或多個(gè)重寫(xiě)對(duì)象能夠使所述一個(gè)或多個(gè)用戶接口組件被修改,所述一個(gè)或多個(gè)屬性指示對(duì)實(shí)現(xiàn)所述一個(gè)或多個(gè)用戶接口組件的修改的一個(gè)或多個(gè)子系統(tǒng)的對(duì)應(yīng)的一個(gè)或多個(gè)修改。
5.如權(quán)利要求1所述的方法,還包括執(zhí)行發(fā)現(xiàn)階段,所述發(fā)現(xiàn)階段包括:對(duì)于所述應(yīng)用構(gòu)建用戶接口組件的描述,所述描述包括針對(duì)那些用戶接口組件的布局信息;以及將所述描述的一個(gè)或多個(gè)指示發(fā)送給服務(wù)器。
6.如權(quán)利要求1所述的方法,其中根據(jù)一個(gè)或多個(gè)策略執(zhí)行修改。
7.如權(quán)利要求6所述的方法,其中策略包括:實(shí)現(xiàn)所述一個(gè)或多個(gè)修改。
8.如權(quán)利要求6所述的方法,其中策略包括下述中的一個(gè):使用所述一個(gè)或多個(gè)用戶接口組件阻止用戶執(zhí)行動(dòng)作,或者使用所述一個(gè)或多個(gè)用戶接口組件允許用戶執(zhí)行動(dòng)作。
9.如權(quán)利要求6所述的方法,其中基于所述一個(gè)或多個(gè)策略且響應(yīng)于一個(gè)或多個(gè)標(biāo)準(zhǔn)得到滿足,執(zhí)行所述修改。
10.如權(quán)利要求9所述的方法,其中所述一個(gè)或多個(gè)標(biāo)準(zhǔn)包括下述中的一個(gè)或多個(gè):所述一個(gè)或多個(gè)策略是臨時(shí)性的;所述一個(gè)或多個(gè)策略在一個(gè)或多個(gè)時(shí)間限制內(nèi)發(fā)生;所述一個(gè)或多個(gè)策略在一天的一個(gè)或多個(gè)時(shí)間內(nèi)發(fā)生;所述一個(gè)或多個(gè)策略在一個(gè)或多個(gè)位置發(fā)生;所述一個(gè)或多個(gè)策略取決于一個(gè)或多個(gè)針對(duì)用戶動(dòng)作的閾值;以及所述一個(gè)或多個(gè)策略取決于傳感器數(shù)據(jù)。
11.如權(quán)利要求9所述的方法,其中響應(yīng)于所述一個(gè)或多個(gè)標(biāo)準(zhǔn)中的第一標(biāo)準(zhǔn)得到滿足而執(zhí)行所述修改,以及還包括:響應(yīng)于所述一個(gè)或多個(gè)標(biāo)準(zhǔn)中的第二標(biāo)準(zhǔn)得到滿足,從所述一個(gè)或多個(gè)修改后的用戶接口組件中去除所述一個(gè)或多個(gè)修改,以將所述一個(gè)或多個(gè)修改后的用戶接口組件恢復(fù)到原始狀態(tài)。
12.如權(quán)利要求1所述的方法,其中所述修改還包括:使彈出消息在所述顯示器上被創(chuàng)建。
13.如權(quán)利要求1所述的方法,其中所述修改還包括下述中的一個(gè):去除所述一個(gè)或多個(gè)用戶接口組件中的至少一個(gè),或者添加一個(gè)或多個(gè)新用戶接口組件。
14.如權(quán)利要求1所述的方法,其中所述一個(gè)或多個(gè)修改是對(duì)所述應(yīng)用的所述一個(gè)或多個(gè)用戶接口組件所提供的特征執(zhí)行的。
15.如權(quán)利要求1所述的方法,其中所述一個(gè)或多個(gè)修改是對(duì)所述一個(gè)或多個(gè)用戶接口組件的外觀執(zhí)行的。
16.—種方法,包括: 訪問(wèn)能夠在計(jì)算設(shè)備上執(zhí)行的應(yīng)用的多個(gè)用戶接口組件的描述,其中所述多個(gè)用戶接口組件能夠被所述應(yīng)用呈現(xiàn)在所述計(jì)算設(shè)備的顯示器上; 允許開(kāi)發(fā)者修改有關(guān)所述多個(gè)用戶接口組件中的一個(gè)或多個(gè)的信息; 響應(yīng)于所述開(kāi)發(fā)者對(duì)所述信息的一個(gè)或多個(gè)修改,形成一個(gè)或多個(gè)消息以允許所述一個(gè)或多個(gè)修改和對(duì)應(yīng)的一個(gè)或多個(gè)用戶接口組件被確定;以及 將所述一個(gè)或多個(gè)消息發(fā)送給具有所述應(yīng)用的一個(gè)或多個(gè)計(jì)算設(shè)備。
17.如權(quán)利要求16所述的方法,其中以樹(shù)結(jié)構(gòu)形成所述一個(gè)或多個(gè)消息,其中由所述應(yīng)用創(chuàng)建的視圖在所述樹(shù)結(jié)構(gòu)中高于所述視圖中的對(duì)象并且更靠近所述樹(shù)結(jié)構(gòu)的根,其中所述視圖中的對(duì)象在所述樹(shù)結(jié)構(gòu)中高于所述對(duì)象的屬性,以及其中所述屬性是所述樹(shù)結(jié)構(gòu)的葉子。
18.如權(quán)利要求16所述的方法,其中允許步驟還包括:使用至少一個(gè)網(wǎng)絡(luò)將所述一個(gè)或多個(gè)用戶接口組件的一個(gè)或多個(gè)表示發(fā)送給所述開(kāi)發(fā)者。
19.如權(quán)利要求18所述的方法,其中至少使用數(shù)據(jù)交換格式來(lái)執(zhí)行形成步驟。
20.如權(quán)利要求16所述的方法,其中允許步驟還包括:允許所述開(kāi)發(fā)者修改與所述一個(gè)或多個(gè)用戶接口組件相對(duì)應(yīng)的一個(gè)或多個(gè)策略,以及形成步驟還包括:形成所述一個(gè)或多個(gè)消息,以允許與所述一個(gè)或多個(gè)用戶接口組件相對(duì)應(yīng)的所述一個(gè)或多個(gè)策略被確定。
21.如權(quán)利要求20所述的方法,其中允許步驟還包括:允許所述開(kāi)發(fā)者修改與所述一個(gè)或多個(gè)策略相對(duì)應(yīng)的一個(gè)或多個(gè)標(biāo)準(zhǔn),以及形成步驟還包括:形成所述一個(gè)或多個(gè)消息,以允許與所述一個(gè)或多個(gè)用戶接口組件相對(duì)應(yīng)的所述一個(gè)或多個(gè)策略和所述一個(gè)或多個(gè)標(biāo)準(zhǔn)被確定。
22.如權(quán)利要求21所述的方法,其中所述一個(gè)或多個(gè)標(biāo)準(zhǔn)包括下述中的一個(gè)或多個(gè):所述一個(gè)或多個(gè)策略是臨時(shí)性的;所述一個(gè)或多個(gè)策略在一個(gè)或多個(gè)時(shí)間限制內(nèi)發(fā)生;所述一個(gè)或多個(gè)策略在一天的一個(gè)或多個(gè)時(shí)間內(nèi)發(fā)生;所述一個(gè)或多個(gè)策略在一個(gè)或多個(gè)位置發(fā)生;所述一個(gè)或多個(gè)策略取決于一個(gè)或多個(gè)針對(duì)用戶動(dòng)作的閾值;以及所述一個(gè)或多個(gè)策略取決于傳感器數(shù)據(jù)。
23.一種計(jì)算設(shè)備,包括配置成執(zhí)行權(quán)利要求1至22中任一項(xiàng)的方法步驟的裝置。
【文檔編號(hào)】G06F9/44GK104423969SQ201410432651
【公開(kāi)日】2015年3月18日 申請(qǐng)日期:2014年8月28日 優(yōu)先權(quán)日:2013年8月29日
【發(fā)明者】J·W·里加曼, M·皮斯托亞, J·蓬佐, G·托馬斯 申請(qǐng)人:國(guó)際商業(yè)機(jī)器公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
昌都县| 扬州市| 昔阳县| 新竹县| 商城县| 德清县| 齐河县| 佳木斯市| 屏边| 襄樊市| 长武县| 沙河市| 汾阳市| 淮阳县| 玉门市| 文安县| 裕民县| 白水县| 进贤县| 南靖县| 凌海市| 固原市| 卢氏县| 奎屯市| 泸州市| 德清县| 元江| 东辽县| 盈江县| 肥城市| 得荣县| 昌图县| 四平市| 吕梁市| 新干县| 虹口区| 固原市| 射阳县| 江陵县| 阿拉善盟| 广丰县|