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

Android Content Provider詳解

移動開發 Android
Content Provider(內容提供器)用來管理和共享應用程序的數據庫。在應用程序間,Content Provider是共享數據的首選方式。這意味著,你可以配置自己的Content Provider去存取其他的應用程序或者通過其他應用程序暴露的Content Provider去存取它們的數據。Android設備本身包含了幾個Content Provider來訪問像聯系人信息等有用的數據庫。

Android中的Contentprovider機制可支持在多個應用中存儲和讀取數據。這也是跨應用共享數據的唯一方式。在android系統中,沒有一個公共的內存區域,供多個應用共享存儲數據。

Android提供了一些主要數據類型的ContentProvider,比如音頻、視頻、圖片和私人通訊錄等??稍赼ndroid.provider包下面找到一些android提供的Contentprovider。可以獲得這些Contentprovider,查詢它們包含的數據,當然前提是已獲得適當的讀取權限。

如果想公開自己的數據,那么可有兩種辦法:

創建自己的Contentprovider,需要繼承ContentProvider類; 如果你的數據和已存在的Contentprovider數據結構一致,可以將數據寫到已存在的Contentprovider中,當然前提是獲取寫該Contentprovider的權限。比如把OA中的成員通訊信息加入到系統的聯系人Contentprovider中。

所有Contentprovider都需要實現相同的接口用于查詢Contentprovider并返回數據,也包括增加、修改和刪除數據。

首先需要獲得一個ContentResolver的實例,可通過Activity的成員方法getContentResovler()方法:

  1. ContentResolver cr = getContentResolver(); 

ContentResolver實例帶的方法可實現找到指定的Contentprovider并獲取到Contentprovider的數據。

ContentResolver的查詢過程開始,Android系統將確定查詢所需的具體Contentprovider,確認它是否啟動并運行它。android系統負責初始化所有的Contentprovider,不需要用戶自己去創建。實際上,contentprovider的用戶都不可能直接訪問到contentprovider實例,只能通過ContentResolver在中間代理。

數據模型

Contentprovider展示數據類似一個單個數據庫表。其中:

每行有個帶唯一值的數字字段,名為_ID,可用于對表中指定記錄的定位;Contentprovider返回的數據結構,是類似JDBC的ResultSet,在android中,是Cursor對象。 URI

每個contentprovider定義一個唯一的公開的URI,用于指定到它的數據集。一個contentprovider可以包含多個數據集(可以看作多張表),這樣,就需要有多個URI與每個數據集對應。這些URI要以這樣的格式開頭:

content://

表示這個uri指定一個contentprovider。

如果你想創建自己的contentprovider,***把自定義的URI設置為類的常量,這樣簡化別人的調用,并且以后如果更新URI也很容易。android定義了CONTENT_URI常量用于URI,比如:

android.provider.Contacts.Phones.CONTENT_URI
android.provider.Contacts.Photos.CONTENT_URI

要注意的是上面例子中的Contacts,已經在android 2.0及以上版本不贊成使用。

查詢Contentprovider

要想使用一個contentprovider,需要以下信息:

定義這個contentprovider的URI 返回結果的字段名稱 這些字段的數據類型

如果需要查詢contentprovider數據集的特定記錄(行),還需要知道該記錄的ID的值。

構建查詢

查詢就是輸入URI等參數,其中URI是必須的,其他是可選的,如果系統能找到URI對應的contentprovider將返回一個Cursor對象。

可以通過ContentResolver.query()或者Activity.managedQuery()方法。兩者的方法參數完全一樣,查詢過程和返 回值也是相同的。區別是,通過Activity.managedQuery()方法,不但獲取到Cursor對象,而且能夠管理Cursor對象的生命周 期,比如當Activity暫停(pause)的時候,卸載該Cursor對象,當Activity restart的時候重新查詢。另外,也可以對一個沒有處于Activity管理的Cursor對象做成被Activity管理的,通過調用 Activity.startManaginCursor()方法。

類似這樣:

  1. Cursor cur = managedQuery(myPerson, nullnullnullnull); 

其中***個參數myPerson是Uri類型實例。

如果需要查詢的是指定行的記錄,需要用_ID值,比如ID值為23,URI將是類似:

content://. . . ./23

