GraphicThinking_TW_V2.0Part03_tw.pdf

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GraphicThinking_TW_V2.0Part03_tw

Android 架構師手冊_建模與圖形思考 2012/07(第二版) 114 第 5 章 30 分鐘認識 UML 活動圖 5.1 繪製 UML 活動圖(Activity Diagram) 啟動了 Astah,在主畫面上點選 Diagram,出現: 接著,點選Activity Diagram,就會出現一張空白的活動圖,如下: Android 架構師手冊_建模與圖形思考 2012/07(第二版) 115 在空白的活動圖上方,有一排活動圖的元素(Element),簡稱「圖素」,如下: 此列元素中的左邊第 5 個就是「活動」(Action)圖素。當你點選此圖素(如 上圖所示),然後移動滑鼠(Cursor)到圖表裡的特定位置,並按下滑鼠左鍵,就 在圖表裡出現一個活動圖素,如下: Android 架構師手冊_建模與圖形思考 2012/07(第二版) 116 這讓你輸入活動的名稱,例如取名為:bindService(綁定服務),如下: 這個圖素代表一項動作或活動。如果對照到大家所熟悉的程式碼: public class myActivity extends Activity implements OnClickListener { // …….. public void onCreate(Bundle icicle) { super.onCreate(icicle); // …….. // …….. bindService(new Intent(com.misoo.pk01.REMOTE_SERVICE), mConnection, Context.BIND_AUTO_CREATE); } 上圖就表達了這段程式碼裡,由 myActivity 引發(或主導)的活動: 綁定跨進程(Inter-Process)的遠距服務。換句話說,就是與遠距 的服務建立聯機(Connection)。 Android 架構師手冊_建模與圖形思考 2012/07(第二版) 117 一個活動圖裡,有許多項活動,而且有一定的順序。所以必須標示整個 活動流程的起頭。此時可以選取InitialNode圖素,如下: 先點選了這個圖素,接著將滑鼠移動到活動圖的任何位置,就出現了一 個啟始(InitialNode)圖示: 接著,使用ControlFlow圖素,如下: 先點選了這個圖素,接著將滑鼠移動到啟始(InitialNode)圖示上,按住並拖拉 到 bindService 活動(圖素),就出現: Android 架構師手冊_建模與圖形思考 2012/07(第二版) 118 其實,UML 活動圖就是大家所熟悉的「流程圖」(Flow Diagram)。從傳統流程 圖中,可知道流程圖中有一個重要的元素是:決策(Decision)。為了表達這項 決策,可選取Decision Node圖素,如下: 先點選了這個圖素,接著將滑鼠移動到活動圖的任何位置,並按鍵,就 出現了一個決策(Decision)圖示。接著,拉出一條ControlFlow圖素(即流程箭 頭),如下: 在 Android 跨進程(IPC)的通訊架構裡,綁定服務時,會返回呼叫(Callback) 到 ServiceConnection. onServiceConnected()函數,如下述常見的程式碼: Android 架構師手冊_建模與圖形思考 2012/07(第二版) 119 private ServiceConnection mConnection = new ServiceConnection() { public void onServiceConnected( ComponentName className, IBinder ibinder) { m_ibinder = ibinder; } public void onServiceDisconnected(ComponentName className) {} } 如果順利綁定成功了,就能繼續執行目標活動:呼叫遠端服務(Remote Service);也就是有條件地呼叫這個目標活動。於是: 拉出一個新活動:callService(呼叫遠距服務)。 拉出一條新流

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档