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

詳解Android首選項框架ListPreference

移動開發 Android
本文深入探討Android的首選項框架,詳細介紹了如何將特定條件的信息設置為首選項。本文通過一個實例,為搜索飛機航班的應用程序設置最少停站數或特定航線為首選項。

探索***項框架

在深入探討Android的***項框架之前,首先構想一個需要使用***項的場景,然后分析如何實現這一場景。假設你正在編寫一個應用程序,它提供了一個搜索飛機航班的工具。而且,假設該應用程序的默認設置是根據機票價格由低到高的順序顯示航班,但用戶可以將***項設置為始終根據最少停站數或特定航線來航班。如何實現這一場景?

ListPreference

顯然,必須為用戶提供UI 來查看排序選項列表。該列表將包含每個選項的單選按鈕,而且默認(或當前)選項應該被預先選中。要使用Android***項框架解決此問題,所做的工作非常之少。首先,創建***項XML文件來描述***項,然后使用預先構建的活動類,該類知道如何顯示和持久化***項,下面是我們的***項XML文件flightoptions.xml 。

Xml代碼

 

  1. <?xml version="1.0" encoding="utf-8"?>    
  2. <PreferenceScreen    
  3.     xmlns:android="http://schemas.android.com/apk/res/android"    
  4.     android:key="flight_option_preference"    
  5.     android:title="@string/prefTitle"    
  6.     android:summary="@string/prefSummary">    
  7.         
  8.     <ListPreference    
  9.         android:key="@string/selected_flight_sort_option"    
  10.         android:title="@string/listTitle"    
  11.         android:summary="@string/listSummary"    
  12.         android:entries="@array/flight_sort_options"    
  13.         android:entryValues="@array/flight_sort_options_values"    
  14.         android:dialogTitle="@string/dialogTitle"    
  15.         android:defaultValue="@string/flight_sort_option_default_value"/>    
  16. </PreferenceScreen>   

 

上邊說了我們還需要一個Activity類FlightPreferenceActivity,下面使我們的Activity類。這個Activity類繼承了PreferenceActivity 代碼如下:

Java代碼

 

  1. package xiaohang.zhimeng;    
  2.     
  3. import android.os.Bundle;    
  4. import android.preference.PreferenceActivity;    
  5.     
  6. public class FlightPreferenceActivity extends PreferenceActivity {    
  7.     @Override    
  8.     protected void onCreate(Bundle savedInstanceState) {    
  9.         super.onCreate(savedInstanceState);    
  10.         addPreferencesFromResource(R.xml.flightoptions);    
  11.     }    
  12. }   

 

上面的代碼清單,包含了一個表示航班選項示例的***項設置的XML片段。該包含了一個活動類,也就是我們的FlightPreferenceActivity 這個類主要用于加載我們的XML 文件。首先看一下XML。Android提供了一種端到端得***項框架。這意味著,該框架支持定義***項,想用戶顯示設置,以及將用戶選擇持久化到數據庫存儲中。 在/res/xml/目錄下的XML文件中定義***項。要向用戶顯示***項,編寫一個活動類來擴展預定義的 Android類 android.preference.PreferenceActivity,然后使用 addPreferencesFromResource()方法將資源添加到活動的資源集合中。該框架會負責剩余操作(現實和持久化)。

在本航班場景中,在/res/xml/目錄下創建文件 flightoptions.xml。然后創建活動類FlightPreferenceActivity, 它擴展了 android.preference.PreferenceActivity類。接下來調用addPreferencesFromResource() 傳入R.xml.flightoptions。請注意,***項資源XML指向多個字符串資源。為了確保正確編譯,需要向項目中添加多個字符串資源 (我們稍后介紹)。現在先看一下 上面得代碼清單會生成什么樣子的UI.

上邊有兩個視圖。左邊的視圖稱為***項屏幕,右邊的UI是一個列表***項。當用戶選擇 Flight Options時, Choose Flight Options視圖將以模態對話框的形式出現,其中包含每個選項的單選按鈕。用戶選擇一個選項之后,將立即該選項并關閉視圖。當用戶返回選項屏幕時,視圖將反映前面保存的選擇。

