《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 深入理解Android之資源文件
深入理解Android之資源文件
Venus神廟的博客<
摘要: 作為一枚coder,做界面,很多時候都是一場夢魘。很多時候,我們會感覺對于底層邏輯實現的很有把握性,哪怕需求一直在變,也可以通過不斷的重構一直跟進,一切盡在掌握。但遭遇界面,往往就不再如此,它的好壞總是和審美、體驗之類的詞匯扯在一起。
關鍵詞: Android 資源文件
Abstract:
Key words :

  作為一枚coder,做界面,很多時候都是一場夢魘。很多時候,我們會感覺對于底層邏輯實現的很有把握性,哪怕需求一直在變,也可以通過不斷的重構一直跟進,一切盡在掌握。但遭遇界面,往往就不再如此,它的好壞總是和審美、體驗之類的詞匯扯在一起,在鳳姐芙蓉出沒的年頭,談審美成為一件恐怖的事情。你可能會被要求不停的改代碼,就為了移動一個像素,調整一枚按鈕,瑣碎而無聊。

  為了改變這樣的狀況,挽救coder們于水生活熱之中,很多開發平臺,都采用了類似于資源文件的解決方案。此類方案的基本思想是,將界面的實現與底層邏輯的實現完全剝離開來,用資源文件這樣的東西來描述界面。資源文件的描述語言,往往是結構化很強,比如Html,Xml(及其變形體)之類的。于開發語言相比,此類語言邏輯性較弱但結構更好可讀性更強更容易理解,并對自動化工具非常友好,可以于界面的拖拽配置結合的更加完美。這樣的剝離,可以是的底層邏輯和上層界面獨立變化,甚至不同的人員開發(這一點在web開發上表現的應該很明顯。..),兩者之間的耦合性非常的小,coder們的負擔,陡然減少(好吧,一個很挫的資源架構也會額外增加開發人員的負擔,Symbian同學,請不要對號入座。..)。

  結構和格式

  Android的資源文件,是由目錄結構,Xml格式的文件,和純數據文件構成。從格式上來看,無疑,學習門檻非常低。Xml作為coder們的瑞士軍刀,哪怕使不習慣,弄得清楚并會用至少是沒有問題。從配套的工具來看,Android的ADT,提供了一套可視化的配置工具,說不上特別好用,但至少是差強人意能湊合著用,比不上iPhone的,調戲Symbian還是沒有問題的[強檔廣告首播:有道詞典 for iPhone新版火熱上線,增加了超強單詞本功能,特有的觸電式顫抖單詞切換功能,讓你欲罷不能,持有相關設備的童鞋不要猶豫,一擁而上吧。..]。

  Android的資源文件,覆蓋面超級廣,只要是和界面相關的,都可以用資源文件表示,比如:UI的樣式,菜單,配置文件,各種描述性字符串,圖片,音頻視頻文件,動畫,顏色,尺寸,風格和樣式,等等等。所有的資源文件(不考慮asset,它和討論暫無關聯。..),都放在res目錄下,不同類別的資源,需要放置在不同的特定名稱的子文件夾中,或者是寫在特定文件名的文件中(或者ms不是必須的,但,不用在這里特立獨行,尋章辦事也挺好。..)。比如,所有作為UI背景之類的圖片,都需要扔在drawable這類的文件夾中,所有字符串相關的,都會放到values目錄下形如strings.xml這樣的文件中(如下圖所示,是一個資源文件目錄結構的截圖。..)。

  

  每個xml文件,都有一定的約定。比如一個字符串,會放在《string》《/string》這樣的xml element中(如下圖所示。..),你可以通過eclipse的ADT插件提供的可是界面去填而不關注具體規范,也可以直接人肉打造,前者對于新手來說更為直觀,后者對于老鳥而言更為迅捷。

  

  可配置性

  程序邏輯總是不變應萬變的,但界面往往是需要能夠72變。首先一種變化因素,就是狀態。想象一下,我們往往會有這樣類似的需求,一個按鈕,我們需要沒有按下去的時候是一種背景,按的過程中刷的變成另一副模樣,當它可用的時候需要鮮鮮亮的一個樣子,不可用的時候最好是灰不溜秋沒人愿點的慫樣,諸如此類。傳統編程模型下(Symbian,哥叫你出來當模特。..),我們總是需要不厭其煩的用代碼控制這樣的事情。監聽不同的事件,見縫插針的切換背景,并祈禱上天,千萬別讓哥調整,否則哥和你沒完。

  

  在Android中,做這個事情,變得簡單許多,通過預設的一些Xml屬性,能夠輕松的搞定。如上圖所示,是Radio Button的背景。通過搭配不同的屬性,就可以自動轉換背景。比如第一個《item》,說的是當Radio Button被選中,并且具有焦點的時候,顯示btn_radio_on這幅圖片,而最后一個《item》,說的是前述條件都不滿足,并且處于選中狀態,那么顯示btn_radio_on這幅圖片。

  另外一個更易變的因素,就是手機硬件/軟件環境了,畢竟,不是家家都是蘋果,一個平臺搭一款手機,手機款形多樣化,幾乎是避免不了的問題。沒有人希望自己做的軟件在大屏幕手機上閃亮光鮮,換個小屏幕就慘不忍睹,豎屏看像那么回事橫屏看就擠做一團。還有就是語言環境了,做為一個有國際眼光的coder,作面向世界的NB軟件是咱的夢想,但我們不能因為自己的夢想逼迫大家都去學中文,做一款軟件可以根據手機的語言環境選擇最合適展示的語言,很多時候,是一個需要具備的功能點。

  在Android中,實現這些,都是舉手之勞。方法就是將和環境相關的資源,放入特定名稱的文件夾中。比如,表示簡體中文字符信息的資源,可以放到values-zh-rCN中去,當系統語言環境為簡體中文時,就會呈現出中文的字符信息。在Android中,很多相關配置項,都可以按照這樣的方式參與到資源自適應的活動中來,包括屏幕大小,屏幕朝向,屏幕分辨率,語言環境,觸屏類型,SDK版本等等。系統會給所有配置項一個優先級(或者說權重,次序之類的),當用戶提供了多份資源的時候,系統會根據優先級從高到底淘汰備選資源,如果淘汰僅剩了一個,那就是最符合當前系統軟硬件語言環境的資源項,如果一個不剩,擇啟用默認項(最是形如values這樣沒有任何尾巴目錄中的資源。..)。因此,默認的資源是非常重要的,它必須是其他所有可選資源項的超集,否則在資源選擇失敗的情況下,應用會凄涼的崩潰。

  關于資源配置,以及選擇的詳情,參見SDK中的:guide/topics/resources/resources-i18n.html部分。

  作為一枚coder,做界面,很多時候都是一場夢魘。很多時候,我們會感覺對于底層邏輯實現的很有把握性,哪怕需求一直在變,也可以通過不斷的重構一直跟進,一切盡在掌握。但遭遇界面,往往就不再如此,它的好壞總是和審美、體驗之類的詞匯扯在一起,在鳳姐芙蓉出沒的年頭,談審美成為一件恐怖的事情。你可能會被要求不停的改代碼,就為了移動一個像素,調整一枚按鈕,瑣碎而無聊。

  為了改變這樣的狀況,挽救coder們于水生活熱之中,很多開發平臺,都采用了類似于資源文件的解決方案。此類方案的基本思想是,將界面的實現與底層邏輯的實現完全剝離開來,用資源文件這樣的東西來描述界面。資源文件的描述語言,往往是結構化很強,比如Html,Xml(及其變形體)之類的。于開發語言相比,此類語言邏輯性較弱但結構更好可讀性更強更容易理解,并對自動化工具非常友好,可以于界面的拖拽配置結合的更加完美。這樣的剝離,可以是的底層邏輯和上層界面獨立變化,甚至不同的人員開發(這一點在web開發上表現的應該很明顯。..),兩者之間的耦合性非常的小,coder們的負擔,陡然減少(好吧,一個很挫的資源架構也會額外增加開發人員的負擔,Symbian同學,請不要對號入座。..)。

  結構和格式

  Android的資源文件,是由目錄結構,Xml格式的文件,和純數據文件構成。從格式上來看,無疑,學習門檻非常低。Xml作為coder們的瑞士軍刀,哪怕使不習慣,弄得清楚并會用至少是沒有問題。從配套的工具來看,Android的ADT,提供了一套可視化的配置工具,說不上特別好用,但至少是差強人意能湊合著用,比不上iPhone的,調戲Symbian還是沒有問題的[強檔廣告首播:有道詞典 for iPhone新版火熱上線,增加了超強單詞本功能,特有的觸電式顫抖單詞切換功能,讓你欲罷不能,持有相關設備的童鞋不要猶豫,一擁而上吧。..]。

  Android的資源文件,覆蓋面超級廣,只要是和界面相關的,都可以用資源文件表示,比如:UI的樣式,菜單,配置文件,各種描述性字符串,圖片,音頻視頻文件,動畫,顏色,尺寸,風格和樣式,等等等。所有的資源文件(不考慮asset,它和討論暫無關聯。..),都放在res目錄下,不同類別的資源,需要放置在不同的特定名稱的子文件夾中,或者是寫在特定文件名的文件中(或者ms不是必須的,但,不用在這里特立獨行,尋章辦事也挺好。..)。比如,所有作為UI背景之類的圖片,都需要扔在drawable這類的文件夾中,所有字符串相關的,都會放到values目錄下形如strings.xml這樣的文件中(如下圖所示,是一個資源文件目錄結構的截圖。..)。

  

  每個xml文件,都有一定的約定。比如一個字符串,會放在《string》《/string》這樣的xml element中(如下圖所示。..),你可以通過eclipse的ADT插件提供的可是界面去填而不關注具體規范,也可以直接人肉打造,前者對于新手來說更為直觀,后者對于老鳥而言更為迅捷。

  

  可配置性

  程序邏輯總是不變應萬變的,但界面往往是需要能夠72變。首先一種變化因素,就是狀態。想象一下,我們往往會有這樣類似的需求,一個按鈕,我們需要沒有按下去的時候是一種背景,按的過程中刷的變成另一副模樣,當它可用的時候需要鮮鮮亮的一個樣子,不可用的時候最好是灰不溜秋沒人愿點的慫樣,諸如此類。傳統編程模型下(Symbian,哥叫你出來當模特。..),我們總是需要不厭其煩的用代碼控制這樣的事情。監聽不同的事件,見縫插針的切換背景,并祈禱上天,千萬別讓哥調整,否則哥和你沒完。

  

  在Android中,做這個事情,變得簡單許多,通過預設的一些Xml屬性,能夠輕松的搞定。如上圖所示,是Radio Button的背景。通過搭配不同的屬性,就可以自動轉換背景。比如第一個《item》,說的是當Radio Button被選中,并且具有焦點的時候,顯示btn_radio_on這幅圖片,而最后一個《item》,說的是前述條件都不滿足,并且處于選中狀態,那么顯示btn_radio_on這幅圖片。

  另外一個更易變的因素,就是手機硬件/軟件環境了,畢竟,不是家家都是蘋果,一個平臺搭一款手機,手機款形多樣化,幾乎是避免不了的問題。沒有人希望自己做的軟件在大屏幕手機上閃亮光鮮,換個小屏幕就慘不忍睹,豎屏看像那么回事橫屏看就擠做一團。還有就是語言環境了,做為一個有國際眼光的coder,作面向世界的NB軟件是咱的夢想,但我們不能因為自己的夢想逼迫大家都去學中文,做一款軟件可以根據手機的語言環境選擇最合適展示的語言,很多時候,是一個需要具備的功能點。

  在Android中,實現這些,都是舉手之勞。方法就是將和環境相關的資源,放入特定名稱的文件夾中。比如,表示簡體中文字符信息的資源,可以放到values-zh-rCN中去,當系統語言環境為簡體中文時,就會呈現出中文的字符信息。在Android中,很多相關配置項,都可以按照這樣的方式參與到資源自適應的活動中來,包括屏幕大小,屏幕朝向,屏幕分辨率,語言環境,觸屏類型,SDK版本等等。系統會給所有配置項一個優先級(或者說權重,次序之類的),當用戶提供了多份資源的時候,系統會根據優先級從高到底淘汰備選資源,如果淘汰僅剩了一個,那就是最符合當前系統軟硬件語言環境的資源項,如果一個不剩,擇啟用默認項(最是形如values這樣沒有任何尾巴目錄中的資源。..)。因此,默認的資源是非常重要的,它必須是其他所有可選資源項的超集,否則在資源選擇失敗的情況下,應用會凄涼的崩潰。

  關于資源配置,以及選擇的詳情,參見SDK中的:guide/topics/resources/resources-i18n.html部分。

  R類

  在使用資源后,界面邏輯與底層邏輯的耦合被降低了,但這不意味著,兩者沒有關聯了。比如,需要為某個按鈕增加一個點擊事件,就需要定位到所需的那個按鈕;再比如,你需要使用某個字符串資源,通知用戶某件事情,就需要能定位到資源中放置的該字串。

  最顯而易見的一種方式,就是通過字符串比較,用名字信息在資源的xml描述文件中定位到所需的內容,加載并使用。這種方式,解決了查找的問題,但反復的字符串比較,勢必帶來嚴重的效率隱患。因此,在Android中,類似于Symbian的方法,引入了一個R類。

  它的基本思想是,通過增加一個額外的編譯器,為所有的資源項,都賦予一個32位的整形數來表示,同一個資源像的不同配置,都使用同一個id。這個整形數,就相當于這個資源項的門牌號碼,能夠幫助定位到對應的資源項。所有的這些整形數,都以常量的方式,整合到一個Java類中,這個類就是R類。這樣,在程序中,就可以通過使用這個R類,來查找所需的資源,這就將字符串比較,簡化成了一個整形數的比較,大大的節約了開銷。

  不得不說,這整套邏輯和Symbian中的資源文件預編譯一致。但兩者很不同的點在于Symbian中的整形數,代表的是一個二進制流的偏移量,資源中的內容在編譯時決定了。而Android中的整形數,是一個有邏輯意義的數值,它表達了這個資源所處的資源包,類別,和腳標,它的具體內容在運行時才確定,這使得它的靈活性大大增強,付出的則是一定的效率代價。

  實現

  按照慣例,還是要說實現的,以一個查找流程為示例。當在Activity中需要使用字符串的,會調用它的getString方法,傳入R.stirng.xxx的一個整形數,換取一個符合當前機器環境配置的字符串。

  getString,追根溯源,來到AssetManager類中。Asset類,其實是一個空殼,它僅僅是提供了一些便利的接口,而將請求,通過JNI的接口,傳入到了底層C++實現的類庫中。

  在底層的實現,主要是在C++實現的,AssetManager,ResourceTypes等等之中。其中:

  JNI文件在:framework/base/core/jni

  頭文件在:framework/base/include/utils

  CPP文件在:framework/base/libs/utils

  具體實現,和前述的算法邏輯是一致的。每一個資源的id,32位,高8位表示資源包,低16位用于描述腳標,中間8位,用來說明類別。所有資源中的文件,都被預處理了,放入到了一系列的隊列和表中,通過id,可以查到具體的位置。然后根據緩存的環境設置對象,跑一次淘汰算法,獲得匹配的資源對象的對應文件和偏移量。然后將值讀取出來,通過JNI接口,拷貝回去。

  以上這些描述,并不能幫助了解真實的實現細節,主要是為了促使大家對讀取資源的效率有一個比較直觀的認知。整個資源讀取的流程比較長,但是實現在C++中,可以預想,效率比Java高一些,開發人員,應該能夠根據自己的需求,決定是否將內容寫入資源文件中(還是寫在代碼中。..),是不是需要自己稍微緩存一下,諸如此類。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          另类综合日韩欧美亚洲| 亚洲欧美日韩中文视频| 最新69国产成人精品视频免费| 国产欧美日韩精品一区| 在线激情影院一区| 永久免费精品影视网站| 久久久久久久一区二区| 欧美大片在线观看一区| 欧美大胆人体视频| 激情综合视频| 国产精品资源| 欧美破处大片在线视频| 亚洲欧美一区二区精品久久久| 麻豆精品精品国产自在97香蕉| 一本久道久久综合中文字幕| 亚洲国产精品久久久久秋霞影院| 中文日韩在线| 亚洲嫩草精品久久| 悠悠资源网久久精品| 亚洲色图制服丝袜| 国产一区清纯| 亚洲精品一区二区三区四区高清| 久久一区亚洲| 亚洲精品一区二区三区99| 久久高清国产| 卡一卡二国产精品| 一区免费视频| 亚洲精品少妇30p| 国产区日韩欧美| 亚洲一区二区免费| 亚洲一区不卡| 欧美私人啪啪vps| 久久精品国产69国产精品亚洲| 亚洲小说区图片区| 欧美一级视频一区二区| 欧美久久视频| 午夜精品福利一区二区蜜股av| 久久成人免费电影| 欧美激情欧美狂野欧美精品| 午夜精品视频网站| 久久精品国产亚洲aⅴ| 欧美丰满高潮xxxx喷水动漫| 亚洲成人在线免费| 国产日韩欧美一二三区| 日韩视频专区| 国产精品一区二区你懂的| 制服丝袜激情欧洲亚洲| 亚洲第一综合天堂另类专| 一区二区三区高清在线| 亚洲视频高清| 欧美日韩第一区日日骚| 午夜精品99久久免费| 一区二区三区成人| 国语自产精品视频在线看一大j8| 久久综合伊人77777麻豆| 亚洲在线视频观看| 一区二区三区我不卡| 国产有码在线一区二区视频| 国产精品欧美日韩一区| 亚洲影音一区| 欧美高清日韩| 欧美在线亚洲综合一区| 亚洲乱码精品一二三四区日韩在线| 欧美亚洲视频一区二区| 欧美午夜a级限制福利片| 国产精品永久免费观看| 国产精品mv在线观看| 欧美日韩精品欧美日韩精品| 在线国产精品一区| 男女激情视频一区| 一区二区三区久久网| 亚洲黄色免费电影| 欧美成人精品一区二区三区| 亚洲精品黄色| 在线综合+亚洲+欧美中文字幕| 亚洲一区三区电影在线观看| 亚洲国产成人tv| aa成人免费视频| 一区二区免费在线视频| 99这里只有精品| 欧美激情视频在线免费观看 欧美视频免费一| 亚洲视频精品在线| 欧美在线影院在线视频| 一区二区精品在线| 美女免费视频一区| 午夜影院日韩| 久久亚洲私人国产精品va媚药| 久久免费视频观看| 亚洲直播在线一区| 欧美mv日韩mv亚洲| 亚洲美女视频| 国产精品视频最多的网站| 亚洲精品一区二区在线观看| 国产亚洲福利一区| 欧美一区日本一区韩国一区| 亚洲女人av| 麻豆视频一区二区| 尤物视频一区二区| 亚洲黄色天堂| 亚洲欧洲在线一区| 国产亚洲欧美激情| 国产欧美精品日韩| 久久久www成人免费毛片麻豆| 国产欧美日韩综合精品二区| 国产一级一区二区| 久久av老司机精品网站导航| 美女日韩欧美| 一区二区三区在线观看视频| 一区二区三区|亚洲午夜| 久久久久成人网| 99精品热6080yy久久| 国产精品扒开腿做爽爽爽视频| 国产精品中文字幕在线观看| 91久久精品久久国产性色也91| 一本久久知道综合久久| 亚洲无亚洲人成网站77777| 国产精品免费观看在线| 韩国一区二区三区在线观看| 欧美女同视频| 欧美午夜不卡视频| 欧美国产一区视频在线观看| 欧美va天堂va视频va在线| 99re6热只有精品免费观看| 亚洲免费小视频| 欧美成人a∨高清免费观看| 亚洲国产综合在线| 午夜精彩国产免费不卡不顿大片| 亚洲一区二区高清| 久久网站免费| 亚洲精品自在在线观看| 亚洲国产合集| 久久人91精品久久久久久不卡| 久久天天综合| 亚洲激情视频在线观看| 激情婷婷久久| 黄色日韩精品| 在线电影欧美日韩一区二区私密| 国产精品人人做人人爽| 久久精品中文字幕一区二区三区| 欧美激情精品久久久久久黑人| 美女在线一区二区| 亚洲精品欧洲| 久久久久国产一区二区三区四区| 在线视频免费在线观看一区二区| 国产一区二区黄色| 亚洲欧美日韩成人| 久久综合给合久久狠狠狠97色69| 国产情人综合久久777777| 国产精品嫩草影院av蜜臀| 午夜精品久久久久久久99水蜜桃| 亚洲永久精品国产| 国产精品久久久久久久免费软件| 欧美成人精品影院| 国产自产2019最新不卡| 午夜精品视频网站| 欧美国产欧美亚州国产日韩mv天天看完整| 亚洲欧美日韩国产成人精品影院| 在线日本高清免费不卡| 国产精品日日摸夜夜添夜夜av| 欧美亚洲网站| 激情亚洲一区二区三区四区| 亚洲激情网站| 黄色精品一区二区| 亚洲一区二区三区四区五区黄| 欧美另类人妖| 免费在线亚洲| 99精品热视频只有精品10| 欧美激情综合色综合啪啪| 在线成人黄色| 欧美成人情趣视频| 欧美激情免费观看| 久久精品国产综合精品| 亚洲福利小视频| 男女av一区三区二区色多| 一区二区三区鲁丝不卡| 亚洲日本一区二区| 91久久久久久国产精品| 国产精品日日做人人爱| 欧美亚洲第一页| 欧美啪啪一区| 欧美成人精品一区二区三区| 国产日韩精品一区二区浪潮av| 午夜欧美精品| 欧美在线啊v一区| 另类天堂av| 亚洲欧美国产不卡| 欧美成人亚洲成人日韩成人| 欧美视频在线播放| 欧美精品一级| 国产一区二区三区四区三区四| 国内精品美女av在线播放| 亚洲专区一二三| 日韩香蕉视频| 欧美日韩1080p| 亚洲国产精品免费| 久久久蜜桃一区二区人| 亚洲视频精选在线| 国产精品网曝门| 久热综合在线亚洲精品| 亚洲一区影音先锋| 国产精品theporn88| 欧美亚日韩国产aⅴ精品中极品| 免费欧美在线| 国产精品一区二区久激情瑜伽| 欧美性猛交99久久久久99按摩| 欧美日韩性生活视频| 日韩一二三区视频| 欧美日韩另类国产亚洲欧美一级| 日韩一二在线观看| 欧美三日本三级三级在线播放| 国产精品久久久久久久久久尿| 欧美黄在线观看| 一区二区精品在线观看| 美玉足脚交一区二区三区图片| 一区二区三区中文在线观看| 另类成人小视频在线| 欧美一区午夜视频在线观看| 久久精品伊人| 亚洲精选中文字幕| 欧美自拍偷拍| 欧美精品在线观看| 亚洲女同在线| 女同性一区二区三区人了人一| 国产精品成人一区二区网站软件| 久久久久久国产精品mv| 欧美激情亚洲| 久久一区欧美| 日韩视频亚洲视频| 欧美在线免费观看| 免费观看30秒视频久久| 黄页网站一区| 最新国产成人在线观看| 国产精品久久久久久久久免费樱桃| 激情久久久久久| 国产区精品视频| 欧美日韩在线一区二区| 国产精品国产三级国产aⅴ9色| 欧美日韩在线免费观看| 亚洲精品美女在线观看播放| 亚洲色无码播放| 欧美精品在线一区二区| 亚洲一区二区不卡免费| 亚洲色诱最新| 亚洲免费观看高清完整版在线观看| 国产午夜精品久久久| 黄色av一区| 亚洲国产成人tv| 亚洲欧美久久久久一区二区三区| 欧美顶级少妇做爰| 久久婷婷一区| 亚洲专区一区二区三区| 久久国产精品一区二区三区| 日韩视频一区二区三区在线播放免费观看| 今天的高清视频免费播放成人| 久久综合导航| 最近看过的日韩成人| 欧美日韩国产天堂| 免费在线观看日韩欧美| 国内外成人免费激情在线视频网站| 国产精品影片在线观看| 欧美一区影院| 久久久精品一区二区三区| 国产精品一香蕉国产线看观看| 99在线热播精品免费99热| 亚洲无吗在线| 先锋a资源在线看亚洲| 亚洲女ⅴideoshd黑人| 欧美三级韩国三级日本三斤| 国产日韩欧美亚洲| 欧美日韩中文精品| 欧美激情 亚洲a∨综合| 国产一区二区日韩| 久久偷看各类wc女厕嘘嘘偷窃| 国产日韩欧美不卡在线| 国产精品每日更新| 一区二区三区成人| 国产精品亚洲美女av网站| 国产在线乱码一区二区三区| 欧美日韩精品二区第二页| 精品91久久久久| 99视频+国产日韩欧美| 一区二区动漫| 欧美精品v国产精品v日韩精品| 亚洲精品综合精品自拍| 欧美日韩精品一本二本三本| 激情久久中文字幕| 欧美色综合网| 欧美日本一区二区三区| 亚洲精品一区在线| 最新国产の精品合集bt伙计| 欧美精品性视频| 亚洲视频www| 亚洲精品日韩激情在线电影| 欧美日韩在线大尺度| 国产精品久久久久99| 国产精品视频免费观看| 欧美日韩成人一区二区三区| 狠狠色噜噜狠狠狠狠色吗综合| 国产精品美女视频网站| 亚洲福利一区| 在线国产欧美| 国产在线播放一区二区三区| 亚洲免费福利视频| 一区二区三区中文在线观看| 国产精品久久久久久久久免费| 国产精品高精视频免费| 国产精品一区二区a| 亚洲欧洲日本在线| 国产免费成人av| 久久久夜精品| 欧美一区二区三区四区在线观看地址| 国产精品主播| 这里是久久伊人| 黄色一区二区在线观看| 亚洲日本久久| 国产欧美在线观看| 欧美人与性禽动交情品| 国产一区二区三区在线播放免费观看| 欧美有码视频| 欧美第一黄网免费网站| 一本色道婷婷久久欧美| 国产精品中文字幕在线观看| 欧美激情一二三区| 久久亚洲综合色| 欧美在线视频日韩| 欧美电影免费观看高清完整版| 欧美 日韩 国产 一区| 欧美乱在线观看|