精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Symbian開發之UI框架設計教程

移動開發
本文將向各位介紹一下《Symbian開發之UI框架設計教程》。所謂“應用程序架構”是指應用程序框架類的集合。基于所需的UI設計,應用程序可以具有稍微不同的架構,但是每種架構都有一些公共部分,稱為“核心應用程序類”。

我們曾經向各位講過《Android UI設計教程》和《MeeGo設計教程》,但是目前使用最多的移動終端設備為Symbian操作系統。本文將向各位介紹一下《Symbian開發之UI框架設計教程》。所謂“應用程序架構”是指應用程序框架類的集合。基于所需的UI設計,應用程序可以具有稍微不同的架構,但是每種架構都有一些公共部分,稱為“核心應用程序類”

一、先看一下Symbian UI設計基礎

(1)核心應用程序類.

◆所有的S60 UI應用程序都具有一些基本功能:

◆提供一個用戶界面,用于顯示信息并允許用戶進行交互

◆響應各種用戶啟動的事件,比如用戶選擇一個菜單項

◆響應系統啟動的不同事件,比如導致屏幕重繪的window服務器事件

◆能夠保存和恢復應用程序數據

◆可以唯一性的向框架標志自身

◆向框架提供有關應用程序的描述性信息,比如圖標和標題等

這些類是:視圖(View)、文檔(Document)、應用程序(Application)、應用程序UI(Application UI)。

一個程序只能有一個文檔,可以有多個視圖。

(2)應用程序初始化

必須創建下面的每個方法,才能提供最小的S60應用程序:

a、所有S60 UI都實現一個全局函數E32DLL(),當應用程序啟動時,框架將首先調用該函數,該函數也稱為DLL入口點,應用程序必須存在該函數。每個S60 UI 應用程序都是一個多態DLL。

b、讓框架調用NewApplication(),該函數是由DLL導出的唯一函數。

c、創建應用程序類的一個實例,并返回它的指針,以后框架使用該指針完成應用程序的創建。

d、由框架調用AppDllUid()返回應用程序的UID。該函數必須返回在.mmp文件中指定的值,并且可用于確定應用程序的實例是否正在運行。

e、框架獲取指向新創建Document類的指針,CreateDocumentL()。

f、NewL()具體去創建

g、礦見獲取AppUi類的指針,CreateAppUiL()。

h、由new (Eleave)CappUi()具體創建。

這樣一個最簡短直觀的框架就創建完畢。

(3)重要的AppUi方法:

AppUi提供了許多方法,框架可以調用這些方法通知每個應用程序各種事件。

◆HandKeyEvent()用于處理用戶按鍵

◆HandleForegroundEventL()當應用程序切換到前臺或從前臺切換到后臺時調用該函數,默認的實現可以處理鍵盤焦點的改變。

◆HandleSystemEventL()傳遞由窗口服務器生成的事件

◆HandleApplicationSpecificEventL()可以自己定義的自定義事件的通知。默認的實現可以處理顏色方案改變的通知。

◆HandleCommandL()用于處理用戶選擇的菜單項

(4)設計應用程序UI

關于術語“視圖(view)”:

“視圖”是概念性的術語,含義是“數據模型在屏幕上的表示”,實際上由一個或多個從CcoeControl派生而來的UI控件實現視圖,這些控件按層次結構進行組織。父控件通常被稱為容器(Container),除了用于實現視圖的父控件,這種控件被稱為對話框(Dialog)。

在Avkon視圖切換架構中,術語“Avkon視圖”指的是系統范圍內的View服務器注冊的類,它控制視圖的實例化和析構。

#p#

二、常見的Symbian應用程序架構:

每種架構都提供了設計應用程序UI的不同方法――所有的架構都提供了提交“視圖”或應用程序數據可視化表示的方法,同時提供了一種用戶用來與架構進行交互的機制。

