浙江大學軟硬件協(xié)同設計實驗室_第1頁
浙江大學軟硬件協(xié)同設計實驗室_第2頁
浙江大學軟硬件協(xié)同設計實驗室_第3頁
浙江大學軟硬件協(xié)同設計實驗室_第4頁
浙江大學軟硬件協(xié)同設計實驗室_第5頁
已閱讀5頁,還剩42頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 4、用戶界面、用戶界面智能終端開發(fā)浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ InterfaceUser Interface用戶界面用戶界面p說明布局Layoutp創(chuàng)建菜單Menusp創(chuàng)建對話Dialogsp處理用戶UI事件p用戶提示p確定風格p定制組件p數(shù)據(jù)與界面綁定浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:

2、/ 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ icons要有多樣化的形狀和樣式,但又要形成統(tǒng)一的視覺風格,其尺寸和定位也用統(tǒng)一:n紅色邊框為圖標尺寸n藍色邊框是圖形尺寸,比圖標尺寸稍小,圖形之外的空間用于顯示陰影和特殊效果。n橙色邊框是另外一種圖形尺寸。兩種類型的圖形尺寸可以達到統(tǒng)一的視覺權重。浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 1.5的一個新特性,允許程序顯示一些常用而又重要的信息在用戶的桌面主屏

3、上n標準的Android系統(tǒng)映像包含了一些示例widgets包括指針時鐘、音樂播放器和其他工具如Google搜索欄。nWidget即是可由用戶自己編寫的功能控件。p典型的Android Widget有三個主要組件:n邊框n框架n圖形控件以及其他元素p注意widgets的開狀尺寸以便在主屏上顯示浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ Interface GuidelinesUser Interface GuidelinespActivity and Task DesignnActivities are the basic, independ

4、ent building blocks of applications. As you design your applications UI and feature set, you are free to re-use activities from other applications as if they were yours, to enrich and extend your application.nThese guidelines describe how activities work, illustrates them with examples, and describe

5、s important underlying principles and mechanisms, such as multitasking, activity reuse, intents, the activity stack, and tasks. It covers this all from a high-level design perspective. 浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ Menu:活動的主菜單。通過按下設備菜單鍵來顯示它。選項菜單包含兩組菜單項:n圖標菜單Icon Menup這個是當用戶按下菜單鍵時最初

6、出現(xiàn)屏幕下方的item集合。它支持最多6個菜單項。只有這些菜單支持圖標而且這些菜單并不支持checkboxes或者radio buttons。n擴展菜單Expanded Menup這是通過按“更多”菜單顯現(xiàn)出來的一個豎向的項目列表。它僅當圖標菜單過多時存在而且是由6個以及其它選項菜單組成。p上下文菜單Context Menu:浮動菜單列表,通常在你長時間按在一個視圖上時出現(xiàn)(比如一個列表項)p子菜單Submenu:浮動菜單列表,通過在選項菜單或上下文菜單選擇菜單項顯露出來。不支持嵌套子菜單。浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ UIAn

7、droid UI布局布局pViewGroup通過各種Layout,控制所屬View的顯示位置。ViewGroup(Layout)ViewViewViewViewViewViewGroup(Layout)浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 江江 大大 學學 軟軟 硬硬 件

8、件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 中一樣浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 除非你有很好的理由來使用它n因為它相當嚴格并且在不同的設備顯示中不能很好地工作浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 來指定)或相對于父布局對象,跟AbsoluteLayout這個絕對坐標布局是個相反。p在RelativeLayout布局里的控件包含豐富的排列屬性: nLayout above:控件在指定控件的上方nLayout below:控件在指定控件的下方nLayout to

9、 left of。p使用 RelativeLayout布局的時候,盡少程序運行時做控件布局的更改,因為 RelativeLayout布局里面的屬性之間,很容易沖突。浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 包含顏色值nColor.BLACKnColor.BLUEnColor.CYANnColor.DKGRAYnColor.GRAYnColor.GREENnColor.LTGRAYnColor.MAGENTAnColor.REDnColor.TRANSPARENTnColor.WHITEnColor.YELLOW浙浙 江江 大大 學學 軟軟

10、硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ family, int style)p創(chuàng)建一個混合型新的字體:有4*5 中搭配nTypeface.setTypeface (Typeface tf, int style)p設置一個混合型字體:有4*5 中搭配nTypeface.setTypeface(Typeface tf)p設置一個只有Typeface 風格的字體:有五種形式p字體(4種)nBOLD、BOLD_ITALIC、ITALIC、NORMALn粗體、粗斜體、斜體、普通字體p風格(5種)nDEFAULT、DEFAULT_BOLD、MONOSPACE、SANS_SERIF