前面已提到,***項XML 文件和相關的活動類,從上邊我們可以看到 我們在XML文件中定義了一個PreferenceScreen ,然后創建ListPreference作為子屏幕。對于 PreferenceScreen,設置了3個屬性: key、title和 summary。 key 是一個字符串,可用于以編程的方式表示項 (類似于使用 android:id的方式);title 是屏幕的標題 (My Preferences) ; summary是對屏幕用途的描述。對于列表***項,設置 key、title和 summary,以及 entries、entryValues、dialogTitle和defaultValue特性。下表總結了這些特性。

特性 說明
android:key 選項的名稱或鍵(比如selected_flight_sort_option)
android:title 選項的標題
android:summary 選項的簡短摘要
android:entries 可將選項設置成列表項的文本
android:entryValues 定義每個列表項的值。注意:每個列表項有一些文本和 一 個 值。 文本由entries定義,值由entryValues定義。
android:dialogTitle

對話框的標題,在視圖顯示為模態對話框時使用

android:defaultValue 項列表中選項的默認值

為了使我們的例子能夠正常運行,我們還需要添加如下文件。

Xml代碼

 

  1. <?xml version="1.0" encoding="utf-8"?>    
  2. <resources>    
  3.     <string-array name="flight_sort_options">    
  4.         <item>Total Cost</item>    
  5.         <item># of Stops</item>    
  6.         <item>Airline</item>    
  7.     </string-array>    
  8.     <string-array name="flight_sort_options_values">    
  9.         <item>0</item>    
  10.         <item>1</item>    
  11.         <item>2</item>    
  12.     </string-array>    
  13. </resources>   

 

此文件大家一看就知道是 定義我們選項的顯示的文本,和對應的值。這個XML 文件的名字是 arrays.xml 此文件應該放在 /res/values/arrays.xml

當然不能少了我們的strings.xml

Xml代碼

 

  1. <?xml version="1.0" encoding="utf-8"?>    
  2. <resources>    
  3.     <string name="hello">Hello World, FlightPreferenceActivity!</string>    
  4.     <string name="app_name">Preference_Demo</string>    
  5.     <string name="prefTitle">My Preferences</string>    
  6.     <string name="prefSummary">Set Flight Option Preferences</string>    
  7.     <string name="flight_sort_option_default_value">1</string>    
  8.     <string name="dialogTitle">Choose Flight Options</string>    
  9.     <string name="listSummary">Set Search Options</string>    
  10.     <string name="listTitle">Flight Options</string>    
  11.     <string name="selected_flight_sort_option">selected_flight_sort_option</string>    
  12.     <string name="menu_prefs_title">Settings</string>    
  13.     <string name="menu_quit_title">Quit</string>    
  14. </resources>  

 

剛才上邊說到我們有一個***項視圖,就是那個FlightPreferenceActivity ,在這

這個例子中我們是通過一個菜單跳轉到我們的***項視圖的。就是我們有一個MainActivity 這個MainActivity有一個菜單叫Settings當我們點擊這個菜單的時候就會跳轉到我們的***項視圖了,然后我們修改***項的內容 當我們再一次回到 MainActivity 的時候就會看到我們修改后的 文本和值,我們通過一個TextView來顯示

我們還是來看一下效果吧。

下面這個XML文件就是用來定義我們 這個菜單的,此文件的目錄在 /res/menu/mainmenu.xml

Xml代碼

  1. <?xml version="1.0" encoding="utf-8"?>    
  2. <menu xmlns:android="http://schemas.android.com/apk/res/android">    
  3.     <item android:id="@+id/menu_prefs" android:title="@string/menu_prefs_title" />    
  4.     
  5.     <item android:id="@+id/menu_quit" android:title="@string/menu_quit_title" />    
  6. </menu>   

也比較簡單了。

在接下來就是我們的布局文件main.xml了

Xml代碼

 

  1. <?xml version="1.0" encoding="utf-8"?>    
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    
  3.     android:orientation="vertical" android:layout_width="fill_parent"    
  4.     android:layout_height="fill_parent">    
  5.     <TextView android:id="@+id/text1" android:layout_width="fill_parent"    
  6.         android:layout_height="wrap_content" />    
  7. </LinearLayout>   

 

