十Activity间的往来与卷动视图元件课件.ppt

上传人(卖家):晟晟文业 文档编号:4945292 上传时间:2023-01-27 格式:PPT 页数:17 大小:939KB
下载 相关 举报
十Activity间的往来与卷动视图元件课件.ppt_第1页
第1页 / 共17页
十Activity间的往来与卷动视图元件课件.ppt_第2页
第2页 / 共17页
十Activity间的往来与卷动视图元件课件.ppt_第3页
第3页 / 共17页
十Activity间的往来与卷动视图元件课件.ppt_第4页
第4页 / 共17页
十Activity间的往来与卷动视图元件课件.ppt_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、+Android應用程式是以活動(Activity)為啟始的入口,每一個活動都有一個對應的佈局畫面,提供與使用者互動的媒介。分頁佈局雖然只看到一個頁面的元件,但其他頁面只是看不到,並未真的移到背景去,因此所有頁面的元件仍然在使用系統資源;加上是一個活動,所以活動一直保持在生命循環中的活躍狀態。多活動設計就不同了,不管有幾個活動執行中,同一個時間只能有一個活動處於前景活躍狀態,其它活動均自動退居幕後進入停止狀態,除了必要保持的資源以外,其餘資源一概讓出,因此將比分頁設計節省寶貴的系統資源,這就是我們願意捨近求遠的主要理由。+要啟動另一個活動,第一件事是這活動必須讓系統看得到,因此必須在應用程式的

2、AndroidManifest.xml檔案中宣告。+另一件事就是這活動必須存在,這意謂著必須有此活動類別定義的程式碼,並在定義中載入它要使用的畫面佈局。+最後要靠Intent物件請系統將2個不同的活動連在一起,當然Intent的目的是表明應用程式的意圖,它能做的事相當多,但啟動另一個活動是最常用的。+啟動另一個活動的基本步驟為:新建一個應用程式專案。在應用程式的AndroidManifest.xml檔案中加入第2個活動(TargetActivity)宣告,加入後AndroidManifest.xml檔案如code 11-1。在入口活動(MainActivity)增加一個Button元件,以便讓

3、使用者下達啟動另一活動的指示如code 11-2。為第2個活動定義它使用的佈局資源檔如code 11-3。建立新的類別檔:右擊專案/New/Class如圖 11-1。用Java程式碼定義類別如code 11-4。在原活動中啟動另一個活動+StartAnotherActivity Test範例 執行此應用程式,使用者敲下畫面中的Call Another Activity按鈕,目標活動將被啟動且顯示I am TargetActivity訊息。範例詳細內容請參考原書如code 11-5。+活動的類別名稱只能被自己人看到,即同一個應用程式的其他類別;而活動名稱是透過系統對外公佈。+一般除了啟動以外都會

4、傳送一些資料給目標活動處理,甚至將處理結果再回傳給原來的活動。+要讓Intent為我們攜帶資料,可以用Intent物件的putExtra()方法將資料存至裝置的共用記憶區,使用此方法時需要2個參數:此資料的名稱(任意指定)。資料內容。接收資料的活動可以用Intent物件的getExtra(“資料名稱”)從共用記憶區取得以資料名稱指定的資料,這裡表示這位置要放置資料的型式,例如要讀取的是字串資料,必須使用getStringExtra(“資料名稱”);如果要讀取的是整數資料,則必須使用getIntExtra(“資料名稱”)。+如果希望能從目標活動獲得回傳資料,則必須用活動的startActivit

5、yForResult()方法啟動另一個活動,這方法需要提供Intent物件與一個整數識別碼,將來就是用此識別碼確認資料是由正確的目標活動所回傳。而且在呼叫的類別還必須實作onActivityResult(int requestCode,int resultCode,Intent data)方法,在這個方法內一樣用Intent物件的getExtra(“資料名稱”)讀取資料,但讀取前一般會先判斷識別碼是否與啟動設定的相符,以及判斷此回傳資料是否正確。+在目標資料設定以Intent物件的putExtra()方法回傳資料給呼叫活動時,不是用啟動活動的方法(startActive或startActive

6、ForResult)而是用活動的setResult()方法,這方法將呼叫原活動的onActivityResult()方法,且需要提供一個回傳常數與Intent物件。回傳常數RESULT_OK,表示回傳資料正確;而回傳常數RESULT_CANCELLED,表示可以忽略回傳的資料。InterestCount Test範例 說明在活動間互傳資料的做法。範例入口活動提供2個EdieText元件,一個輸入姓名(預設值為Abc),另一個輸入存款金額(預設值為10000)當使用按下計算利息鈕,會將姓名及存款金額送至目標活動計算利息,並以一個TextView元件顯示目標活動完成計算後回傳的利息。在目標活動(T

7、argetActivity),將收到的姓名與存款金額顯示於TextView元件上,並以0.1的利率計算利息,當按下回傳鈕會將利息回傳給原呼叫的活動。範例詳細內容請參考原書 code11-8。除了用Intent物件的方法直接將資料寫到共用記憶區以外,也可以先將資料寫到Bundle物件,再透過Intent物件的putExtras()方法,將Bundle物件寫到共用記憶區供其他活動使用。Bundle物件是以鍵-值對方式保存資料,此處的鍵就相當於Intent物件putExtra()方法中的資料名稱。將資料寫到Bundle物件的方法隨資料型式稍有不同;格式為put(key,value),如putStri

8、ng(key,value)或putInt(key,value)。+用Bundle讀取資料時,則以Intent物件的getExtras()方法取得對Bundle物件參考,再用Bundle物件的get(key)方法取得指定型式的資料。+Bundle Test範例 與InterestCount Test範例佈局完全相同。範例詳細內容請參考原書code 11-10/11。+捲動視圖可以分成垂直捲動與水平捲動2種,也可以將垂直和水平捲動結合起來。+垂直捲動視圖 垂直捲動視圖元件在XML佈局檔以標籤實現,它屬於FrameLayout,因此應該將所有要顯示的元件包含在一個視圖或佈局內,再將此視圖或佈局指定為

9、垂直捲動視圖的子視圖,當子視圖範圍超過螢幕高度,就可以用垂直拖曳方式上下捲動視圖(拖曳時捲軸會出現)。ScrollView Test範例以垂直捲動視圖元件為佈局檔上層元件,它的下層為LinearLayout,LinearLayout內含多個視圖元件。範例詳細內容請參考原書。+水平捲動視圖 水平捲動視圖元件在XML佈局檔以標籤實現,也屬於FrameLayout,設計方式與垂直捲動視圖元件類似,當子視圖範圍超過螢幕寬度,就可用水平拖曳方式左右捲動視圖(拖曳時捲軸出現)。HorizontalScrollView Test範例以水平捲動視圖元件為佈局檔最上層元件,它的下層為LinearLayout,LinearLayout內含多個視圖元件。範例詳細內容請參考原書。雙向捲動設計 要設計同時具有水平捲動與垂直捲動能力的畫面,只要同時使用水平與垂直捲動視圖就能完成。當子視圖範圍超過螢幕範圍,就可用垂直或水平拖曳捲動視圖。但要注意只有在往下拖曳至垂直底部,水平捲軸才會出現;只有在往左拖曳至最右側,垂直捲軸才會出現。BiDirectionScroll Test範例同時在佈局中加入垂直與水平捲動視圖元件為佈局檔上層元件,並以RelativeLayout為捲動視圖的下層,RelativeLayout內含多個視圖元件。範例詳細內容請參考原書。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(十Activity间的往来与卷动视图元件课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|