android提供了方便的方法,讓開發者不需要自己拼接上面這樣的URI,比如類似:

  1. Uri myPerson = ContentUris.withAppendedId(People.CONTENT_URI, 23); 

或者:

  1. Uri myPerson = Uri.withAppendedPath(People.CONTENT_URI, "23"); 

二者的區別是一個接收整數類型的ID值,一個接收字符串類型。

其他幾個參數:

names,可以為null,表示取數據集的全部列,或者聲明一個String數組,數組中存放列名稱,比如:People._ID。一般列名都在該Contentprovider中有常量對應; 針對返回結果的過濾器,格式類似于SQL中的WHERE子句,區別是不帶WHERE關鍵字,如果返回null表示不過濾,比如name=?; 前面過濾器的參數,是String數組,是針對前面條件中?占位符的值; 排序參數,類似SQL的ORDER BY字句,不過不需要寫ORDER BY部分,比如name desc,如果不排序,可輸入null。

返回值是Cursor對象,游標位置在***條記錄之前。

下面實例適用于android 2.0及以上版本,從android通訊錄中得到姓名字段:

  1. Cursor cursor = getContentResolver().query( 
  2.         ContactsContract.CommonDataKinds.Phone.CONTENT_URI, nullnull,null,null); 

返回值的內容

返回值的內容類似上圖,不同的contentprovider會有不同的列和名稱,但是會有兩個相同的列,上面提到過的一個是_ID,用于唯一標識記錄,還有一個_COUNT,用于記錄整個結果集的大小,可以看到上面圖中的_COUNT的值是相同的。

讀取返回的數據

如 果在查詢的時候使用到ID,那么返回的數據只有一條記錄。在其他情況下,一般會有多條記錄。和JDBC的ResultSet類似,需要操作游標遍歷結果 集,在每行,再通過列名獲取到列的值,可以通過getString()、getInt()、getFloat()等方法獲取值。比如類似下面:

  1. while (cursor.moveToNext()) { 
  2.     builder 
  3.             .append( 
  4.                     cursor 
  5.                             .getString(cursor 
  6.                                     .getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME))) 
  7.             .append("-"); 

和JDBC中不同,沒有直接通過列名獲取列值的方法,只能先列名獲取到列的整型索引值,然后再通過該索引值定位獲取列的值。

編輯數據

可以通過contentprovider實現以下編輯功能:

增加新的記錄; 在已經存在的記錄中增加新的值; 批量更新已經存在的多個記錄; 刪除記錄。

所有的編輯功能都是通過ContentResolver的方法實現。一些Contentprovider對權限要求更嚴格一些,需要寫的權限,如果沒有會報錯。

增加記錄

要想增加記錄到contentprovider,首先,要在ContentValues對象中設置類似map的鍵值對,在這里,鍵的值對應contentprovider中的列的名字,鍵值對的值,是對應列希望的類型。然后,調用ContentResolver.insert()方法,傳入這個ContentValues對象,和對應Contentprovider的URI即可。返回值是這個新記錄的URI對象。這樣你可以通過這個URI獲得包含這條記錄的Cursor對象。比如:

  1. ContentValues values = new ContentValues(); 
  2.  
  3. values.put(People.NAME, "Abraham Lincoln"); 
  4.  
  5. Uri uri = getContentResolver().insert(People.CONTENT_URI, values); 

在原有記錄上增加值

如果記錄已經存在,可在記錄上增加新的值,或者編輯已經存在的值。

首先要過去到原來的值對象,然后要清除原有的值,然后像上面增加記錄一樣即可:

  1. Uri uri=Uri.withAppendedPath(People.CONTENT_URI, "23"); 
  2.  
  3. Uri phoneUri = Uri.withAppendedPath(uri, People.Phones.CONTENT_DIRECTORY); 
  4.  
  5. values.clear(); 
  6. values.put(People.Phones.TYPE, People.Phones.TYPE_MOBILE); 
  7. values.put(People.Phones.NUMBER, "1233214567"); 
  8. getContentResolver().insert(phoneUri, values); 

批量更新值

批量更新一組記錄的值,比如NY改名為Eew York。可調用ContenResolver.update()方法。

刪除記錄

如果是刪除單個記錄,調用ContentResolver.delete()方法,URI參數,指定到具體行即可。

如果是刪除多個記錄,調用ContentResolver.delete()方法,URI參數指定Contentprovider即可,并帶一個類似SQL的WHERE子句條件。這里和上面類似,不帶WHERE關鍵字。