只有一個TextView 主要用來顯示我們修改***項之后的文本和值。

有了main.xml自然少不了MainActivity了,下面使我們的MainActivity類

Java代碼

 

  1. package xiaohang.zhimeng;    
  2.     
  3. import android.app.Activity;    
  4. import android.content.Intent;    
  5. import android.content.SharedPreferences;    
  6. import android.os.Bundle;    
  7. import android.view.Menu;    
  8. import android.view.MenuInflater;    
  9. import android.view.MenuItem;    
  10. import android.widget.TextView;    
  11.     
  12. public class MainActivity extends Activity{    
  13.     private TextView tv = null;    
  14.     @Override    
  15.     protected void onCreate(Bundle savedInstanceState) {    
  16.         super.onCreate(savedInstanceState);    
  17.         setContentView(R.layout.main);    
  18.         tv = (TextView)findViewById(R.id.text1);    
  19.             
  20.         setOptionText();    
  21.     }    
  22.     //創建菜單,這個菜單我們在XML文件中定義 這里加載進來就OK    
  23.     @Override    
  24.     public boolean onCreateOptionsMenu(Menu menu) {    
  25.         MenuInflater inflater = getMenuInflater();    
  26.         //加載我們的菜單文件    
  27.         inflater.inflate(R.menu.mainmenu, menu);    
  28.         return true;    
  29.     }    
  30.         
  31.     //菜單選項事件    
  32.     @Override    
  33.     public boolean onOptionsItemSelected(MenuItem item) {    
  34.         if (item.getItemId() == R.id.menu_prefs) {    
  35.             //當我們點擊 Settings 菜單的時候就會跳轉到我們的  ***項視圖,也就是我們的 FlightPreferenceActivity    
  36.             Intent intent = new Intent().setClass(this, xiaohang.zhimeng.FlightPreferenceActivity.class);    
  37.             //因為我們要接收上一個Activity 就是我們的***項視圖 返回的數據,所以這里用 startActivityForResult()方法啟動我們的***項視圖    
  38.             //參數一:我們要跳轉到哪里    
  39.             //參數二:回傳碼    
  40.             this.startActivityForResult(intent, 0);    
  41.         }else if (item.getItemId() == R.id.menu_quit) {    
  42.             //當我們點擊Quit菜單退出應用程序    
  43.             finish();    
  44.         }    
  45.         return true;    
  46.     }    
  47.         
  48.     //此方法用來 接收我們上一個Activity 也就是我們的***項視圖 返回的數據,因為我們可能會修改數據    
  49.     @Override    
  50.     protected void onActivityResult(int requestCode, int resultCode, Intent data) {    
  51.         super.onActivityResult(requestCode, resultCode, data);    
  52.         setOptionText();    
  53.     }         
  54.     //這個方法就是用來設置我們 MainActivity 上的TextView的值(就是我們***項的值)    
  55.     private void setOptionText(){    
  56.         /*這個方法比較有意思了   
  57.          * ***個參數:用來指定我們存儲我們***項值的文件的名稱    
  58.          * 格式就是 包名_preferences,大家可以看到我的包名就是xiaohang.zhimeng   
  59.          * 這里如果你不按照這個格式寫 比如你不寫你當前包名  寫成別的,也會生成 當前包名_preferences 這個文件  寫或不寫它就在那里   
  60.          * 第二個參數:打開模式   
  61.          * */           
  62.         SharedPreferences prefs = getSharedPreferences("xiaohang.zhimeng_preferences"0);    
  63.         //這個方法大家去看文檔,否則我會越寫越亂    
  64.         String option = prefs.getString(this.getResources().getString(R.string.selected_flight_sort_option), this.getResources().getString(R.string.flight_sort_option_default_value));    
  65.         //得到我們***項 所有選項的文本    
  66.         String[] optionText = this.getResources().getStringArray(R.array.flight_sort_options);    
  67.         //設置我們 TextView要顯示的值    
  68.         tv.setText("option value is " + option + "(" + optionText[Integer.parseInt(option)] + ")");    
  69.     }    
  70. }   

 

如果大家對這里比較陌生,比如 SharedPreferences 是什么東西,可以參考這兩篇文章。