先簡單認識一下:基于對話框的架構和傳統的基于Symbian OS的架構雖不相同,但和Avkon視圖切換架構相比,這兩種架構彼此更為類似。原因是:

◆它們的特征是它們用于生成視圖的UI控件類型。

◆架構上幾乎相同。也就是說,在這兩種設計中,AppUi類簡單地“擁有”視圖控件,因此負責直接管理它們。

◆而Avkon視圖切換架構從根本上不同于這兩種方法,它的視圖切換由系統范圍地View服務器來完成。

(1)基于控件的傳統Symbian OS控件

這些控件總是從CcoeControl直接繼承,用于表示從CcoeControl直接繼承的試圖類的標準術語是“容器”。

關于“CcoeControl”:

可以將CcoeControl認為是一個空的帳篷。通過繼承這個類,可以創建各種各樣的自定義控件,自定義控件的功能和復雜性只受到程序員能力和想象力的限制。這種靈活性的唯一不利之處是,控件確實類似于一個空帳篷,因為需要進行許多編碼工作來提供重要的功能。

在處理視圖切換方面,AppUi負責處理用戶發出的視圖切換請求。隨后,AppUi最終的行為類似于一個巨大的開關,用于根據用戶或系統的輸入來激活或禁止容器。

注意:Container類從CcoeControl派生而來,CcoeControl是所有控件的基類。

在自己的容器類中必須實現從CcoeControl中的四個方法,框架將調用所有這些方法:

◆SizeChanged()允許控件響應控件大小的改變

◆Draw()繪制控件

◆CountComponentControls()返回控件擁有的控件數量

◆ComponentControl()對于容器擁有的每一個控件,框架調用該方法獲取。

在AppUi類中按照如下代碼構造容器:

  1. void ChelloWorldAppUi:::Control()  
  2. {  
  3. BaseControlL();  
  4. IAppContainer=ChelloWorldContainer::NewL(ClientRect());  
  5. IAppContainer->SetMopParent(this); //在控件之間建立父子關系,在容器上調用此方法。  
  6. AddToStackL(iAppContainer); //將Container推入到控件棧頂,例如可以接收鍵事件  
  7. }  
  8.  

注意:如果使用這種架構實現帶有多個視圖的應用程序,則通過使用AddToStackL()和RemoveFromStackL()在不同的容器之間切換。

(2)基于對話框的架構

它不同于傳統Symbian OS架構的是,它擁有的控件直接從對話框類家族繼承而來。

對話框的主要優點是:相對于直接從CcoeControl派生而來的控件,它需要較少的開發工作,因為它們自動管理子控件的布局。

在AppUi類中完成構造和運行:

  1. void CsimpleDlgAppUi::ConstructL()  
  2. {  
  3. BaseConstructL();  
  4. IAppDialog=new(ELeave) CsimpleDlgDialog;  
  5. IAppDialog->SetMopParent(this);  
  6. IAppDialog->ExecuteLD(R_SIMPLEDLG_DIALOG);  
  7. AddToStackL(iAppDialog);  
  8. }  
  9.  

因為對話框是無模式的,ExecuteLD()將在調用后立刻返回。必須使用AddToStackL()將對話框添加到控件棧中,因為無模式的對話框無法自己完成這項工作。

還有,必須在AppUi的析構函數中銷毀該對話框:

  1. CsimpleDlgAppUi::~CsimpleDlgAppUi()  
  2. {  
  3. if(iAppDialog)  
  4. {  
  5. RemoveFromStack(iAppDialog);  
  6. delete iAppDialog;  
  7. }  
  8. }  
  9.  

(3)Avkon視圖切換架構

比前兩種都復雜,引入另一個類作為AppUi和容器之間的媒介。另外,AppUi類從CAknViewAppUi繼承,而不是繼承于CaknAppUi。

前兩個架構,AppUi直接負責處理視圖切換,它必須管理視圖提交控件的實例化、刪除和顯示。但是,基于CaknView的類在這方面可以很明顯地減少AppUi地任務。

