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

詳解從零開始創建Android主屏幕Widget

移動開發
創建Android主屏幕Widget是本文要介紹的內容,主要是來了解Android Widget 的創建過程,文中很詳細的講解了Android Widget創建過程,來看內容。

創建Android主屏幕Widget是本文要介紹的內容,主要是來了解Android Widget 的創建過程,文中很詳細的講解了Android Widget創建過程,一起來看本文詳解。

當最基本的控件,如Clock和PictureFrameHomeScreen,隨第一款Android手機的發布后,Android用戶就開始嘗試編寫各種應用Widget(小工具)了,隨著WidgetAPI的公開,為開發人員帶來了全新有趣的開發模式,除了傳統的電話應用外,還可以做其它方面的應用開發。

開發人員可以使用WidgetAPI(包含在Android1.5中,最新版本已經到Android2.0了)創建簡單的控件,然后在新的Widget中顯示和使用這些控件。

本文向你介紹如何從零開始創建一個主屏幕應用Widget,通過使用AlarmManager接口,以用戶設定的時間間隔更新圖片。你將看到如何創建一個Widget,以及如何隨機地從一組圖片中選擇一張圖片顯示,根據用戶設定的時間間隔周期性改變顯示的圖片。

創建一個簡單的Widget包括以下幾個步驟:

1、創建一個RemoteView,由它為Widget提供用戶界面;

2、將RemoteView綁定一個Activity(行為)實現AppWidgetProvider接口;

3、在Androidmanifest配置文件中提供Widget的關鍵配置信息。

項目準備

一個Widget就是一個處理特定行為的BroadcastReceiver,AppWidgetProvider接口為開發人員提供了一個框架來簡化處理這些行為,它包括以下方法:

1、onEnabled():創建第一個Widget時調用,如果可以,應在這里進行全局初始化。

2、onDisabled():它和onEnabled()相反,創建最后一個Widget時才調用它,如果可以,應在這里進行全局清理。

3、onUpdate():當Widget需要更新它的View時調用,用戶第一次創建Widget時也需要調用它。

4、onDeleted():當Widget的一個特定實例被刪除時調用,清理特定實例應放在這里進行。

5、onReceive():此方法默認情況下處理BroadcastReceiver行為,并調用上面的方法(警告:根據相關文檔記載,需要開發人員自己處理某些特殊情況,更多信息請看下面的說明)。