http://byandby.iteye.com/blog/837601

http://byandby.iteye.com/blog/833292

在下邊就是我們的AndroidManifest.xml文件了,倒也沒啥特別的。

Xml代碼

 

  1. <?xml version="1.0" encoding="utf-8"?>    
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"    
  3.     package="xiaohang.zhimeng" android:versionCode="1" android:versionName="1.0">    
  4.     <uses-sdk android:minSdkVersion="10" />    
  5.     
  6.     <application android:icon="@drawable/icon" android:label="@string/app_name">    
  7.         <activity android:name=".MainActivity" android:label="@string/app_name">    
  8.             <intent-filter>    
  9.                 <action android:name="android.intent.action.MAIN" />    
  10.                 <category android:name="android.intent.category.LAUNCHER" />    
  11.             </intent-filter>    
  12.         </activity>    
  13.     
  14.         <activity android:name=".FlightPreferenceActivity"    
  15.             android:label="@string/prefTitle">    
  16.             <intent-filter>    
  17.                 <action android:name="xiaohang.zhimeng.intent.action.FlightPreferences" />    
  18.                 <category android:name="android.intent.category.PREFERENCE" />    
  19.             </intent-filter>    
  20.         </activity>    
  21.     </application>    
  22. </manifest>   

 

OK,當我們完成了上邊的所有運行應用程序,首先會看到一個簡單的文本消息,顯示“option value is 1(# of Stops)”。單擊Menu按鈕,然后在點擊Settings,就會打開我們的***項視圖FlightPreferenceActivity,然后我們更改***項的值,然后再點擊back按鈕就會看到我們修改后的值了。

大家可能會問,那Android把我們修改后的數據存儲在哪里了呢?前面已經提到Android framework還會負責持久化***項。例如,當用戶選擇一個排序選項時,Android會選擇存儲在應用程序 /data 目錄下的一個XML 文件中,見下圖。

實際的文件路徑為 /data/data/[PACKAGE_NAME]/shared_prefs/[PACKAGE_NAME]_preferences.xml。我們需要 看看這個文件里邊到底存了些什么? 導出這個文件就可以看到了。哦 不對,不用這樣 太麻煩了, 我們 去 shell 里邊 用 cat 讀一下就行了,見下圖。

一看便知,是以鍵值對的方式存取。

【編輯推薦】

  1. 深入淺出 詳解Android Surface系統
  2. 在Windows系統上安裝與使用Android NDK r5
  3. Android開發:自定義GridView/ListView數據源
  4. 深入理解Android消息處理系統原理
  5. Android用戶界面設計:框架布局

 

責任編輯:佚名 來源: iteye
相關推薦

2010-12-15 15:30:45

組策略

2023-06-29 15:40:03

數據管理鴻蒙

2019-10-28 09:50:12

Windows 10音量設備

2012-10-11 14:18:25

CentosVMware

2009-07-01 10:41:28

Web框架工作機會

2010-07-15 17:58:31

Perl模式

2010-12-27 15:22:47

組策略

2009-07-16 17:03:30

myeclipsejdk配置

2010-04-01 16:04:26

CentOS系統

2017-02-27 09:36:01

AndroidMVVM架構

2015-08-19 08:54:23

Android開發框架

2023-12-30 16:30:29

開發者工具Vite

2012-09-03 16:31:34

Firefox 15瀏覽器

2024-01-05 15:28:06

鴻蒙數據同步GlobalThis

2023-12-26 14:28:08

JavaScript開發

2012-11-06 10:02:04

JavaJadEclipse

2021-01-13 08:14:36

Windows提權漏洞攻擊

2009-12-22 16:10:21

ADO.NET框架

2024-04-07 08:41:34

2020-09-22 15:06:51

JavaScript前端技術
點贊
收藏

51CTO技術棧公眾號

一区二区免费在线观看| 国产精品久久久久久久久久久久久| 永久免费黄色片| 超碰在线公开| 亚洲国产成人自拍| 国产精品对白一区二区三区| 99精品人妻国产毛片| 91精品成人| 亚洲精品资源美女情侣酒店| 久久撸在线视频| 欧美裸体视频| 亚洲免费av高清| 日本日本精品二区免费| 99久久精品国产色欲| 亚洲免费影院| 久99久在线视频| 波多野结衣av在线观看| 4438全国亚洲精品观看视频| 欧美三级三级三级爽爽爽| 久久99久久久久久| 国产超级va在线视频| 91蝌蚪porny| 国产精品久久波多野结衣| 在线观看视频中文字幕| 久久中文字幕一区二区三区| 欧美日韩国产成人| jizzjizzjizz国产| 奇米亚洲欧美| 亚洲精品久久视频| 欧美高清精品一区二区| 99热播精品免费| 日韩欧美亚洲国产一区| 欧美又粗又长又爽做受| 宅男在线观看免费高清网站| 国产精品久久久久久久久免费相片 | 日日夜夜天天综合| 精品国产老师黑色丝袜高跟鞋| 亚洲精品偷拍视频| 91伦理视频在线观看| 国产午夜精品一区二区三区嫩草 | 黄色三级视频片| 天堂中文av在线资源库| 午夜激情一区二区三区| av免费看网址| 黄页在线观看免费| 一区二区三区四区在线免费观看 | 手机看片福利视频| 亚洲香蕉视频| 亚洲人成网在线播放| 亚洲制服丝袜在线播放| 青青草原在线亚洲| 精品性高朝久久久久久久| 99久久人妻精品免费二区| 国产精品网站在线看| 亚洲精品一区二区三区精华液| av影片在线播放| 国产精品17p| 亚洲国产小视频在线观看| 亚洲激情 欧美| 欧美调教在线| 亚洲欧美中文日韩在线| 亚洲精品国产一区黑色丝袜| 欧美亚洲国产激情| 色爱av美腿丝袜综合粉嫩av| 久久人妻无码aⅴ毛片a片app| 国产精品久久久久一区二区三区厕所 | 精品国产人妻一区二区三区| 青青一区二区| 亚洲欧美日韩一区二区在线 | 亚洲综合激情在线| 欧美日韩福利电影| 久久久久亚洲av成人毛片韩| 丝袜诱惑制服诱惑色一区在线观看 | 亚洲精品99久久久久| 丰满圆润老女人hd| 日韩免费视频| 欧美理论电影在线播放| 亚洲国产精品午夜在线观看| 国产欧美一区二区三区国产幕精品| 欧美亚洲视频在线看网址| 中文字幕第三页| 国产精品一区二区视频| 精品91免费| 自拍视频在线网| 亚洲综合网站在线观看| 日韩久久一级片| 欧美男男gaygay1069| 精品奇米国产一区二区三区| 丰满少妇在线观看资源站| 成人三级视频| 久久久久久久久久久免费 | 国产精品69毛片高清亚洲| av资源一区二区| 欧美3p视频在线观看| 综合久久久久久| 激情五月宗合网| 中文成人激情娱乐网| 亚洲精品一区二区精华| 激情无码人妻又粗又大| av不卡在线看| 亚洲综合第一页| 欧美视频综合| 亚洲一卡二卡三卡四卡五卡| 91n.com在线观看| 成人性生交大片免费看96| 国产一区二区三区18| 久久免费精彩视频| 精品一区二区av| 久久久久高清| 牛牛精品视频在线| 欧美日韩一区 二区 三区 久久精品| 师生出轨h灌满了1v1| 不卡一区2区| 26uuu亚洲伊人春色| 国产wwwwwww| 1000精品久久久久久久久| 日韩中文字幕三区| 中文字幕一区二区三区中文字幕 | 久草中文综合在线| 日本视频精品一区| 黄色污网站在线观看| 日韩一级二级三级精品视频| 自拍偷拍第9页| 久久精品一区二区国产| 久久精品国产一区二区三区不卡| 中日韩高清电影网| 欧美一区永久视频免费观看| 9.1片黄在线观看| 日韩精品亚洲一区| 欧美日韩免费观看一区| 黄色激情在线播放| 亚洲精品国产综合久久| 日本一级黄色大片| 国产成人8x视频一区二区| 二级片在线观看| 日韩成人综合网| 最近更新的2019中文字幕| jizz国产在线| 国产女人水真多18毛片18精品视频| 男女午夜激情视频| 亚洲69av| 国产成+人+综合+亚洲欧美丁香花| 五月婷婷六月丁香| 欧美日韩国产麻豆| 成人性生交大免费看| 国产精品一卡| 欧美日韩喷水| 99热播精品免费| 久久精彩免费视频| 国产免费无遮挡| 一区二区三区四区不卡视频 | 国产精品怡红院| 亚洲欧洲一区二区在线播放| 最新av免费在线观看| 欧美一区久久| 国产精品12| 欧美激情网站| 国产亚洲a∨片在线观看| 波多野结衣视频免费观看| 国产亚洲欧美日韩日本| 欧美伦理片在线观看| 亚洲不卡av不卡一区二区| 亚洲在线视频福利| 国产在线天堂www网在线观看| 日韩av一区在线| 在线永久看片免费的视频| 亚洲国产成人在线| 欧美69精品久久久久久不卡| 黄色精品一区| 欧美激情第一页在线观看| 欧美极品免费| 久久精品这里热有精品| 亚洲精品免费在线观看视频| 欧美日韩另类字幕中文| 午夜时刻免费入口| 国产精选一区二区三区| 奇米影视亚洲色图| 国产欧美日韩一区二区三区四区| 国产精品亚洲网站| 日本色护士高潮视频在线观看| 亚洲国产成人久久综合| 亚洲无码精品一区二区三区| 亚洲视频免费观看| 少妇特黄一区二区三区| 另类小说综合欧美亚洲| 久久99久久99精品| 第一sis亚洲原创| 国产精品久久波多野结衣| 一区二区视频免费完整版观看| 久久成人在线视频| 你懂的视频在线| 欧美一级专区免费大片| 日韩欧美成人一区二区三区| 成人欧美一区二区三区在线播放| 亚洲日本久久久| 麻豆精品一二三| 浮妇高潮喷白浆视频| 日韩一区电影| 久久99精品久久久久久三级 | 精品在线欧美视频| 国产精品视频无码| 91久久线看在观草草青青| 精品99在线观看| 国产欧美一区二区精品性色超碰| 日批免费观看视频| 强制捆绑调教一区二区| 日本国产在线播放| 午夜精品国产| 亚洲免费精品视频| 网曝91综合精品门事件在线| 亚洲综合一区二区不卡| 成人黄色在线| 欧美孕妇孕交黑巨大网站| 人妖欧美1区| 久久精品视频va| aaa在线免费观看| 精品在线小视频| 色婷婷av一区二区三区之e本道| 91精品久久久久久蜜臀| 亚洲欧美日韩激情| 亚洲第一精品在线| 久久久99精品| 一区二区三区中文在线观看| 国产一区在线观看免费| 中文字幕精品在线不卡| 欧美偷拍一区二区三区| 不卡电影一区二区三区| 4438x全国最大成人| 国内精品在线播放| 在线播放av中文字幕| 麻豆国产精品一区二区三区| 国产精品一区二区羞羞答答| 日韩综合小视频| 亚洲色成人一区二区三区小说| 亚洲高清自拍| 日本阿v视频在线观看| 欧美区亚洲区| 欧美久久久久久久久久久久久久| 在线一区免费| 日本三级中文字幕在线观看| 婷婷久久综合| 法国空姐在线观看免费| 天天射综合网视频| 艳母动漫在线观看| 亚洲精品小说| 国产免费内射又粗又爽密桃视频| 欧美阿v一级看视频| 日本一本中文字幕| 亚洲人成免费| 亚洲 高清 成人 动漫| 性色一区二区三区| 欧美亚洲日本在线观看| 日韩福利视频导航| 中文字幕22页| 国产激情精品久久久第一区二区 | 三级黄色片播放| 成人性生交大片| 国产精品嫩草av| 久久精品人人做人人综合 | 国产在线精品一区免费香蕉| 成人自拍视频| 国产精品白丝jk白祙| 欧美亚洲国产日韩| 亚洲 日韩 国产第一区| 国产精品久久久久无码av| 97碰在线视频| 毛片一区二区| 中文字幕第22页| www.99精品| 国产精品久久久久久成人| 亚洲男人天堂一区| 香蕉免费毛片视频| 色综合天天综合网天天看片| 夜夜嗨av禁果av粉嫩avhd| 日韩一区二区精品在线观看| 天天操天天操天天干| 一区二区三区亚洲| 国产精品一区hongkong| 国产成人精品亚洲精品| 激情五月综合婷婷| 久久久久网址| 婷婷亚洲五月色综合| 久艹视频在线免费观看| 美女一区二区三区在线观看| 少妇伦子伦精品无吗| 久久伊99综合婷婷久久伊| 91精品少妇一区二区三区蜜桃臀| 亚洲二区视频在线| 国产又粗又猛又爽又| 欧美一卡2卡3卡4卡| 青梅竹马是消防员在线| 裸体女人亚洲精品一区| 神马午夜在线视频| 成人字幕网zmw| 香蕉精品久久| 穿情趣内衣被c到高潮视频| 翔田千里一区二区| 无码国产精品一区二区高潮| 久久精品一区二区三区不卡| 久久久久无码精品国产| 欧美最新大片在线看| 免费a级片在线观看| 久久精品99久久久香蕉| 电影一区二区三区| 成人欧美一区二区| 久久久久久免费视频| wwwwww.色| 91亚洲精华国产精华精华液| 日韩欧美国产成人精品免费| 91久久精品日日躁夜夜躁欧美| 六月丁香综合网| 久久久国产在线视频| av在线日韩| 欧美中文娱乐网| aⅴ色国产欧美| 动漫美女无遮挡免费| 亚洲免费观看高清完整版在线观看 | 欧美日韩免费在线视频| 亚洲色图欧美视频| 欧美极品在线播放| 日韩中文字幕视频网| 在线电影看在线一区二区三区| 免费永久网站黄欧美| 大尺度做爰床戏呻吟舒畅| 亚洲精品视频免费观看| 91黄色在线视频| 色综久久综合桃花网| 自拍偷自拍亚洲精品被多人伦好爽| 国产美女99p| 欧美激情成人在线| 中文字幕第三区| 亚洲欧美激情在线| 99热这里是精品| 久久久国产精品x99av| 综合久久伊人| 国产a级片免费看| 国产在线精品一区二区夜色| 成人欧美一区二区三区黑人一| 精品视频在线视频| 日本免费在线观看| 亚洲影视中文字幕| 欧美二区视频| 少妇熟女视频一区二区三区 | 波多野结衣电影在线播放| 精品一区二区电影| 免费成人直播| 日韩国产高清一区| 青娱乐精品视频| 久久久久人妻一区精品色| 欧美日韩国产色站一区二区三区| 91精品专区| 成人性生交大片免费看小说| 一本一本久久a久久综合精品| 亚洲女人在线观看| 亚洲图片一区二区| 婷婷在线观看视频| 青青草原成人在线视频| 欧美少妇性xxxx| 中文字幕 欧美日韩| 亚洲最新在线观看| 亚洲av激情无码专区在线播放| 国产成人拍精品视频午夜网站| 日韩免费久久| 风韵丰满熟妇啪啪区老熟熟女| 亚洲h精品动漫在线观看| 国产系列在线观看| 亚洲综合自拍一区| 亚洲欧美日韩国产一区| 黄色片网站免费| 日韩一级视频免费观看在线| av资源中文在线天堂| 日韩在线三级| 国产精品一区二区无线| av资源免费观看| 日日摸夜夜添一区| 盗摄系列偷拍视频精品tp| 黑鬼大战白妞高潮喷白浆| 日韩理论片一区二区| 凸凹人妻人人澡人人添| 成人黄色激情网| 国产一区二区你懂的| 99久久久无码国产精品不卡| 精品国产91乱码一区二区三区 | 日韩国产精品久久久| 三级影片在线看| 亚洲美女久久久| 国产精品白丝久久av网站| 国产一区二区网| 亚洲欧美电影院| 你懂的在线观看视频网站| 亚洲一区二区自拍| 爽好多水快深点欧美视频| 欧美精品一区二区蜜桃| 亚洲欧美中文在线视频| 色悠久久久久综合先锋影音下载| 97xxxxx| 一区二区三区在线免费| av资源网在线观看| 激情久久av| 国产成人一区在线|