11、、SERIFn默認字體、默認粗體、單間隔字體、無襯線字體、襯線字體浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ btn =(Button)findViewById(R.id.Button01);. . .btn.setOnClickListener(new OnClickListener()public void onClick(View v) );浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ menu,c

12、ontext menu,sub menu。poptions menu(主菜單)就是通過按home鍵來顯示,pcontext menu(右鍵菜單)在view上按上2s后顯示p兩種menu都有可以加入子菜單(sub menu),子菜單不能嵌套子菜單。pandroid還提供了對菜單項進行分組的功能,可以把相似功能的菜單項分成同一個組,這樣可以通過調(diào)用setGroupCheckable,setGroupEnabled,setGroupVisible來設置菜單屬性,而無須單獨設置。浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 1 1pOptionMenu

13、(主菜單)noptions menu最多只能在屏幕最下面顯示6個菜單選項,稱為icon menupicon menu不能有checkable選項。n多于6的菜單項會以more icon menu來調(diào)出,稱為expanded menu。noptions menu通過activity的onCreateOptionsMenu來生成,n這個函數(shù)只會在menu第一次生成時調(diào)用。p任何想改變options menu的想法只能在onPrepareOptionsMenu來實現(xiàn),這個函數(shù)會在menu顯示前調(diào)用。nonOptionsItemSelected 用來處理選中的菜單項。浙浙 江江 大大 學學 軟軟 硬硬

14、 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 2 2浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ menu是跟某個具體的view綁定在一起,在activity中用registerForContextMenu來為某個view注冊context menu。context menu在顯示前都會調(diào)用onCreateContextMenu來生成menu。onContextItemSelected用來處理選中的菜單項。浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 江江 大大 學學 軟軟 硬硬

15、 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ boolean onCreateOptionsMenu(Menu menu) / TODO Auto-generated method stubboolean result = super.onCreateOptionsMenu(menu);menu.add(0, INSERT_ID_Play, 0, R.string.menu_toPlay);menu.add(0, INSERT_ID_Stop, 0, R.string.menu_toStop);return result;/創(chuàng)建菜單浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié)

16、 同同 設設 計計 實實 驗驗 室室http:/ (TextView)findViewById(R.id.TextView01);press=(Button)findViewById(R.id.Button01);press.setOnClickListener(new OnClickListener()public void onClick(View v) show.setText(Hi , Google Android!););浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 前臺進程(Active Process):n前臺Activity、包

17、含正在運行的廣播接收器、正在運行的服務p 可視進程(Visible Process):n包含一個可視化的Activityp 服務進程(Started Service Process):n包含一個被開啟的服務(處理服務,不是直接可視,例如媒體播放器,網(wǎng)絡上傳、下載)p 后臺進程(Background Process):n包含一個不可視的Activity(可以在任意時刻殺死該進程來回收內(nèi)存)p 空進程(Empty Process):n沒有持有任何應用程序組件浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 1pactive:n當一個Activity 在

18、屏幕的最上層時(對堆棧的最頂端),它就是屬于active 或者running 的狀態(tài)ppaused:n如果一個Activity 失去焦點(focus)但還看得到它的畫面(比如:一個新的Activity 畫面并不是全屏幕或者它是一個半透明的情況),那失去焦點的Activity 則處在paused 的狀態(tài)。像這個失去焦點的Activity它還是完全活著的,并沒有消失。(活著的意思是指,Activity 自己本身所有的狀態(tài)及數(shù)據(jù)都還是存在的,也跟窗口管理程序window manager 保持聯(lián)系著),像這種paused 的Activity,會在一種情況下消失,那就是當系統(tǒng)的內(nèi)存不夠用之時,系統(tǒng)會自動

19、判斷,將不重要的Activity 移除。浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 2pstop:n如果一個Activity 被其它的Activity 完全的遮蓋住時,它仍然保有全部的狀態(tài)及數(shù)據(jù),但因為它已不再被使用者看見,所以它的畫面是被隱藏起來的(畫面不需要更新),當系統(tǒng)內(nèi)存不足時,這種stop 狀態(tài)的Activity 時最先被系統(tǒng)考慮拿下來釋放內(nèi)存的。p finish:n當一個Activity 處于pause 或stop 的狀態(tài)時,系統(tǒng)可以要求Activity 結(jié)束(finish)或直接移除(kill)它。當它需要再度呈現(xiàn)在使用者面前時

