偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

MeeGo開發(fā)進(jìn)程通信核心 DBus調(diào)試工具

移動開發(fā)
在MeeGo開發(fā)中,DBus是MeeGo進(jìn)程通信的核心。在本文中我們簡要的看一下MeeGo系統(tǒng)的哪些地方都使用了DBus.從一個應(yīng)用中啟動另一個應(yīng)用時、Service Framework是基于DBus的、發(fā)布和訂閱者系統(tǒng)、Notification Manager也是基于DBus的、系統(tǒng)的配置文件如果想在變動的時候通知MeeGo中感興趣的應(yīng)用,也需要用到DBus等

我們講過用QML語言開發(fā)MeeGo應(yīng)用程序,在MeeGo開發(fā)中,DBus是MeeGo進(jìn)程通信的核心。我們簡要的看一下MeeGo系統(tǒng)的哪些地方都使用了DBus.

1.從一個應(yīng)用中啟動另一個應(yīng)用時。比如在聯(lián)系人應(yīng)用中想要撥打聯(lián)系人的電話時,MeeGo系統(tǒng)中是通過DBus做進(jìn)程通信的.

2.Service Framework是基于DBus的。比如你看到一個多媒體文件,點擊提交一個"播放文件"的請求,該請求搜索合適的應(yīng)用來播放該文件.

3.發(fā)布和訂閱者系統(tǒng)。比如一個屏幕上的顯示訂閱了電池的電量消息,則在電量變化時通過DBus通知訂閱者.

4.Notification Manager也是基于DBus的。如有短信到達(dá),Notification Manger會進(jìn)行提示.

5.系統(tǒng)的配置文件如果想在變動的時候通知MeeGo中感興趣的應(yīng)用,也需要用到DBus,比如主題的變化等.

6.藍(lán)牙中間件bluez和電話管理系統(tǒng)ofono的進(jìn)程通信系統(tǒng)也是基于DBus的。

鑒于DBus的這種重要性,可以說"沒有DBus就沒有MeeGo”。那么我們也有必要了解一下MeeGo中有哪些DBus工具可以使用,方便在開發(fā)過程中遇到問題時更快的定位和解決問題。

準(zhǔn)備DBUS_SESSION_BUS_ADDRESS

兩個基于DBus的應(yīng)用要能進(jìn)行通信,他們需要有同樣的DBUS_SESSION_BUS_ADDRESS.MeeGo在啟動它的uxlaunch時,會啟動一個DBus的服務(wù)進(jìn)程,可以從這個進(jìn)程里得到DBUS_SESSION_BUS_ADDRESS的值,而且通過uxlaunch加載的應(yīng)用會繼承該環(huán)境變量,如果是自己從命令行啟動的話,那么需要在運行你的應(yīng)用前設(shè)置好該環(huán)境變量,才能正常的和MeeGo系統(tǒng)里的已有應(yīng)用進(jìn)行通信??梢酝ㄟ^如下方法設(shè)置該值.

  1. export `tr ‘\0′ ‘\n’ < /proc/$(pidof duihome)/environ|grep DBUS_SESSION_BUS_ADDRESS`  
  2.  

工具1:dbus-send/dbus-monitor

這個是隨dbus軟件包一起發(fā)布的工具,封裝比較底層,這里不做介紹了??梢栽诳刂婆_命令行里輸入man dbus-send查詢詳細(xì)用法。

工具2:qdbus

該工具是基于Qt的一個命令行工具。用法如下

  1. qdbus [--system] [--literal] [servicename] [path] [method] [args]  
  2. servicename the service to connect to (e.g., org.freedesktop.DBus)  
  3. path the path to the object (e.g., /)  
  4. method the method to call, with or without the interface  
  5. args arguments to pass to the call 

有兩個參數(shù)

–system 連接到system-bus(dbus有兩種bus,一種是session-bus,一種是system-bus,不加參數(shù)默認(rèn)連接到session-bus.)

–literal 打印原始返回信息

* 如果qdbus命令不帶任何參數(shù),將會列出在dbus上所有的service.