AppUi仍然處理視圖切換的請求,但現在,并不是刪除舊的容器并實例化新的容器,AppUi只需要調用它的其中一個特殊視圖激活函數,如ActiveViewL()。這些特殊的CaknViewAppUi函數向View服務器提交一個激活請求,然后通過基于CaknView的相關類中的激活/禁止成員函數,View服務器顯式地協調當前視圖地禁止和所請求視圖的激活。

這種架構所需的一般特性如下:

◆必須設計應用程序,使每個CAknView派生的Avkon視圖擁有一個容器,然后AppUi擁有每個Avkon視圖。

◆必須從CaknViewAppUi派生應用程序的AppUi,而不是從CAknView派生,這是因為前者提供了注冊、激活和禁止Avkon視圖的方法。

◆必須在View服務器中注冊所有的Avkon視圖。

◆Avkon視圖具有激活/禁止成員函數,View服務器可以直接調用這些函數。必須重寫這些函數,提供從屬容器的正確處理。

View服務器最主要的原則:確定在任意給定時刻,每個應用程序中只有一個Avkon視圖被激活。Avkon視圖通過兩個UID向View服務器唯一性的標志自己:一個UID用于標志擁有該視圖的應用程序,另一個UID用于在該應用程序中唯一標志該視圖。

對于每個基于CAknView的類,需要實現的激活/禁止函數是:DoActiveL()和DoDeactivate(),這些函數負責實例化和顯示或者刪除Avkon視圖擁有的UI控件。

View服務器將主動調用DeactivateView(),從而強制遵循每個應用程序中只有一個激活視圖的規則。

如何使用Avkon視圖切換架構:

使用這種架構時,必須結合使用CaknViewAppUi和CAknView類。每個Avkon類都從CAknView派生而來,并且必須包含一個Id()函數,從而系統可以標志這個類。它也必須實現DoActivateL()和DoDeactivateL()函數。此外,它還必須實現HandleForegroundEventL()、HandleCommandL()和HandleStatusPaneSizeChange()函數,用于處理各種事件。
用戶請求激活視圖時,View服務器將調用DoActivateL()。該函數的目的是實例化并顯示提交視圖的控件。

注意:在DoDeactivateL()之前可以多次調用DoActivateL()。

將要禁止Avkon視圖時,則會調用DoDeactivateL(),該函數負責銷毀它的控件。當應用程序退出時,或者激活相同應用程序的另一個視圖時,將禁止視圖。該函數絕對不能異常退出。

只有在激活Avkon視圖時才會調用HandleForegroundEventL(),即在調用DoActivateL()和DoDeactivateL()之間。當視圖到達前臺時,接收HandleForegroundEventL(Etrue),當從前臺移除視圖時,將接收HandleForegroundEventL(Efalse)。程序員可能希望使用這種方法來設置焦點或控制屏幕更新。

視圖菜單生成一條命令時,調用HandleCommandL(),因為狀態面板改變而使客戶矩形大小改變時,則調用HandleStatusPaneSizeChange ()。

為了讓Avkon視圖定義它自己的軟鍵和菜單資源,可以在資源文件(.rss)中創建一個AVKON_VIEW資源,然后將資源ID傳遞到視圖的BaseConstructL()函數中。

通常在AppUi對象的ConstructL()方法中構造應用程序中的所有Avkon視圖。使用AddViewL()在View服務器中注冊這些Avkon視圖,最終通過設置默認的視圖來激活初始視圖,使用方法SetDefaultViewL()。

注意:不是由Avkon視圖處理的命令被傳遞到AppUi,在AppUi的HandleCommandL()方法里,只進行視圖間切換的命令。本地視圖切換或者是應用程序擁有的視圖切換,這些工作都通過引用目標Avkon視圖的UID來執行。

