- 1、本文档共48页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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(呼叫遠距服務)。
拉出一條新流
您可能关注的文档
- Fast ant colony optimization on runtime reconfigurable processor arrays.pdf
- Fast Development with DaVinci On Screen Display (OSD).pdf
- Fast parallel absolute irreducibility testing.pdf
- fatty acid profiles in healthy human.pdf
- FD-SMOKE-A 表面磁光克尔效应实验系统使用说明(070417修订).pdf
- FE35_eng_screen_02.pdf
- Feature Extraction from the Turning Angle Function for the Classification of Contours of Br.pdf
- Feature Sensitive Out-of-Core Chartification of Large Polygonal Meshes.pdf
- Feasibility of Identifying the Tobacco-related Global Metabolome in Blood by UPLC–QTOF-MS.pdf
- Feed-forward Neural Network Optimized by Hybridization of PSO and ABC for Abnormal Brain Detection.pdf
文档评论(0)