創建自己的Contentprovider

創建contentprovider,需要:

設置存儲系統。大多數contentprovider使 用文件或者SQLite數據庫,不過你可以用任何方式存儲數據。android提供SQLiteoOpenHelper幫助開發者創建和管理 SQLiteDatabase。 繼承ContentProvider,提供對數據的訪問。 在manifest文件中聲明contentprovider。 繼承ContentProvider類

必須定義ContentProvider類的子類,需要實現如下方法:

query()
insert()
update()
delete()
getType()
onCreate()

query() 方法,返回值是Cursor實例,用于迭代請求的數據。Cursor是一個接口。android為該接口提供了一些只讀的(和JDBC的 ResultSet不一樣,后者還提供可寫入的可選特性)Cursor實現。比如SQLiteCursor,可迭代SQLite數據庫中的數據??梢酝ㄟ^ SQLiteDatabase類的query()方法獲取到該Cursor實例。還有其他的Cursor實現,比如MatrixCursor,用于數據不 是存儲在數據庫的情況下。

因為Contentprovider可能被多個ContentResolver對象在不同的進程和線程中調用,因此實現Contentprovider必須考慮線程安全問題。

作為良好的習慣,在實現編輯數據的代碼中,要調用ContentResolver.notifyChange()方法,通知那些監聽數據變化的監聽器。

在實現子類的時候,還有一些步驟可以簡化Contentprovider客戶端的使用:

定義public static final Uri常量,名稱為CONTENT_URI:

  1. public static final UriCONTENT_URI = 
  2.                Uri.parse("content://com.example.codelab.transportationprovider"); 

如果有多個表,它們也是使用相同的CONTENT_URI,只是它們的路徑部分不同。

也就是說紅色框部分是一致的。

定義返回的列名,public static final,列名的值,比如使用SQLite數據庫作為存儲,對應表的列名。

在文檔中要寫出各個列的數據類型,便于使用者讀取。

如果需要處理新的MIME數據類型,比如通過Intent的方式,并且帶data的mimeType,那么需要在ContentProvider.getType()方法中進行處理,參見編寫完整的Contentprovider示例編寫一個getType方法部分。

如果處理數據庫表中超大的數據,比如很大的位圖文件,一般存在文件系統中,可以參照在contentprovider中使用大型二進制文件,這樣第三方的contentprovider使用者,可以訪問不屬于它權限的文件,通過contentprovider做代理。

聲明ContentProvider

創建ContentProvider后,需要在manifest文件中聲明,android系統才能知道它,當其他應用需要調用該ContentProvider時才能創建或者調用它。

語法類似:

  1. <provider android:name="com.easymorse.cp.MyContentProvider"  
  2.           android:authorities="com.easymorse.cp.mycp"></provider>  

android:name要寫ContentProvider繼承類的全名。

android:authorities要寫和CONTENT_URI常量的B部分(見上面圖)。

注意不要把上圖C和D部分加到authorities中去。authorities是用來識別ContentProvider的,C和D部分實際上是ContentProvider內部使用的。

責任編輯:徐川 來源: net
相關推薦

2009-11-18 16:43:59

2023-04-13 07:52:59

2009-07-21 10:40:36

ASP.NET Pro

2014-07-28 10:09:30

Android

2011-05-27 15:02:15

Android ListView

2013-11-14 10:42:48

MTPAndroid

2014-07-24 09:11:34

2017-01-11 19:05:45

AndroidAndroid Loa詳解

2013-11-14 16:50:08

2009-11-18 16:51:21

Oracle Prov

2011-08-01 10:01:25

SQLite

2013-12-25 09:34:26

Android SDKAndroid組件

2021-09-07 08:49:35

Android

2010-07-13 09:02:19

Widget開發

2011-09-09 20:14:58

Android Wid

2013-01-11 13:48:41

Android開發組件Notificatio

2009-07-21 14:37:13

Profile Pro優化ASP.NET 2

2021-09-07 09:53:45

鴻蒙HarmonyOS應用

2009-12-30 08:52:17

Ubuntu Tora

2013-01-05 09:21:55

Ubuntu for UbuntuAndroid
點贊
收藏

51CTO技術棧公眾號