為了執行外部視圖切換,則需要調用CcoeAppUi::ActivateViewL()函數,提供一個包含目標應用程序UID和目標視圖UID的TVWsViewId。如:

  1. const Tuid KphoneBookUid={0x101f4cce} ;// from PbkUID.h  
  2. const Tuid kphoneBookContactViewUid={1};  
  3. ActivateViewL(TvwsViewId(KphoneBookUid,KPhoneBookContactViewUid));  
  4.  

注意:如果自己的程序中的某部分視圖能夠被其他程序使用,那么我們必須通過導出為頭文件來發布應用程序UID和視圖UID。

#p#

三、選擇適當的應用程序架構

(1)使用Avkon視圖切換架構

大多數情況下,這種架構是最佳的架構,但它也具有局限性,如:視圖切換方案沒有任何內置的方法來保存視圖切換的上下文。也就是說,沒有提供用于定位到前面激活視圖的機制,沒有類似于瀏覽器上后退功能的按鈕的功能。但是DoActivateL()確實收到了前面激活視圖的標志符,因此可以自定義后退按鈕功能。

(2)使用基于控件的傳統symbian OS架構:

程序可能只需要一個視圖

應用程序具有UI控件,必須保證這些UI控件的私有性。

如果是將應用程序從不同的symbian OS平臺移植到Series 60。

(3)使用基于對話框的架構

可以在資源文件中定義控件,讓對話框自動處理布局和繪畫,這比實現自定義繪畫行為更為容易。僅當應用程序的視圖之間沒有任何循環導航路徑時,才可以對這種應用程序使用“基于對話框”的方法。

【編輯推薦】

  1. 多圖詳解Symbian^3軟件安裝卸載教程
  2. Symbian^3(PDK 3.0.0)發布(附下載地址)
  3. 搭建基于Carbide.C++的Symbian開發環境
  4. MeeGo移動終端設備開發UI設計基礎教程
  5. 多圖詳解“Android UI”設計官方教程
責任編輯:佚名 來源: 中國移動開發社區
相關推薦

2016-03-23 11:05:58

Socket開發框架分析

2010-04-12 11:35:38

Symbian開發

2012-06-25 12:43:26

.NET框架

2009-05-06 08:42:03

SymbianS60移動OS

2012-06-25 09:28:42

.NET可逆框架

2012-01-18 10:20:42

框架設計

2009-09-08 09:12:12

LINQ構建框架設計

2020-07-30 10:35:32

Java反射框架設計

2010-07-12 09:34:59

Symbian開發

2021-10-18 10:14:26

鴻蒙HarmonyOS應用

2011-09-02 11:21:39

PhonegapSymbian下載Cygwin

2012-01-10 10:04:43

Node.js

2010-07-02 09:54:32

Symbian開發

2009-04-12 09:22:27

Symbian諾基亞移動OS

2009-04-12 09:19:27

Symbian諾基亞移動OS

2009-04-12 09:20:59

Symbian諾基亞移動OS

2009-04-12 09:16:30

Symbian諾基亞移動OS

2021-12-29 10:38:35

運維框架KubeNest

2011-02-15 09:07:33

Windows Pho諾基亞

2010-04-22 11:42:44

Symbian開發
點贊
收藏

51CTO技術棧公眾號