作者注:點擊此鏈接(http://groups.google.com/group/android-developers/browse_thread/thread/365d1ed3aac30916/e405ca19df2170e2?pli=1)檢查有關AppWidget框架的缺陷信息,討論內容包括解決此問題的代碼(也可從本文下載示例代碼,http://www.developer.com/img/2009/08/3833306_appwidget_code.zip),如果它們并不存在,可以將Widget標識符傳遞給onUpdate()方法。

為了讓Android識別Widget,需要在manifest文件中加入一個標準的標記,下面的代碼片段顯示了一個示例:

  1.  receiver android:name=“ImagesWidgetProvider”  
  2.  intent-filter  
  3.  action  
  4. android:name=“android.appwidget.action.APPWIDGET_UPDATE” /  
  5.  /intent-filter  
  6.  meta-data  
  7.  android:name=“android.appwidget.provider”  
  8.  android:resource=“@xml/imageswidget_info” /  
  9. /receiver 

你可能已經注意到,和常見的定義不一樣,小節引用了一個XML文件資源,這個文件為Widget定義了額外的數據,與AppWidgetProviderInfo類一致,這里定義的信息是不變的,因此這個例子不包括updatePeriodMillis的值,因為這個程序允許用戶修改與更新時間,如果你在這里分配updatePeriodMillis,它就不能這樣做。下面是imageswidget_info.xml文件的完整代碼:

  1. ?xml version=“1.0” encoding=“utf-8”?  
  2.  appwidget-provider  
  3. xmlns:android=“http://schemas.android.com/apk/res/android”  
  4.  android:minWidth=“146dp”  
  5.  android:minHeight=“146dp”  
  6.  android:initialLayout=“@layout/widget”  
  7.  android:configure=  
  8.  “com.mamlambo.imageswidget.ImagesWidgetConfiguration” / 

標記定義了Widget的大小,默認布局和創建Widget實例時的啟動行為配置,為了讓Widget在主屏幕上更好地顯示,Widget必須保持一定的大小,主屏幕分為特定大小的單元格,Google提供的基本原則是用你想占用的單元格數量乘以74,再減去2。在這個例子中,Widget應該是一個正方形,長和寬都各占兩個單元格,因此大小就是74*2-2=146.

實現onUpdate()

不顯示內容的Widget是沒有用的,幸好這個Widget的RemoteView對象很容易實現,它使用一組存儲在應用程序的drawable資源目錄下的圖片,程序使用R.drawable.[imagename]引用這些圖片資源,代碼需要創建一個數組容納圖片的名字,這樣從這些圖片名字中隨機選擇一個就可以了。下面的代碼片段顯示了onUpdate()的實現,它隨機顯示一張圖片:

  1. @Override  
  2.  public void onUpdate(Context context,  
  3.  AppWidgetManager appWidgetManager,  
  4.  int[] appWidgetIds) {  
  5.  for (int appWidgetId : appWidgetIds) {  
  6.  int imageNum = (new  
  7.  java.util.Random().nextInt(IMAGES.length));  
  8.  RemoteViews remoteView = new 
  9.  RemoteViews(context.getPackageName(),  
  10.  R.layout.widget);  
  11.  remoteView.setImageViewResource(  
  12.  R.id.image, IMAGES[imageNum]);  
  13.  appWidgetManager.updateAppWidget(  
  14.  appWidgetId, remoteView);  
  15. }  
  16.  } 

注意onUpdate()方法使用Widget實例列表作為最后的參數,每個實例必須分開處理,由于AppWidget框架的現有缺陷,有些實例可能不可見或不能啟用,但在這個例子中可以忽略這些問題。請記住,你自己在實現時可能想跟蹤哪個Widget是真正激活的。

你可以下載本文提供的代碼(http://www.developer.com/img/2009/08/3833306_appwidget_code.zip),查看其中的R.layout.widgetXML布局定義,它基本上只是一個ImageView,RemoteViews只能使用一組有限的View對象,包括Button,ImageButton,ImageView,TextView,AnalogClock,Chronometer和ProgressBar,并且只能在FrameLayout,LinearLayout或RelativeLayout內使用。請保持RemoteView簡單,因為訪問是通過setImageViewResource()和setTextViewText()方法控制的,它們的目的是在另一個進程內畫一個View,因此你的應用程序比正常布局要少些控制。

自此,Widget最基本的部分完成了,但為了讓用戶配置圖片更新之間的時間間隔,你必須要實現配置

Activity,然后處理RemoteView更新的調度問題。

實現Widget的Activity配置

和manifest文件中定義的ImagesWidgetConfiguration類似,任何Activity配置都有兩個特殊情況:

1、只要一啟動,它的目的就是返回結果,因此必須要調用setResult()方法返回一個適當的結果(結果要么是RESULT_CANCELED或RESULT_OK)。

2、在設置結果時,Widget標識值必須放在額外引用的AppWidgeManager.EXTRA_APPWIDGET_ID中。

下面的代碼片段顯示了如何處理這兩個例外,如果用戶中途退出Activity,調用setResult()將默認值設為RESULT_CANCELED。

  1. Bundle extras = launchIntent.getExtras();  
  2.  if (extras != null) {  
  3.  appWidgetId = extras.getInt(  
  4.  AppWidgetManager.EXTRA_APPWIDGET_ID,  
  5.  AppWidgetManager.INVALID_APPWIDGET_ID);  
  6.  Intent cancelResultValue = new Intent();  
  7.  cancelResultValue.putExtra(  
  8.  AppWidgetManager.EXTRA_APPWIDGET_ID, appWidgetId);  
  9.  setResult(RESULT_CANCELED, cancelResultValue);  
  10.  } 

除了這兩個限制外,你可能還要實現你喜歡的Activity配置,圖1顯示了這個例子的簡單Activity配置,如果你RESULT_CANCELED,Widget不會顯示給用戶,如果你返回RESULT_OK,用戶才看得見Widget,你可以使用任意存儲機制保存Widget實例的配置數據,這個例子使用的是SharedPreferences接口,存儲Widget標識更新之間的時間,你可以下載本文配套的代碼查看完整的實現(http://www.developer.com/img/2009/08/3833306_appwidget_code.zip)。

\

圖1配置界面:這個簡單的配置界面讓用戶設置圖片刷新間隔時間

實現更新調度

正如前面提到的,AppWidgetProviderInfo類中的配置值是不變的,因為updateTimeMillis值就在這個類中,任何有AppWidgetProviderInfo的Widget實例,只要設置了這個值,Widget就會根據其頻率更新,沒有辦法修改它,因為這個應用程序應該讓用戶配置Widget中圖片刷新的頻率,因此你必須自動動手實現。

AlarmManager類是最常用的更新機制,因為它支持重復通知,這些通知是將被觸發的簡單的PendingIntent對象。

你可能會想你可以創建一個具有AppWidgetManager.ACTION_APPWIDGET_UPDATE的Intent對象,然后給特定的Widget標識符設置額外的值,接著你就可以通過調用AlarmManager的setRepeating()方法,采用調度機制反復地更新,遺憾的是,這種做法行不通,Android系統反復使用Intents匹配行為和方案值,那些“額外的”值是不會拿去對比的。實際上,解決方案非常簡單:首先為你的Widget定義一個方案,然后用它定義唯一的Intent實例。下面的代碼片段顯示如何實現這個目標:

  1.  Intent widgetUpdate = new Intent();  
  2.  widgetUpdate.setAction(  
  3.  AppWidgetManager.ACTION_APPWIDGET_UPDATE);  
  4.  widgetUpdate.putExtra(AppWidgetManager.EXTRA_APPWIDGET_IDS,  
  5.  new int[] { appWidgetId });  
  6.  // make this pending intent unique  
  7.  widgetUpdate.setData(  
  8.  Uri.withAppendedPath(Uri.parse(  
  9.  ImagesWidgetProvider.URI_SCHEME + “://widget/id/”),  
  10.  String.valueOf(appWidgetId)));  
  11.  PendingIntent newPending = PendingIntent.getBroadcast(  
  12.  getApplicationContext(), 0, widgetUpdate,  
  13.  PendingIntent.FLAG_UPDATE_CURRENT);  
  14.  // now schedule it  
  15. AlarmManager alarms = (AlarmManager) getApplicationContext()。  
  16.  getSystemService(Context.ALARM_SERVICE);  
  17.  alarms.setRepeating(AlarmManager.ELAPSED_REALTIME,  
  18.  SystemClock.elapsedRealtime(), updateRateSeconds * 1000,  
  19.  newPending); 

在ImagesWidgetConfigurationActivity中你會發現前面的代碼,manifest文件顯示塊處理這個特定的scheme,你也需要在AppWidgetProvider接口的onDeleted()方法內停止重復的警報。最后,當手機重啟后,更新調度也必須重啟。

在AppWidgetProvider的onReceive()方法內提供了一個簡單的解決方案,首先,檢查更新行為,如果它是一個更新,確保它不包含scheme值,如果它不是更新,那么調度AlarmManager的PendingIntent不會觸發這個行為,在這種情況下,檢查每個Widget標識符是否有一個配置選項值,如果沒有,那么在配置Widget之前,你知道這個更新行為被接收到。但如果選項值有效,那么你知道可以調度PendingIntent,在onReceive()方法中你可以看到完整的邏輯實現。

這個方案允許多個Widget同時顯示,如圖2所示。更新也可以以不同的頻率進行,每個顯示的圖片是從圖片集中隨機選擇的。

\

圖2多個Widget實例:這里顯示了兩個不同的同時運行的實例

至此,你已經看到了如何在Android平臺上創建一個基本的Widget,每個Widget實例按獨立的方式調度,由用戶自行配置,但AppWidge框架不直接支持,因此需要自動動手編碼實現。

小結:詳解從零開始創建Android主屏幕Widget的內容介紹完了,希望通過Android Widget 創建內容的學習能對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2018-01-16 11:00:25

2018-03-14 11:15:06

2024-04-10 07:48:41

搜索引擎場景

2011-09-07 13:18:40

Android Wid

2018-03-05 09:31:23

2019-05-14 10:43:17

圖標UI設計界面

2024-12-09 09:44:34

機器學習模型分類器

2015-11-17 16:11:07

Code Review

2018-04-18 07:01:59

Docker容器虛擬機

2019-01-18 12:39:45

云計算PaaS公有云

2024-12-06 17:02:26

2020-07-02 15:32:23

Kubernetes容器架構

2014-07-22 13:09:21

android

2024-11-18 17:31:27

2018-09-14 17:16:22

云計算軟件計算機網絡

2010-05-26 17:35:08

配置Xcode SVN

2024-05-15 14:29:45

2015-10-15 14:16:24

2011-04-06 15:55:50

開發webOS程序webOS

2024-11-28 10:35:47

點贊
收藏

51CTO技術棧公眾號

国产精品主播视频| 日韩在线一区二区三区免费视频| 日韩av在线第一页| 淫片在线观看| www.久久久久久久久| 国产精品久久久久一区二区 | 一级特黄aa大片| 欧美日韩精品免费观看视频完整| 亚洲欧美国产日韩天堂区| 中文字幕55页| 国精产品一区一区三区四川| 一区二区三区在线观看动漫| 日韩免费毛片| 色哟哟中文字幕| 久久成人免费日本黄色| 51色欧美片视频在线观看| 超碰手机在线观看| 国产亚洲一区| 日韩av在线网| 69xxx免费视频| 亚洲tv在线| 欧美主播一区二区三区美女| 国自产拍偷拍精品啪啪一区二区| 在线视频观看国产| 国产精品久久久久久久第一福利| 蜜桃日韩视频| 秋霞网一区二区| 国产精品中文有码| 国产在线视频2019最新视频| 亚洲成人av影片| 亚洲黄色免费| 色综合五月天导航| 人妻人人澡人人添人人爽| 精品美女久久久| 亚洲欧美另类自拍| 黄色在线观看av| 成人自拍在线| 精品剧情v国产在线观看在线| 色91精品久久久久久久久| 电影一区二区| 欧美性受xxxx| 欧美精品久久久久久久久25p| 欧美一区久久久| 色综合天天狠狠| 九九九九免费视频| 天堂电影一区| 91久久线看在观草草青青| 国模吧无码一区二区三区| sm久久捆绑调教精品一区| 亚洲国产成人高清精品| 很污的网站在线观看| 国产盗摄在线视频网站| 亚洲一区二区三区国产| 日韩欧美猛交xxxxx无码| 午夜小视频福利在线观看| 一区二区三区加勒比av| 黄色一级片黄色| av伦理在线| 色综合天天天天做夜夜夜夜做| 东京热加勒比无码少妇| 向日葵视频成人app网址| 在线视频观看一区| 日本美女视频一区| 亚洲精品国产九九九| 精品国产91洋老外米糕| 小毛片在线观看| 教室别恋欧美无删减版| 深夜福利一区二区| 婷婷国产成人精品视频| 午夜精品视频| 57pao成人国产永久免费| 日本视频网站在线观看| 精品一区二区三区免费| 国产精品久久九九| 欧美男男同志| 亚洲视频综合在线| 一二三四视频社区在线| 日韩欧美一区二区三区免费观看| 欧美日本视频在线| 少妇伦子伦精品无吗| 日韩精品导航| 中文字幕精品国产| 久久久精品视频在线| 性感少妇一区| 成人有码在线视频| 五月天婷婷在线播放| 国产精品色婷婷| 日韩视频免费播放| 欧洲午夜精品| 日韩精品在线视频观看| 天天色影综合网| 在线亚洲一区| 成人在线激情视频| 欧洲免费在线视频| 一区二区三区蜜桃| 日本xxxxxxx免费视频| 欧美不卡在线观看| 一区二区三区在线播放欧美| 精品少妇theporn| 日本成人在线不卡视频| 国产精品区一区二区三含羞草| 国产系列在线观看| 亚洲mv在线观看| av噜噜在线观看| 国产精品亚洲人成在99www| 欧美成人午夜免费视在线看片| 欧美日韩一二三四区| 国产精品一区二区视频| 水蜜桃一区二区| 成年女人在线看片| 欧美一区二区三区喷汁尤物| 亚洲激情视频小说| 在线看片日韩| 亚洲综合色激情五月| 成全电影播放在线观看国语| 图片区小说区国产精品视频| 一级黄色大片儿| 久久一区二区三区喷水| 国产精品v片在线观看不卡| 国产小视频一区| 亚洲精品久久嫩草网站秘色| 天天色综合天天色| 久久99国产成人小视频| 国内精品中文字幕| 亚洲第一视频在线| 亚洲图片欧美激情| 久久国产这里只有精品| 精品国产乱码久久久| 欧美在线观看视频| 亚欧在线观看视频| 黄色成人在线免费| av漫画在线观看| 国产精品hd| 91青青草免费观看| av网站免费在线观看| 91精品国产综合久久福利| 五月天免费网站| 美女视频黄a大片欧美| 日韩区国产区| japanese23hdxxxx日韩| 亚洲欧洲中文天堂| 91porny九色| 欧美经典一区二区| 美女网站视频黄色| 日韩精品影视| 成人免费在线视频网站| www久久日com| 欧美videofree性高清杂交| 精品欧美一区二区久久久久| 国产盗摄一区二区三区| 日韩成人三级视频| 久草在线综合| 日本精品久久久久久久| 精品视频二区| 欧美日韩国产区一| 久久久久亚洲av片无码| 国产91丝袜在线18| 欧美一级视频在线播放| 日韩精品免费一区二区三区竹菊 | 播五月开心婷婷综合| 黄页免费在线观看视频| 偷拍一区二区| 国产精品久久久久久久9999| 欧美边添边摸边做边爱免费| 欧美一级在线视频| 国产稀缺真实呦乱在线| 久久综合九色综合欧美98| 不卡av免费在线| 欧美搞黄网站| 精品免费国产| 日本成人一区二区| 色综合久久88| 精品999视频| 欧美精品日韩综合在线| 日本少妇全体裸体洗澡| 国产欧美日韩久久| 少妇高潮一69aⅹ| 久久国产高清| 在线观看日韩羞羞视频| 激情小说一区| 国产精品视频精品| 羞羞视频在线观看不卡| 日韩精品视频免费| 国产乱码精品一区二区三区精东 | 亚洲第一网站在线观看| 综合网在线视频| 亚洲の无码国产の无码步美| 免费成人在线观看| 日韩一级性生活片| 欧美超碰在线| 极品校花啪啪激情久久| 四虎影视精品永久在线观看| 97成人超碰免| 黄网站在线免费| 亚洲精品自在久久| 精品欧美在线观看| 欧美在线综合视频| 日韩无码精品一区二区三区| ...xxx性欧美| 中文字幕在线播放一区| 国产一区二区三区蝌蚪| 不卡影院一区二区| 亚洲网址在线| 天天综合中文字幕| 欧美人与拘性视交免费看| 99精品国产高清一区二区| 88xx成人永久免费观看| 久久久久久久久久婷婷| 黄色免费在线观看| 亚洲天堂日韩电影| 性感美女一级片| 日韩精品中文字幕一区| 亚洲无码精品在线播放| 在线观看网站黄不卡| 999这里只有精品| 亚洲高清不卡在线| 欧美日韩在线视频免费播放| 国产精品美女久久久久高潮| 一级片手机在线观看| jlzzjlzz国产精品久久| 野花视频免费在线观看| 精品一区二区影视| 欧美特级aaa| 欧美aaa在线| 日本va中文字幕| 香蕉亚洲视频| 一本大道熟女人妻中文字幕在线 | 免费av一级片| 精品成人私密视频| a级片免费视频| 日韩欧美一级精品久久| 99产精品成人啪免费网站| 欧美猛男gaygay网站| 亚洲综合精品视频| 国产不卡精品视频| 国产蜜臀av在线一区二区三区| 国产精品麻豆入口| 丁香啪啪综合成人亚洲小说| 黄色片免费网址| 国产精品夜夜嗨| 69久久精品无码一区二区| 国产中文字幕一区| 天美一区二区三区| 高清国产午夜精品久久久久久| 日本少妇激三级做爰在线| 国产乱子伦视频一区二区三区| 国产在线观看中文字幕| 国产sm精品调教视频网站| yjizz视频| 久久美女高清视频| 法国空姐电影在线观看| 欧美国产1区2区| 日韩国产第一页| 亚洲精品中文字幕在线观看| 黄色一级视频在线观看| 亚洲v日本v欧美v久久精品| 国产无码精品在线播放| 日韩欧美国产骚| 最新中文字幕在线观看视频| 欧美人伦禁忌dvd放荡欲情| 国产男女裸体做爰爽爽| 精品欧美一区二区在线观看| 深爱激情五月婷婷| 国产性猛交xxxx免费看久久| 日本在线免费网| 欧美激情精品久久久久久| 激情国产在线| 国产精品永久免费观看| 成人av色网站| 91一区二区三区| 开心激情综合| 午夜老司机精品| 综合在线视频| 日本精品免费在线观看| 麻豆精品视频在线观看| 第一页在线视频| 久久人人97超碰com| 肉色超薄丝袜脚交69xx图片| 亚洲电影第三页| 日韩免费av网站| 欧美一区二区不卡视频| 神马电影在线观看| 久久久av网站| 原纱央莉成人av片| 亚洲xxxxx性| 中文字幕精品影院| 国产一级片91| 日韩高清在线不卡| 四虎国产精品永久免费观看视频| 91视频国产观看| 影音先锋男人资源在线观看| 午夜视频一区二区| 国产精品乱码久久久| 日韩av在线网| 在线h片观看| 国产精品igao视频| 国产精品宾馆| 中文网丁香综合网| 奶水喷射视频一区| 亚洲无人区码一码二码三码| 中文一区在线播放| 免费日韩一级片| 欧美精品第一页| 你懂的在线看| 久久久久久久久国产精品| 欧美视频在线视频精品| 国语精品免费视频| 亚洲综合专区| 久热精品在线观看视频| 26uuu亚洲| 国产精品成人久久| 日韩一区二区三区四区| 求av网址在线观看| 国产精品久久久久久久久免费看| 国产精品白丝一区二区三区| 国产成人三级视频| 久久狠狠亚洲综合| 日韩中文字幕电影| 欧美视频第一页| 免费看av毛片| 欧美激情免费视频| 欧美9999| 男女裸体影院高潮| 国产一区二区精品久久99| av片在线免费看| 欧洲一区二区av| 国产福利第一视频在线播放| 欧洲亚洲妇女av| 婷婷综合福利| 国产a级一级片| 9久草视频在线视频精品| 久久免费播放视频| 欧美成人一区二区三区在线观看 | 国产一级片黄色| 2欧美一区二区三区在线观看视频| 日韩精品成人在线| 亚洲国产欧美一区二区丝袜黑人| sqte在线播放| 国产精品免费观看高清| 亚洲经典三级| 99re久久精品国产| 黑人巨大精品欧美一区二区免费 | 中文字幕精品av| 国产人妖一区| 公共露出暴露狂另类av| 国产在线精品不卡| 欧美黄色免费观看| 欧美精品一区二区三区四区| av中文字幕电影在线看| 极品尤物一区二区三区| 久久久国产精品一区二区中文| 欧美 日韩 成人| 欧美日韩精品是欧美日韩精品| 国产成人高清精品| 成人免费91在线看| 亚洲视频成人| 国产一区二区三区四区在线| 欧美精品免费视频| 色爱综合区网| 美日韩免费视频| 美洲天堂一区二卡三卡四卡视频 | 欧美视频第一页| 成人精品一区| 亚洲自拍欧美色图| 99re国产精品| 亚洲无人区码一码二码三码的含义| 欧美色综合久久| 少妇av在线| 裸体丰满少妇做受久久99精品| 蜜臀精品久久久久久蜜臀 | 欧美成人国产精品一区二区| 欧美午夜精品久久久| 污污的网站在线看| 欧美极品视频一区二区三区| 精品无人区卡一卡二卡三乱码免费卡| 欧美黑人猛猛猛| 亚洲精品午夜精品| 99国内精品久久久久| 男人的天堂狠狠干| 国产精品丝袜久久久久久app| 成人h动漫精品一区二区无码| 2019中文字幕在线观看| 欧美3p视频| 国产激情视频网站| 欧美裸体bbwbbwbbw| 成人在线黄色电影| 影音先锋欧美在线| 99视频在线精品| 国产视频手机在线观看| 欧洲精品在线视频| 欧美三级午夜理伦三级中文幕| 性少妇bbw张开| 日韩精品资源二区在线| 精品视频一区二区三区四区五区| 4444亚洲人成无码网在线观看| 国产亚洲精品免费| 男人天堂一区二区| 91精品视频大全| 天堂va蜜桃一区二区三区| 精品少妇一二三区|