精品女同一区二区| 亚洲一区二区三区四区在线观看| 欧美日本乱大交xxxxx| 一区二区视频在线免费| 亚洲第一视频在线| 93在线视频精品免费观看| 91精品国产一区二区三区香蕉| 欧美一进一出视频| 国产精品久久久久久久久久久久久久久久| 农村少妇一区二区三区四区五区| 欧美性猛交xxxx乱大交极品| 色中文字幕在线观看| 无码精品一区二区三区在线| 久久草av在线| 欧美一级大片视频| 久久精品女同亚洲女同13| 日韩视频网站在线观看| 亚洲最大色网站| 天堂一区二区三区| 天天操天天插天天射| 精品亚洲国内自在自线福利| 97在线看福利| 久久亚洲国产成人精品性色| 欧美电影《睫毛膏》| 亚洲乱码国产乱码精品精天堂| 亚洲男人天堂2021| 成人看片毛片免费播放器| 亚洲成人7777| 玛丽玛丽电影原版免费观看1977| 久久久久久久久久久久国产| 国产中文字幕一区二区三区| 精品免费日韩av| 中文字幕 欧美日韩| 日韩pacopacomama| 欧美激情一区二区三区不卡| 国产亚洲欧美一区二区三区| 国产强被迫伦姧在线观看无码| 日本怡春院一区二区| 欧美亚洲一区在线| 日韩手机在线观看| 亚洲午夜av| 久久6精品影院| 免费在线观看a级片| 欧洲毛片在线视频免费观看| 日韩精品视频免费| 波多野结衣有码| 国产成人在线中文字幕| 日韩免费一区二区| 中文字幕亚洲日本| 一区二区三区亚洲变态调教大结局 | 成人精品水蜜桃| 久草网视频在线观看| 久久久久国产精品| www.日韩欧美| 久久av红桃一区二区禁漫| 日韩一区自拍| 日韩在线免费高清视频| 五月天免费网站| 久久人体视频| 久久中文字幕国产| 老熟妇高潮一区二区三区| 91精品综合久久久久久久久久久| 中文字幕综合在线| 久久99久久99精品免费看小说| 天天久久综合| 久久久av免费| 九九视频免费看| 亚洲人人精品| 日韩在线观看成人| 美国黄色片视频| 亚洲电影影音先锋| 欧美激情综合亚洲一二区| 国产一级片久久| 国产一区白浆| 国产精品免费一区豆花| 国产丝袜视频在线观看| 懂色av一区二区在线播放| 国产欧美在线一区二区| 噜噜噜噜噜在线视频| 亚洲国产精品精华液2区45| 无码人妻精品一区二区三区99v| 少妇高潮久久久| 99久久综合狠狠综合久久| 欧美一区二区三区四区五区六区| 超碰国产在线| 一区二区高清免费观看影视大全 | 亚洲 小说 欧美 激情 另类| 成人aaaa| 日韩激情av在线播放| 亚洲久久久久久久| 亚洲精品国产首次亮相| 久久久久久久久久久免费| 亚洲第一网站在线观看| 国产一区久久久| 精品乱码一区二区三区| 99久久免费国产精精品| 97se狠狠狠综合亚洲狠狠| 污视频在线免费观看一区二区三区| 美女黄视频在线观看| 亚洲国产另类av| 欧美特级aaa| 成人免费福利| 日韩欧美成人激情| 人妻一区二区视频| 国内自拍一区| 国产精品夜间视频香蕉| 天堂网在线中文| 日韩一区欧美小说| 欧美日韩国产精品激情在线播放| 亚洲国产天堂| 亚洲天堂男人天堂| 久久久久久久久久综合| 六月丁香婷婷久久| 麻豆视频成人| 成人ssswww在线播放| 69久久夜色精品国产69蝌蚪网| 天天爱天天操天天干| 北条麻妃在线一区二区免费播放 | 欧美日韩国产精品自在自线| 国产黑丝一区二区| 影视一区二区| 国产精品久久激情| 青青草av免费在线观看| 2020国产成人综合网| 亚洲欧美一二三| 992tv国产精品成人影院| 日韩电影大全免费观看2023年上| 一区二区成人免费视频| 欧美日韩视频| 国产日韩欧美日韩| 国产免费a∨片在线观看不卡| 亚洲第一搞黄网站| 亚洲av无一区二区三区久久| 91久久夜色精品国产按摩| 国产suv精品一区二区| 天天操天天操天天| 天天影视网天天综合色在线播放| 欧美人与性动交α欧美精品| 国产精品久久久久无码av| 国产精品久久久久久搜索| 你懂的免费在线观看视频网站| 亚洲不卡在线观看| 久久久久国产免费| 激情久久一区| 成人在线视频网址| 黄页网站在线| 欧美大胆人体bbbb| 国产精品成人久久| 成人国产亚洲欧美成人综合网 | 亚洲资源av| 日韩美女视频免费看| 午夜av免费观看| 亚洲成人综合网站| 一区二区免费在线观看视频| 极品少妇一区二区三区| 国产精品二区二区三区| 国语对白在线刺激| 亚洲国产精品女人久久久| 91浏览器在线观看| 久久久久久久久久电影| 自拍偷拍 国产| 水蜜桃精品av一区二区| 91亚洲精品久久久久久久久久久久| 美女羞羞视频在线观看| 欧美一区午夜视频在线观看| 久久久久黄色片| a级精品国产片在线观看| 欧美性大战久久久久xxx| 免费一区二区三区视频导航| 国产精品福利观看| 老司机免费在线视频| 欧美日韩国产综合新一区| 欧美 日本 国产| 日韩电影免费一区| 久久av秘一区二区三区| 国产ts一区| 国产精品久久久久免费a∨| 久久综合之合合综合久久| 欧美zozo另类异族| 亚洲 欧美 日韩 在线| 国产精品激情偷乱一区二区∴| 男人午夜视频在线观看| 激情综合电影网| 日本精品一区| 亚洲一区二区三区四区电影| 日本午夜精品理论片a级appf发布| 成年人在线视频免费观看| 日韩一区国产二区欧美三区| 永久免费看片在线播放| 国产精品视频一二| 国产xxx在线观看| 老司机精品视频网站| 日韩精品福利片午夜免费观看| 日韩成人动漫在线观看| 国产拍精品一二三| 91九色在线播放| 色综合伊人色综合网| 欧美 日韩 国产 在线| 欧美三级电影精品| 国产精品99无码一区二区| 国产精品日韩精品欧美在线 | 国产午夜精品一区二区| 女人扒开腿免费视频app| 日韩电影在线免费观看| koreanbj精品视频一区| 欧美~级网站不卡| 色爱区成人综合网| 精品国内亚洲2022精品成人| 成人国产在线视频| 视频在线日韩| 97在线日本国产| 2024最新电影在线免费观看| 在线观看欧美视频| 精品人妻一区二区色欲产成人| 成人av电影在线网| 天天干天天av| 视频一区欧美精品| 2018日日夜夜| 亚洲最好看的视频| 亚洲综合自拍一区| 狠狠久久综合| 日本一区二区在线播放| 波多野在线观看| 欧美成在线视频| 在线中文资源天堂| 国产一区二区三区视频在线观看 | 99久久久国产精品| 中文字幕亚洲日本| 国产精品一区二区久激情瑜伽 | 日韩一级特黄| 国产精品视频在线播放| 超级碰碰久久| 777777777亚洲妇女| 国产精品一区hongkong| 久热在线中文字幕色999舞| 午夜激情视频在线| 一区二区三区 在线观看视| 女人偷人在线视频| 精品视频一区在线视频| 午夜影院在线视频| 精品亚洲精品福利线在观看| 日韩有码电影| 亚洲精品综合久久中文字幕| 青青草免费观看免费视频在线| 日韩大片在线观看视频| 久久av少妇| 亚洲性猛交xxxxwww| 北岛玲日韩精品一区二区三区| 亚洲天堂av高清| 国产免费福利视频| 欧美丰满少妇xxxbbb| 99久久精品国产色欲| 日韩欧美激情一区| 色噜噜一区二区三区| 日韩大片免费观看视频播放| 欧美日韩国产亚洲沙发| 伊人久久久久久久久久久| 在线观看精品一区二区三区| 日韩在线视频导航| 超碰免费公开在线| 久久久久久中文字幕| 欧美aaaaa性bbbbb小妇| 国产精品白嫩初高中害羞小美女 | 无码少妇一区二区| 国产精品素人一区二区| 午夜激情福利网| 亚洲电影在线免费观看| 国语对白永久免费| 欧美日韩综合在线| 国内老熟妇对白hdxxxx| 日韩av在线一区二区| 东凛在线观看| 久久av在线看| 天堂中文在线播放| 欧美精品午夜视频| 黄视频网站在线观看| 国产精品久久久久久久久久ktv| 电影91久久久| 国产伦精品一区二区三区高清版 | 国产嫩bbwbbw高潮| 欧美日韩国产另类一区| 欧美熟妇另类久久久久久不卡 | 69堂亚洲精品首页| 日韩有码第一页| 中文字幕精品一区二区精品| 四虎影视成人| 国产成人精品电影久久久| 亚洲精品三区| 久久久久网址| 香蕉视频官网在线观看日本一区二区| 免费网站永久免费观看| 日韩福利电影在线| 无码人妻一区二区三区免费n鬼沢| 久久综合99re88久久爱| 日韩在线观看视频一区二区| 黑丝美女久久久| 99热这里只有精品5| 亚洲人高潮女人毛茸茸| 麻豆福利在线观看| 国产精品男人爽免费视频1| 激情亚洲另类图片区小说区| 亚洲精品一品区二品区三品区 | 久久不卡国产精品一区二区| 影音先锋成人资源网站| 视频一区视频二区中文字幕| 一级黄色片毛片| 国产成人av影院| 亚洲天堂岛国片| 天天亚洲美女在线视频| 国产免费久久久| 亚洲图片欧美午夜| 三妻四妾完整版在线观看电视剧| 亚洲一区二区三区四区在线播放| 国产精品亚洲二区| 老太脱裤让老头玩ⅹxxxx| 国产麻豆精品95视频| 蜜桃传媒一区二区亚洲| 欧美日韩美女在线观看| 午夜老司机福利| 久久亚洲精品成人| 国产福利亚洲| 日韩高清dvd| 久久www成人_看片免费不卡| 丝袜熟女一区二区三区| 亚洲精品国产视频| 五月婷婷一区二区| 欧美三级蜜桃2在线观看| 国产精品久久久久久久龚玥菲| 97成人精品视频在线观看| 91嫩草精品| 国产免费内射又粗又爽密桃视频| 久久国产精品色婷婷| 人妻无码一区二区三区免费| 日本精品视频一区二区三区| 亚洲 国产 欧美 日韩| 69av成年福利视频| 精品无人区一区二区| 日韩五码在线观看| 国产精品18p| 亚洲福利影视| 国产视频99| 午夜精品电影| 日本特黄在线观看| 国产免费久久| 久久久久久久久久久99| 美女一区二区三区| 免费一级特黄3大片视频| 一本一道久久a久久精品 | 精品毛片一区二区三区| 在线观看日韩欧美| 国产亚洲欧美日韩精品一区二区三区 | 国产精品无码天天爽视频| 亚洲香蕉av在线一区二区三区| 国产精品迅雷| 色一情一乱一伦一区二区三区丨| 巨乳诱惑日韩免费av| 久久久久久成人网| 欧美日韩午夜在线| av片在线观看| 国产一区二区无遮挡| 久久成人免费| 成人欧美一区二区三区黑人一| 欧美日韩国产成人在线91| 很黄的网站在线观看| 99porn视频在线| 日韩亚洲精品在线| 蜜桃av免费看| 欧美日本视频在线| 美女精品导航| 欧美日韩精品久久久免费观看| 美女视频第一区二区三区免费观看网站| 欧美aaa级片| 日韩欧美激情一区| 欧美电影免费看| 视频一区不卡| 国产超碰在线一区| 91久久国产综合久久91| 久久五月天色综合| 日韩激情毛片| 亚洲另类第一页| 午夜久久久久久| 高清av电影在线观看| y111111国产精品久久婷婷| 一本色道久久综合亚洲精品不卡 | 韩国精品视频| 亚洲一区二区少妇| 亚洲永久网站| 欧美色视频一区二区三区在线观看| 精品国产免费人成电影在线观看四季 | 日韩欧美电影| 美女扒开腿免费视频| 在线免费视频一区二区| 国产一区二区在线播放视频| 欧美国产在线视频| 精品大片一区二区| 风韵丰满熟妇啪啪区老熟熟女| 色哟哟在线观看一区二区三区| 成人在线直播| 日韩免费中文专区| av一二三不卡影片|