編輯:Android開發教程
最近兩個星期在研究android的應用開發,學習了android應用開發的基礎知識,基本控件,基本布局,基 本動畫效果,數據存儲,http訪問internet等等基礎知識。
android中有一個概念,叫做activity。什麼叫 做activity呢?中文譯為【活動】。我覺得類比到我們.NET裡面的話,就好比是WinForm中的Form窗體,或者 是ASP.NET中的Page頁面,一個activity可以對應一個窗體或者是頁面。
既然是窗體、頁面就需要通信,需 要傳值,需要之間的變換。
WinForm窗體變換和ASP.NET中的Page變換
在WinForm中實現窗體變 換,也就是一個窗體轉到另外一個窗體,我們會寫下面的代碼(代碼是偽代碼,沒有經過驗證,不保證可以運 行,只是為了說明問題)。
From frmChild=new frmChild();
frmChild.show();
或者是 frmChild.showDialog();之類的,看你需要的模態還是非模態。如果需要傳值的話,可以通過構造函數,或者 是public屬性,或者是指定parent,在child中使用parent屬性訪問父窗體,然後訪問父窗體的屬性。回傳值 也是類似的過程。網上找一下,有一大堆的示例代碼可以參考。我的博客也寫過幾篇窗體傳值的博文。
ASP.NET中頁面變換,我們可以用redirect,transfer,execute,傳值的話,有session,querystring, application,或者是整個頁面也可以。
看了上面的方式,你會發現不管是窗體或者是頁面,跳轉和傳 值都比較固定。我說的【固定】是說跳轉的發起者和目標,也就是說這兩者綁定的比較死,不能胡亂跳轉。就 好比說,detail1點擊之後只能跳轉到item1,detail2點擊之後只能跳轉到item2。當然,等你有經驗之後,改 良你的代碼,實現了item和detail的復用,然後加上一些判斷,解決了一些問題。但是好像還是感覺有點綁在 一起的意思。
Android中的Activity之間的變換
在Android中,activity之間的跳轉代碼是這樣 的。
Intent intent = new Intent( com.example.UITutorial_V2Activity.this, com.example.sinaweibo.TestActivity.class); startActivity(intent);
從上面的代碼中可以看出 來,Intent是com.example.UITutorial_V2Activity和com.example.sinaweibo.TestActivity之間跳轉的中介 。上面的代碼實現了從uitutorial到test的跳轉。任何兩個activity之間都可以這麼跳轉,完全沒有activity 之間的綁定。如果你想傳值的話,可以寫下面的代碼。
Intent intent = new Intent( com.example.UITutorial_V2Activity.this, com.example.layout.layout2Activity.class); Bundle bundle = new Bundle(); bundle.putString("key1", "value1"); intent.putExtra ("key1", bundle); startActivity(intent);
Bundle用來在activity之間傳值。回傳值是 另外的一種方法。反正都不會綁死兩個activity。任意兩個activity之間的跳轉傳值,只需要借助intent這個 中介就可以了,把目標告訴他, 傳值告訴他,他就可以完成。
聯想到的
兩個窗體變換、傳值 ,可以完全的不綁定,只需要根據窗體變換的約定,交給中介去完成這件事。這麼做會給我們帶來極大地靈活 性,體會提高復用性。也可以擴展開來,兩個類之間通信,變換,也可以使用類似的機制,避免綁死兩個類, 提高獨立性。比如說A、B、C兩個頁面。B頁面需要顯示單個商品的信息,只需要給他商品ID就可以了,然後B 會從後端獲取商品的信息來顯示。誰都可以呼叫B頁面,只要交給中介,然後傳值商品ID過來,在B頁面的創建 過程中,先獲取ID,然後從後端獲取並顯示商品信息,就可以了。在A、C中都可以調用中介來完成到B的跳轉 ,以後加個D也可以跳轉到B,不用考慮A、C、D是否存在什麼關系。
說到底,這好像是個設計問題,引 出來的編碼問題。
出處http://virusswb.blog.51cto.com/115214/629194
ActivityInstrumentationTestCase2 主要用來測試一個或多個Activity的功能測試,使用和最終應用同樣的運行環境來測試 Activity的
創建好ApiDemo項目後,就可以逐個示例的來分析代碼,這裡假定讀者已對Android開發有些了解或是讀過Android簡明開發教 程。首先是看ApiDemo的主Acti
現在,我們就可以去修改上一節中的項目了。這樣,在用戶按menu鍵的時候就會彈出選項菜單了。1. 使用上一節中的工程,在MenusActivity.java中添加一些代碼。
ListView是一個可以被深度擴展的視圖。在做項目的時候,擴展ListView去顯示數據是必不可免的。接下 來會展示如何在ListView中去選擇多個物件,以及如何使用