亚洲品质自拍| 国产视频网址在线| 在线成人欧美| 亚洲色图35p| 亚洲欧美视频二区| www.在线视频| 91小视频在线| 国产精品视频自拍| 久久久久香蕉视频| 伊人成综合网yiren22| 欧美区在线观看| 国产婷婷一区二区三区| 2021av在线| 成人激情免费网站| 国产精品一区久久久| 国产精品美女毛片真酒店| 国产一区二区三区不卡视频网站| 91精品中文字幕一区二区三区| 色欲色香天天天综合网www| 高清av电影在线观看| 成人av在线观| 成人综合网网址| 在线精品免费视| 在线观看日韩| 一区二区三区久久精品| 深田咏美中文字幕| 91成人福利社区| 色天天综合色天天久久| 免费看欧美黑人毛片| 午夜在线视频| 久久品道一品道久久精品| 亚洲a在线播放| 99re热视频| 亚洲免费激情| www.亚洲免费视频| 亚洲性猛交xxxx乱大交| 青青草这里只有精品| 日韩欧美亚洲国产精品字幕久久久| 男人舔女人下面高潮视频| 免费看电影在线| 国产精品超碰97尤物18| 欧美一区二区视频17c| 亚洲国产精品久久久久久久| 美腿丝袜亚洲综合| 茄子视频成人在线| 男人的天堂一区二区| 国产精品99免费看| 久久在线免费视频| 亚洲区一区二区三| 97偷自拍亚洲综合二区| 国产亚洲欧美日韩精品| 少妇饥渴放荡91麻豆| 成人动漫视频| 欧美成人video| 一区二区三区人妻| 精品国产亚洲一区二区三区在线| 欧美日韩一二三| 日本老熟妇毛茸茸| 深夜视频一区二区| 欧美日韩在线精品一区二区三区激情 | 日韩精品久久久久久免费| 伊人成年综合电影网| 欧美另类极品videosbest最新版本| 欧洲美女女同性互添| 婷婷综合视频| 欧美激情精品久久久久| 欧美黄色一区二区三区| 欧美日韩网站| 久久久久久久久91| 国产一级免费av| 中文日韩欧美| 国产97在线观看| 亚洲一级特黄毛片| 国产一区二区毛片| 国产伦精品一区二区三| 日本一区高清| 中文字幕欧美日韩一区| 一区在线电影| 97影院秋霞午夜在线观看| 亚洲国产综合色| 国产精品丝袜久久久久久消防器材| 忘忧草在线影院两性视频| 色香蕉久久蜜桃| 羞羞的视频在线| 视频二区欧美毛片免费观看| 亚洲第一天堂无码专区| 成年人网站免费看| 欧美h版在线| 欧美激情一二区| 精品无码一区二区三区的天堂| 理论电影国产精品| 亚洲影院色在线观看免费| 欧美一区二区黄片| 国产精品理论片在线观看| 亚洲天堂第一区| 亚洲优女在线| 91精品国产免费| 久久中文字幕人妻| 91精品综合| 欧美专区在线观看| 国产女人18毛片水真多| 91浏览器在线视频| 国产精品8888| 91天天综合| 亚洲第一区在线观看| 亚洲毛片亚洲毛片亚洲毛片| 在线播放不卡| 国产欧美在线看| 色婷婷av一区二区三区之红樱桃| 日本一区二区综合亚洲| 久久人妻无码一区二区| 欧美黄色三级| 日韩欧美一区二区久久婷婷| a级大片在线观看| 一区二区影视| 国产成人拍精品视频午夜网站| 国产一区二区女内射| 91色综合久久久久婷婷| 久久久99精品视频| 国产精品麻豆成人av电影艾秋| 精品成a人在线观看| 黄色激情小视频| 久久最新视频| 精品免费视频123区| 97caopor国产在线视频| 欧美日韩一区二区三区四区| 亚洲国产欧美视频| 亚洲高清不卡| av一区二区在线看| 黄色免费在线网站| 欧美日韩国产a| 日本欧美一区二区三区不卡视频| av成人黄色| 精品国产一二| av色在线观看| 精品国产乱码久久久久久老虎| 日本黄色免费片| 毛片一区二区三区| 亚洲一二区在线| 日韩精品免费观看视频| 亚洲跨种族黑人xxx| 日韩精品人妻中文字幕| 国产成人av影院| h无码动漫在线观看| 麻豆国产一区二区三区四区| 久久久黄色av| 国产乱淫片视频| 日韩理论在线观看| 久久精品视频在线观看免费| 91九色精品| 91久久久久久久| 黄色网址在线免费| 日韩一区二区三区三四区视频在线观看| 四虎地址8848| 国产精品一区二区黑丝| 国产激情片在线观看| 久久久久毛片免费观看| 欧美成人精品在线播放| 精品国产av一区二区三区| 一区二区三区在线视频观看| 特黄特色免费视频| 亚洲精品1区2区| 免费成人在线观看av| 欧美日韩免费看片| 正在播放亚洲1区| 国产片在线播放| 亚洲一区二区在线免费观看视频| 久久久无码人妻精品无码| 尤物精品在线| 久久亚裔精品欧美| 国产一区二区三区影视| 久久精品国产精品| www.av导航| 欧美日韩精品在线播放| 亚洲欧洲久久久| 看片的网站亚洲| www婷婷av久久久影片| 都市激情久久| 国产精品高潮呻吟久久av无限| 91社区在线观看播放| 51午夜精品国产| 精品无码免费视频| 久久毛片高清国产| 亚洲图片 自拍偷拍| 最新亚洲激情| 亚洲一二三区在线| 豆花视频一区二区| 国产精品久久久久免费a∨大胸 | 国产美女主播在线观看| 亚洲一区二区五区| 先锋影音av在线| 国产iv一区二区三区| 久久久久久久爱| 久久久全国免费视频| 91麻豆福利精品推荐| 男人的天堂最新网址| 欧美日本三区| 日韩国产高清一区| 亚洲三级av| 国产精品久久久久av| 欧美xxxbbb| 这里只有精品丝袜| 色窝窝无码一区二区三区| 欧洲精品一区二区三区在线观看| 欧美另类视频在线观看| 国产女人aaa级久久久级| 国产精品久久久久久亚洲av| 蜜桃视频在线一区| a级黄色一级片| 9191国语精品高清在线| 欧美中文娱乐网| 中文字幕一区日韩精品| 国产精品一区二区久久| 蜜臀久久精品| 九九热r在线视频精品| 爱久久·www| 亚洲精品国产福利| 国产福利视频导航| 欧美乱妇23p| 久久综合九色综合久久久精品综合| 91免费版网站入口| 成人美女大片| 色综合导航网站| 日本福利在线| 一区二区三区亚洲| 亚洲色图 校园春色| 欧美一卡二卡三卡四卡| 亚洲在线观看av| 色婷婷av一区二区三区之一色屋| 国产一级视频在线| 亚洲精品免费在线观看| 四虎地址8848| 中文字幕av资源一区| 四虎永久免费影院| av成人动漫在线观看| 一区二区三区四区影院| 国产在线精品免费| 午夜剧场在线免费观看| 日韩精品电影在线观看| 欧美日韩在线视频一区二区三区| 国产精品s色| 影音先锋男人的网站| 一区二区三区午夜探花| dy888午夜| 欧美a级片一区| xxxxxx在线观看| 欧美一区在线看| 六月婷婷激情网| 欧美一区免费| 欧美亚洲色图视频| 亚洲啪啪91| 91猫先生在线| 久久男女视频| 99免费视频观看| 男人的j进女人的j一区| 最新中文字幕免费视频| 久久精品国产亚洲一区二区三区| 杨幂毛片午夜性生毛片| 毛片av一区二区三区| 国产3p在线播放| 国产成人综合自拍| wwwxx日本| 26uuu亚洲| 久久久久无码精品国产sm果冻| 中文在线免费一区三区高中清不卡| 男人的天堂av网| 1000精品久久久久久久久| 极品久久久久久| 亚洲成a人v欧美综合天堂下载| 日韩三级免费看| 日本道色综合久久| 97免费观看视频| 欧美大胆一级视频| 水莓100国产免费av在线播放| 亚洲精品自拍第一页| 成人性爱视频在线观看| 久久久精品国产亚洲| 成人bbav| 日韩av成人在线| 亚瑟国产精品| 国产乱码精品一区二区三区日韩精品| 亚洲丝袜美腿一区| 亚洲一区二区在线免费观看| 欧美一区免费| 成人一区二区三| 国产成人综合自拍| 无码一区二区三区在线| 亚洲天堂精品在线观看| 国产乡下妇女做爰| 欧美三级一区二区| 成人免费观看在线视频| 国产亚洲a∨片在线观看| a级片国产精品自在拍在线播放| 6080yy精品一区二区三区| 日本久久一区| 国产精品久久国产三级国电话系列| 国产va免费精品观看精品视频| 一区二区三区视频在线播放| 亚洲小说欧美另类社区| 国产自偷自偷免费一区| 成人动漫一区二区三区| 极品蜜桃臀肥臀-x88av| 亚洲国产视频在线| 综合久久中文字幕| 亚洲第一精品久久忘忧草社区| 1pondo在线播放免费| 538国产精品一区二区在线| 精品国产一区二| 青青草原亚洲| 在线欧美福利| 亚洲三级在线观看视频| 97久久久精品综合88久久| 日本少妇高清视频| 欧美中文一区二区三区| 色呦呦视频在线| 久久成人人人人精品欧| 国产精品字幕| 蜜桃欧美视频| 在线电影一区| 三上悠亚 电影| 国产精品久久久久久户外露出 | 国产成人精品av在线| av成人资源网| 亚洲区成人777777精品| 日韩精品一区第一页| 亚洲精品乱码久久久久久久| 亚洲综合久久av| 国产精品国产三级国产aⅴ| 亚洲人成绝费网站色www| 国产免费拔擦拔擦8x在线播放 | 亚洲欧美精品午睡沙发| 中文字幕免费播放| 亚洲精品综合久久中文字幕| a√中文在线观看| 风间由美久久久| 欧美精品黄色| 无码国产精品久久一区免费| 亚洲三级小视频| 国产精品呻吟久久| 日韩在线观看成人| 日本一区二区中文字幕| 亚洲第一在线综合在线| 久久精品日韩欧美| 国产精品亚洲无码| 欧美性感美女h网站在线观看免费| 亚洲欧美激情另类| 欧美国产日韩二区| 51亚洲精品| 99在线免费视频观看| 成人黄页在线观看| 日本一级黄色录像| 亚洲第一区第一页| 一根才成人网| 奇米影视首页 狠狠色丁香婷婷久久综合 | 亚洲精品中文字幕女同| 国模套图日韩精品一区二区| 日韩av一区二区三区美女毛片| 媚黑女一区二区| 男女做爰猛烈刺激| 欧美日韩国产电影| 制服丝袜在线播放| 国产精品果冻传媒潘| av不卡在线看| 国产精品天天干| 欧美日韩一区二区三区在线| 黄在线免费看| 国产成人免费观看| 亚洲一区二区成人| 免费视频91蜜桃| 91精品国产综合久久香蕉麻豆| 香蕉久久aⅴ一区二区三区| 国产日韩欧美二区| 日韩综合一区二区| 中日韩一级黄色片| 精品国偷自产国产一区| 成人性生活视频| 亚洲综合五月天| 高清国产午夜精品久久久久久| 可以免费看的av毛片| 国产性猛交xxxx免费看久久| 麻豆国产一区| 美女福利视频在线| 国产精品乱码人人做人人爱| 亚洲精品综合网| 欧美中文字幕视频| 天天射天天综合网| 捆绑裸体绳奴bdsm亚洲| 欧美视频第二页| 9999在线视频| 亚洲国产一区二区三区在线| 国产东北露脸精品视频| 日本视频在线观看免费| 俺也去精品视频在线观看| 黑人久久a级毛片免费观看| 国产av人人夜夜澡人人爽| 一区二区三区在线影院| jizz在线免费观看| 成人区精品一区二区| 免费av成人在线| 国产一级片久久|