* 假如參數(shù)里只有service的名字,那么qdbus會列出所有的對象路徑.

* 如果qdbus命令給出了service的名字和對應(yīng)的對象路徑,則該路徑上的方法,信號和可用的屬性都會被列出來.

qdbus 用法舉例

列出session bus的所有service

  1. $ qdbus  
  2.  

列出system bus的所有service

  1. $ qdbus –system  
  2.  

列出com.nokia.meego-im-uiserver service上所有路徑

  1. $ qdbus com.nokia.meego-im-uiserver  
  2.  

列出com.nokia.meego-im-uiserver service上某一路徑里可用的方法

  1. $ qdbus com.nokia.meego-im-uiserver /org/maemo/duiinputmethodserver1  
  2.  

調(diào)用指定service,指定路徑上的某個方法。

  1. $ qdbus com.nokia.meego-im-uiserver /org/maemo/duiinputmethodserver1 org.maemo.duiinputmethodserver1.showInputMethod  
  2.  

工具3:d-feet

d-feet是一個用python寫的應(yīng)用,在MeeGo中可以用如下命令安裝

  1. #zypper install d-feet  
  2.  

要查看系統(tǒng)里有哪些已經(jīng)注冊的dbus service, 運行d-feet命令

  1. #d-feet  
  2.  

Dfeet-dbus1

如要調(diào)用指定的method,在對應(yīng)的method上雙擊就可以了.

Dfeet-dbus2

如要如果該method需要參數(shù),則會彈出參數(shù)選項框 

Dfeet-dbus3

工具4:qdbusviewer

qdbusviewer則是Qt軟件包中的一個開發(fā)工具,在MeeGo中可以用如下命令安裝

  1. #zypper install qt-devel-tools  
  2.  

要查看系統(tǒng)里有哪些已經(jīng)注冊的dbus service, 運行qdbusviewer命令

  1. #qdbusviewer  
  2.  

Qdbusviewer

如果想調(diào)用對應(yīng)的method,在該方法上點擊鼠標(biāo)右鍵,可以看到”Call”字樣,選擇即可

Qdbusviewer_call

結(jié)語

有了這些工具,你不僅可以很方便的知道系統(tǒng)里的服務(wù)是不是正常被注冊運行了。還可以無中生有的產(chǎn)生一些事件,比如模擬短信收到,或者電話撥入等。這樣你在模擬器上也可以調(diào)試一些本啦需要硬件支持的功能了。

【編輯推薦】

  1. Windows Phone 7 免費線下培訓(xùn)火熱報名中
  2. Myriad虛擬機讓MeeGo運行Android程序
  3. 上網(wǎng)本版MeeGo Core 1.1.90最新測試報告
責(zé)任編輯:佚名 來源: cuteqt
相關(guān)推薦

2011-08-15 17:38:48

iPhone開發(fā)調(diào)試工具

2016-12-02 20:23:51

AndroidADB

2009-04-30 09:02:53

AcerAndroid開發(fā)

2022-08-28 10:36:53

調(diào)試工具通用

2010-06-22 13:46:39

Meego開發(fā)

2024-01-24 13:22:40

Python調(diào)試工具技巧

2023-03-29 08:18:16

Go調(diào)試工具

2024-07-09 08:31:26

2013-03-01 09:39:53

HadoopTwitter大數(shù)據(jù)

2010-11-09 09:43:30

Ubuntu 11.0

2013-09-12 09:49:36

PHP調(diào)試工具PHP調(diào)試工具

2025-03-31 03:25:00

2012-02-24 09:25:20

JavaScript

2013-03-25 11:00:35

互聯(lián)網(wǎng)開發(fā)

2015-05-04 09:48:44

JavaJava開發(fā)調(diào)試工具

2011-02-14 09:06:27

Windows 8開發(fā)進(jìn)程

2025-04-17 08:36:30

2010-07-02 12:58:39

Meego開發(fā)

2022-08-21 14:05:54

調(diào)試工具CDP

2024-02-23 10:00:27

Linux工具
點贊
收藏

51CTO技術(shù)棧公眾號