成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

短時間內認識Android開源系統

移動開發 Android
下面文章著重介紹Android開源系統提供了三種菜單類型,他們分別為options menu,context menu,sub menu。

Android開源系統是GOOGLE于Google于2007年11月5日宣布,GOOGLE內部會議據說號稱是***為移動終端打造的真正開放和完整的Android開源系統,不知道這個信息是不是真的很正確。

options menu就是通過按home鍵來顯示,context menu需要在view上按上2s后顯示。這兩種menu都有可以加入子菜單,子菜單不能種不能嵌套子菜單。options menu最多只能在屏幕最下面顯示6個菜單選項,稱為icon menu,icon menu不能有checkable選項。多于6的菜單項會以more icon menu來調出。

稱為expanded menu。options menu通過activity的onCreateOptionsMenu來生成,這個函數只會在menu***次生成時調用。任何想改變options menu的想法只能在onPrepareOptionsMenu來實現,這個函數會在menu顯示前調用。onOptionsItemSelected 用來處理選中的菜單項。

context menu是跟某個具體的view綁定在一起,在activity種用registerForContextMenu來為某個view注冊context menu。context menu在顯示前都會調用onCreateContextMenu來生成menu。onContextItemSelected用來處理選中的菜單項。

android還提供了對菜單項進行分組的功能,可以把相似功能的菜單項分成同一個組,這樣就可以通過調用setGroupCheckable,setGroupEnabled,setGroupVisible來設置菜單屬性,而無須單獨設置。

Notepad中使用了options menu和context menu兩種菜單。首先來看生成options menu的onCreateOptionsMenu函數。這到底有何用處呢?其實這是一種動態菜單技術(也有點像插件機制),若某一個activity,其類型是”android.intent.category.ALTERNATIVE”。

數據是”vnd.android.cursor.dir/vnd.google.note”的話,系統就會為這個activity增加一個菜單項。在androidmanfest.xml中查看后發現,沒有一個activity符合條件,所以這段代碼并沒有動態添加出任何一個菜單項。

對于上下文菜單項選中的事件處理,是通過重載onContextItemSelected實現的

  1. switch (item.getItemId()) {  
  2.          case MENU_ITEM_DELETE: {  
  3.              // Delete the note that the context menu is for  
  4.              Uri noteUri = ContentUris.withAppendedId(getIntent().getData(), info.id);  
  5.              getContentResolver().delete(noteUri, null, null);  
  6.              return true;  
  7.          }  
  8.      }  
  9.      return false;  

對于日志的刪除,首先調用ContentUris.withAppendedId(getIntent().getData(), info.id);來拼接出待刪除日志的URI.然后getContentResolver().delete(noteUri, null, null);調用下層的Content Provider去刪除此日志。

這里先不討論例子了,來看看官方文檔對Activity生命周期的介紹。

1Android開源系統用Activity Stack來管理多個Activity,所以呢,同一時刻只會有最頂上的那個Activity是處于active或者running狀態。其它的Activity都被壓在下面了。

2.如果非活動的Activity仍是可見的(即如果上面壓著的是一個非全屏的Activity或透明的Activity),它是處于paused狀態的。在系統內存不足的情況下,paused狀態的Activity是有可被系統殺掉的。只是不明白,如果它被干掉了,界面上的顯示又會變成什么模樣?看來下回有必要研究一下這種情況了。

3.幾個事件的配對可以比較清楚地理解它們的關系。Create與Destroy配成一對,叫entrie lifetime,在創建時分配資源,則在銷毀時釋放資源;往上一點還有Start與Stop一對,叫visible lifetime,表達的是可見與非可見這么一個過程;最頂上的就是Resume和Pause這一對了,叫foreground lifetime,表達的了是否處于激活狀態的過程。

4.因此,我們實現的Activity派生類,要重載兩個重要的方法:onCreate()進行初始化操作,onPause()保存當前操作的結果。

【編輯推薦】

  1. Android應用程序組建原理深入剖析 
  2. Android SMS短信服務相關概念簡述 
  3. PythonAndroid數據庫相關代碼解讀 
  4. PythonAndroid安裝卸載程序具體操作方法解析 
  5. Android應用程序的四個關鍵點 
責任編輯:chenqingxiang 來源: 人民郵電出版社
相關推薦

2010-03-03 17:19:48

Android

2010-02-24 13:56:27

Python編程語言

2010-01-19 18:18:21

C++語言

2015-01-08 14:04:49

電信CDMA

2010-03-17 13:07:47

交換機故障

2010-03-19 10:46:34

交換技術

2010-03-16 10:32:23

配置交換機

2025-04-28 02:22:00

2009-11-25 15:31:40

VS2003 SDK

2013-01-13 10:01:18

2010-03-02 13:38:30

Android命令

2022-03-17 14:36:20

后門網絡安全

2009-11-25 13:22:49

VS2003代碼

2020-04-03 08:40:38

微軟谷歌無代碼

2017-12-02 07:33:30

蘋果Face ID多用戶

2017-08-02 08:52:19

2025-05-21 08:18:49

2010-01-20 10:40:44

C++Test

2010-03-10 14:04:53

交換機故障

2010-04-29 14:15:15

Oracle Audi
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久97精品 | 日韩av成人| 亚洲精品亚洲人成人网 | 欧美日韩成人在线 | 在线婷婷 | 香蕉视频在线播放 | 日韩中文字幕网 | 中文字幕成人免费视频 | 婷婷丁香在线视频 | 免费观看的黄色网址 | 国产成人精品免费视频 | 亚洲国产一区二区视频 | 久久极品| 香蕉视频久久久 | www.国产精品 | 日本在线看片 | 久久久久免费精品国产小说色大师 | 特级特黄特色的免费大片 | 中文在线a在线 | 精品综合久久 | www.亚洲.com | 精品av| 免费高清av | 亚洲一区二区三区久久久 | 欧美午夜精品 | 特级做a爰片毛片免费看108 | 日韩精品成人一区二区三区视频 | 天天躁日日躁狠狠的躁天龙影院 | 999热精品| 欧洲妇女成人淫片aaa视频 | 国产一区二区三区免费视频 | 成人精品一区 | 精品香蕉一区二区三区 | 亚洲一区二区在线免费观看 | 草比av| 久久成人一区 | 国产精品成人久久久久a级 久久蜜桃av一区二区天堂 | 国产精品一区二区三区在线 | 91精品国产91久久久久久吃药 | 欧美理伦片在线播放 | 欧美久久一级特黄毛片 |