20、,它必須要能完整的重新啟動及回復先前的狀態(tài)。浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ an Activity is at the top of the stack, it is the visible, focused, foreground activity that is receiving user input. Android will attempt t

21、o keep it alive at all costs, killing Activities further down the stack as needed, to ensure that it has the resources it needs. When another Activity becomes active, this one will be paused.pPaused:nIn some cases, your Activity will be visible but will not have focus; at this point, its paused. Thi

22、s state is reached if a transparent or non-full-screen Activity is active in front of it. When paused, an Activity is treated as if it were active; however, it doesnt receive user input events. In extreme cases, Android will kill a paused Activity to recover resources for the active Activity. When a

23、n Activity becomes totally obscured, it becomes stopped.浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ an Activity isnt visible, it “stops.” The Activity will remain in memory retaining all state and member information; however, it is now a prime candidate for execution when the system requires mem

24、ory elsewhere. When an Activity is stopped, its important to save data and the current UI state. Once an Activity has exited or closed, it becomes inactive.pInactive:nAfter an Activity has been killed, and before its been launched, its inactive. Inactive Activities have been removed from the Activit

25、y stack and need to be restarted before they can be displayed and used.浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 上(如果這個service 還沒有運行將啟動它)。p調(diào)用Context.unbindService()結(jié)束。n當連接到一個service 之后,我們還可以service 提供的接口與它進行通訊。p通過ServiceConnection 訪問Service。二者可以混合使用

26、,比如先startServece()再unbindService()。浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ Interface Definition Android Interface Definition LanguageLanguagepAIDL是一種接口定義語言。通過這種語言定義接口后,Eclipse插件(ODT)會自動生成相應的Java代碼接口代碼。p編寫一個AIDL服務的基本步驟:n1. 在Eclipse工程的package目錄中建立一個擴展名為aidl的文件。package目錄就是Java類所在的目錄。該文件的語法類似于Ja

27、va代碼。aidl文件中定義的是AIDL服務的接口。這個接口需要在調(diào)用AIDL服務的程序中訪問。n2. 如果aidl文件的內(nèi)容是正確的,Eclipse插件會自動生成一個Java接口文件(*.java)。n3. 建立一個服務類(Service的子類)。n4. 實現(xiàn)由aidl文件生成的Java接口。n5. 在AndroidManifest.xml文件中配置AIDL服務,尤其要注意的是,標簽的android:name屬性值就是客戶端要引用該服務的ID,也就是Intent類構(gòu)造方法的參數(shù)值。浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 1pManife

28、st.xml中的Service定義浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 2pService子類中的Playerpublic void onStart(Intent intent, int startId)super.onStart(intent, startId);player = MediaPlayer.create(this, R.raw.seven_days);player.start();public void onDestroy()super.onDestroy();player.stop();浙浙 江江 大大 學學 軟軟 硬

29、硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 3pActivity 中定義的Intent開啟相應的ServicestartService(new Intent(+id/START_AUDIO_SERVICE);stopService(new Intent(+id/START_AUDIO_SERVICE);浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 是描述應用想要做什么,Intent 數(shù)據(jù)結(jié)構(gòu)兩個最重要的部分是:n動作:典型的動作類型有:MAIN(活動的門戶)、VIEW、PICK、EDIT等。n動作對應的數(shù)據(jù):以URI 的形式

30、進行表示p例如:要查看某個人的聯(lián)系方式,你需要創(chuàng)建一個動作類型為VIEW 的Intent,以及一個表示這個人的URI。pAndroid 使用了Intent 這個特殊類,實現(xiàn)在屏幕與屏幕之間移動。Intent 類用于描述一個應用將會做什么事。浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 則用于描述一個activity(或者IntentReceiver)能夠操作哪些intent。n一個activity 如果要顯示一個人的聯(lián)系方式時,需要聲明一個IntentFilter,這個IntentFilter 要知道怎么去處理VIEW 動作和表示一個人的URI。pIntentFilter 需要在AndroidManifest.xml 中定義。浙浙 江江 大大 學學 軟軟 硬硬 件件 協(xié)協(xié) 同同 設設 計計 實實 驗驗 室室http:/ 將會調(diào)用startActivity(IntentmyIntent)方法。n然后,系統(tǒng)會在所有安裝的應用程序中定義的IntentFilter 中查找,找到最匹配Intent 對應的activity。n新的activity 接收到通知后,開始運行。n當startActivity 方法被調(diào)用將觸發(fā)解析Intent 的動作。p

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論