久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術文章
文章詳情頁

Android路由框架ARouter的使用示例

瀏覽:10日期:2022-09-18 08:29:25
目錄一、添加依賴和初始化框架1、添加依賴1.1、java版本的依賴1.2、kotlin版本的依賴2、初始化SDK二、ARouter的簡單使用1、界面跳轉1.1、Activity界面跳轉1.2、獲取fragment實例1.3、注意事項2、攜帶基本參數的界面跳轉3、攜帶對象的界面跳轉3.1、攜帶序列化對象的界面跳轉3.2、攜帶無序列化對象的界面跳轉3.3、攜帶集合和數組的界面跳轉4、界面跳轉回調5、未用到的知識點一、添加依賴和初始化框架1、添加依賴

在需要使用ARouter的module中添加如下代碼:

1.1、java版本的依賴

android { defaultConfig {...javaCompileOptions { annotationProcessorOptions {arguments = [moduleName :project.getName() ] } } }}dependencies { api ’com.alibaba:arouter-api:1.5.1’ annotationProcessor ’com.alibaba:arouter-compiler:1.5.1’}1.2、kotlin版本的依賴

plugins { ... id ’kotlin-kapt’}dependencies { ... implementation ’com.alibaba:arouter-api:1.5.1’ kapt ’com.alibaba:arouter-compiler:1.5.1’}

題外話: implementation 和 api 關鍵字,在Android studio3.0版本中,曾經的 compile 關鍵字被棄用,而 api 則是 compile 的替代品, api 與 compile 沒有區別。但最新官方推薦使用 implementation 來代替 compile 關鍵字,據說 implementation 會使Android studio的編譯速度更快呦。

而 implementation 和 api 關鍵字的區別則在于用 implementation 來聲明的依賴包只限于當前module內部使用,對于依賴其module的模塊是無法使用到該依賴包的。而用 api 來聲明依賴包時,依賴于該module的模塊可以正常使用其模塊內的依賴包。

在這里,由于我是將其放入一個公共的module,來讓app module進行依賴,因此使用 api 關鍵字。若沒有對項目進行組件化,則可以使用 implementation 關鍵字進行依賴。

2、初始化SDK

//初始化ARouter框架private boolean isDebugARouter = true;//ARouter調試開關if (isDebugARouter) { //下面兩行必須寫在init之前,否則這些配置在init中將無效 ARouter.openLog(); //開啟調試模式(如果在InstantRun模式下運行,必須開啟調試模式! // 線上版本需要關閉,否則有安全風險) ARouter.openDebug();}//官方推薦放到Application中初始化ARouter.init((Application) mContext);二、ARouter的簡單使用1、界面跳轉1.1、Activity界面跳轉

目標Activity添加注釋(跳轉語句,路由路徑建議寫成常量,創建路由表進行統一管理。)

@Route(path = '/app/login')public class LoginActivity extends AppCompatActivity {

發送Activity實現跳轉到

ARouter.getInstance().build('/app/login').navigation();1.2、獲取fragment實例

//目標界面@Route(path = '/app/fragment')public class EmptyFragment extends BaseFragment {}//啟動界面Fragment fragment= (Fragment) ARouter.getInstance().build('/app/fragment').navigation();FragmentManager manager = getSupportFragmentManager();FragmentTransaction transaction = manager.beginTransaction();transaction.add(R.id.fl_fragment_content, fragment);transaction.commit();1.3、注意事項

如果像我一樣對項目進行了組件化的同學就會發現,此時跳轉并沒有成功,而是彈出錯誤提示。

Android路由框架ARouter的使用示例

這是因為組件化后,即時我們使用了 api 作為依賴的關鍵字,但仍需在使用ARouter的其他module中配置代碼。這里一般習慣的做法是把arouter-api的依賴放在基礎服務的module里面,因為既然用到了組件化,那么肯定是所有的module都需要依賴arouter-api庫的,而arouter-compiler的依賴需要放到每一個module里面。

java

android { defaultConfig {...javaCompileOptions { annotationProcessorOptions {arguments = [moduleName :project.getName() ] } } }}dependencies { annotationProcessor ’com.alibaba:arouter-compiler:1.5.1’}

kotlin

plugins { ... id ’kotlin-kapt’}dependencies { ... kapt ’com.alibaba:arouter-compiler:1.5.1’}

否則無法匹配路由,并且在使用withObject方法攜帶對象時也會報錯,這個后面再說,再試一次發現界面成功跳轉。關于注釋 @Route 的 path 參數,也需要注意規范,必須要以“/”開頭,并且路徑至少為兩級,不然會編譯不通過或者報錯。

Android路由框架ARouter的使用示例

意思是路徑必須以“/”開頭,并且包含的值超過2個“/”。

2、攜帶基本參數的界面跳轉

使用方法如下,傳入鍵值對

Bundle bundle = new Bundle();bundle.putString('bundleStringKey', 'bundleStringValue');ARouter.getInstance().build('/app/login') .withString('stringKey', 'stringValue') .withInt('intKey', 100) .withBoolean('booleanKey', true) .withBundle('bundle', bundle) .navigation();

目標界面使用 @Autowired 注解進行注入

@Route(path = '/app/login')public class LoginActivity extends AppCompatActivity { @Autowired String stringKey; @Autowired int intKey; @Autowired boolean booleanKey; @Autowired Bundle bundle; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);//注入ARouterARouter.getInstance().inject(this);Log.e(TAG, stringKey + '...' + intKey + '...' + booleanKey);Log.e(TAG, bundle.getString('bundleStringKey')); }}

注意:注入的屬性名要和之前攜帶的key值完全相同,并且要在需要注入的界面通過ARouter.getInstance().inject(this)注入ARouter,否則無法注入成功。建議將ARouter.getInstance().inject(this)操作放在BaseActivity的onCreate方法中進行。既然有注入,就一定有資源的釋放,因此釋放資源在Application中進行。

@Override public void onTerminate() {super.onTerminate();ARouter.getInstance().destroy(); }

如果釋放資源放在BaseActivity的onDestroy方法中調用了 ARouter.getInstance().destroy( ) ; 在進入目標Activity之后,然后按back鍵返回原界面的時候,APP會報錯崩潰,下面是崩潰日志:

Android路由框架ARouter的使用示例

3、攜帶對象的界面跳轉3.1、攜帶序列化對象的界面跳轉

攜帶 Serializable 和 Parcelable 序列化的對象

TestSerializableBean serializableBean = new TestSerializableBean();serializableBean.setName('serializable');TestParcelableBean parcelableBean = new TestParcelableBean();parcelableBean.setName('parcelable');ARouter.getInstance().build('/app/login').withParcelable('parcelableBean', parcelableBean).withSerializable('serializableBean', serializableBean).navigation();

目標界面

@AutowiredTestParcelableBean parcelableBean;@AutowiredTestSerializableBean serializableBean;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);Log.e(TAG, parcelableBean + '');Log.e(TAG, serializableBean + '');}

Android路由框架ARouter的使用示例

我們發現Serializable序列化的對象為null,我們查看withSerializable方法發現其被裝進了Bundle

public Postcard withSerializable(@Nullable String key, @Nullable Serializable value) {mBundle.putSerializable(key, value);return this; }

因此換一種方法來取值,發現打印成功

TestSerializableBean serializableBean = (TestSerializableBean) getIntent().getExtras().getSerializable('serializableBean');Log.e(TAG, serializableBean + '');

Android路由框架ARouter的使用示例

3.2、攜帶無序列化對象的界面跳轉

沒有進行過序列化的對象也可以通過withObject對象進行傳遞,接收方式相同

NormalTest normalTest = new NormalTest();normalTest.setName('normal');ARouter.getInstance().build('/app/login').withObject('normalTest', normalTest).navigation();

但是我們直接使用該方法運行會報錯,分析源碼發現該方法中用到了SerializationService

public Postcard withObject(@Nullable String key, @Nullable Object value) {serializationService = ARouter.getInstance().navigation(SerializationService.class);mBundle.putString(key, serializationService.object2Json(value));return this; }

因此我們需要實現該服務

@Route(path = '/service/json')public class JsonServiceImpl implements SerializationService { private Gson gson; @Override public <T> T json2Object(String input, Class<T> clazz) {return gson.fromJson(input, clazz); } @Override public String object2Json(Object instance) {return gson.toJson(instance); } @Override public <T> T parseObject(String input, Type clazz) {return gson.fromJson(input, clazz); } @Override public void init(Context context) {gson = new Gson(); }}

我們可以在里面定義所需的json解析器,再次運行成功打印該對象。那序列化的對象可以使用該方法傳遞嗎?

TestParcelableBean objParcelableBean = new TestParcelableBean();objParcelableBean.setName('objParcelable');TestSerializableBean objSerializableBean = new TestSerializableBean();objSerializableBean.setName('objSerializable');NormalTest normalTest = new NormalTest();normalTest.setName('normal');ARouter.getInstance().build('/app/login').withObject('objParcelableBean', objParcelableBean).withObject('objSerializableBean', objSerializableBean).withObject('normalTest', normalTest).navigation();//目標界面@Autowired(name = 'objParcelableBean')TestParcelableBean objParcelableBean;@Autowired(name = 'objSerializableBean')TestSerializableBean objSerializableBean;@Autowired(name = 'normalTest')NormalTest normalTest;Log.e(TAG, objParcelableBean + '');Log.e(TAG, objSerializableBean + '');Log.e(TAG, normalTest + '');

Android路由框架ARouter的使用示例

我們發現用 Parcelable 序列化的對象為空,分析build的編譯文件

@Override public void inject(Object target) { serializationService = ARouter.getInstance().navigation(SerializationService.class); LoginActivity substitute = (LoginActivity)target; substitute.objParcelableBean = substitute.getIntent().getParcelableExtra('objParcelableBean'); if (null != serializationService) { substitute.objSerializableBean = serializationService.parseObject(substitute.getIntent().getStringExtra('objSerializableBean'), new com.alibaba.android.arouter.facade.model.TypeWrapper<TestSerializableBean>(){}.getType()); } else { Log.e('ARouter::', 'You want automatic inject the field ’objSerializableBean’ in class ’LoginActivity’ , then you should implement ’SerializationService’ to support object auto inject!'); } if (null != serializationService) { substitute.normalTest = serializationService.parseObject(substitute.getIntent().getStringExtra('normalTest'), new com.alibaba.android.arouter.facade.model.TypeWrapper<NormalTest>(){}.getType()); } else { Log.e('ARouter::', 'You want automatic inject the field ’normalTest’ in class ’LoginActivity’ , then you should implement ’SerializationService’ to support object auto inject!'); } }

我們可以看到唯獨通過 Parcelable 方式序列化的對象沒有使用SerializationService進行解析,而是直接從Bundle去取,但我們并不是通過withParcelable方法去設置的值,因此取得的數據為null。

小結:因此,為了方便我們的操作,沒有序列化和使用 Serializable 序列化的對象使用 withObject 方法傳遞,使用 Parcelable 方式序列化的對象則采用 withParcelable 方法進行傳遞。

3.3、攜帶集合和數組的界面跳轉

集合和數組的界面跳轉統一使用 withObject 方法傳遞,并且能夠支持成員的各種序列化方式。

List<NormalTest> listNormal = new ArrayList<>(); listNormal.add(new NormalTest()); listNormal.add(new NormalTest()); List<TestSerializableBean> listSerializable = new ArrayList<>(); listSerializable.add(new TestSerializableBean()); listSerializable.add(new TestSerializableBean()); List<TestParcelableBean> listParcelable = new ArrayList<>(); listParcelable.add(new TestParcelableBean()); listParcelable.add(new TestParcelableBean()); Map<String, NormalTest> map = new HashMap<>(); map.put('1', new NormalTest()); map.put('2', new NormalTest()); ARouter.getInstance().build('/app/login') .withObject('listNormal', listNormal) .withObject('listSerializable',listSerializable) .withObject('listParcelable',listParcelable) .withObject('map', map) .navigation(); //目標界面 @Autowired List<NormalTest> listNormal; @Autowired List<TestSerializableBean> listSerializable; @Autowired List<TestParcelableBean> listParcelable; @Autowired Map<String, NormalTest> map; Log.e(TAG, listNormal + ''); Log.e(TAG, listSerializable + ''); Log.e(TAG, listParcelable + ''); Log.e(TAG, map + '');

Android路由框架ARouter的使用示例

4、界面跳轉回調

//啟動界面ARouter.getInstance().build('/app/login').navigation(MainActivity.this, REQUEST_CODE);@Override protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {super.onActivityResult(requestCode, resultCode, data);if (requestCode == REQUEST_CODE&& resultCode == RESULT_CODE) { LogUtils.e(data.getStringExtra('data'));} }//目標界面Intent intent = new Intent();intent.putExtra('data', 'resultData');setResult(RESULT_CODE, intent);finish();5、未用到的知識點

由于項目中沒有用到ARouter攔截器、ARouter自定義分組,這兩塊知識點,所以就沒研究。

以上就是Android路由框架ARouter的使用示例的詳細內容,更多關于Android路由框架ARouter的使用的資料請關注好吧啦網其它相關文章!

標簽: Android
相關文章:
主站蜘蛛池模板: 一级日批片 | 亚洲三级在线观看 | 嫩草成人影院 | 久久精品99 | 欧美 日韩 国产 在线 | 婷婷久 | 国产精品久久 | 综合久久综合久久 | 日日骚视频 | 婷婷丁香五 | 国产精品亲子伦av一区二区三区 | 国产一区二区视频免费 | 免费一级黄色电影 | 97久久精品 | 国产成人久久777777 | 日韩精品在线网站 | 日本一区二区三区免费观看 | 叶山小百合av一区二区 | 亚州精品国产 | 欧美大片一区二区 | 午夜寂寞少妇aaa片毛片 | 日本高清中文字幕 | 国产精品一区二区不卡 | 欧美日韩中文字幕在线 | 亚洲综合天堂网 | 国产伦精品一区二区 | 国产三级在线播放 | 中文字幕国产 | 人人爽在线观看 | 亚洲成人久久久 | 亚洲91精品 | 久久久久国产一区二区三区四区 | 91久色| 亚洲视频一区二区三区 | 999精品一区 | 999精品视频| 91夜夜操| 精品国产一区二区在线 | 成人精品在线视频 | 久久人体视频 | 夜夜艹| av一区二区三区四区 | 国产欧美日韩在线观看 | 欧美精品一区二区三区手机在线 | 日韩影音 | 国产精品中文字幕在线 | 青青草久草在线 | 午夜午夜精品一区二区三区文 | 九九国产 | 美女久久久久 | 色性视频| 成人h动漫免费观看网站 | 午夜av电影| 日本久久久久久久久久久久 | 91色在线观看 | 欧美日韩一区电影 | 欧美福利网址 | 91麻豆精品国产91久久久久 | 国产精品国产精品国产专区不片 | 综合二区| 国产一区二区三区高清 | 国产精品久久一区二区三区 | 亚洲色图p| 一区二区三区回区在观看免费视频 | 电影91久久久 | 中文字幕 欧美 日韩 | 日韩免费高清视频 | 国产噜噜噜噜噜久久久久久久久 | 精品成人免费一区二区在线播放 | 中文视频一区 | 日韩一区二区在线播放 | 欧美一卡二卡在线观看 | 国产成人久久 | 日本免费一区二区视频 | 亚洲成人中文字幕 | 亚洲精品资源在线观看 | 九热精品| 91污在线观看 | 久久亚洲一区 | 操操操夜夜操 | 午夜久久久久 | 久久精品国产一区 | 久久久香蕉| 欧洲亚洲精品久久久久 | 日韩字幕一区 | 日韩中文字幕在线 | 婷婷综合久久 | 日韩性猛交 | av在线免费观看一区二区 | 国产黄色av | 91精品国产综合久久婷婷香蕉 | 国产偷国产偷精品高清尤物 | 久久天堂| 国产在线资源 | av中文字幕在线观看 | 福利视频1000 | 久久精品综合 | 欧美另类综合 | 天堂视频中文字幕 | 一区二区精品在线 | 中文字幕第56页 | 91免费看片网站 | www.亚洲精品 | av官网在线 | 日韩美一级 | 91人人澡人人爽 | 97精品超碰一区二区三区 | 黄色91| 狠狠综合 | 欧美日韩中文在线观看 | 亚洲精品a | 国产精品视频播放 | 国外成人在线视频 | 一本色道精品久久一区二区三区 | 在线欧美日韩 | 欧美国产精品一区二区 | 欧美高清一区 | www中文字幕 | 国产成人在线看 | 黄色av网站在线免费观看 | 日韩中文字幕一区二区 | 国产精品国产精品国产 | 国产精品国产精品国产专区不蜜 | 先锋影音在线 | 成人免费一区二区三区视频网站 | 欧美日韩在线免费观看 | 香蕉大人久久国产成人av | 一级片在线观看 | 精品国模一区二区三区欧美 | www.狠狠干| 99在线看 | 一级黄色录像视频 | 精品视频一区二区三区 | 国产中文视频 | av观看在线 | 成年人黄色免费视频 | 波多野结衣先锋影音 | 一区二区av在线 | 91麻豆精品国产91久久久久久久久 | 激情视频网站 | 视频一区中文字幕 | 日本不卡高字幕在线2019 | 成人午夜sm精品久久久久久久 | 日本在线视频观看 | 在线观看视频一区二区三区 | 91在线精品一区二区 | 亚洲第一av网站 | 美女网站视频免费黄 | 欧美在线亚洲 | 日韩免费在线视频 | 91免费在线视频 | 国产精品久久久999 成人亚洲视频 | 91一区二区三区 | 色综合久久久 | 国产精品国色综合久久 | 欧美最猛性xxxxx亚洲精品 | 国产丝袜一区二区三区免费视频 | 久久久久久久久久国产 | 久草免费福利 | 国外爱爱视频 | 日韩精品视频在线观看一区二区 | 亚洲在线播放 | 一区二区三区免费 | 日韩精品视频三区 | 一本一道久久a久久精品综合蜜臀 | 亚洲第一成年免费网站 | aa级毛片毛片免费观看久 | 国产精品久久久久久久久久久久午夜片 | 午夜激情视频 | 亚洲国产精品久久久男人的天堂 | 91成人精品 | 国产一区在线看 | 91精品啪啪| 久久国产成人 | 不卡久久 | 欧美一级片 | 少妇一区二区三区 | 国变精品美女久久久久av爽 | 色成人免费网站 | www.在线播放 | 亚洲一级黄色 | 亚洲污视频 | 国产高清在线精品一区二区三区 | 欧美黄色精品 | 国产wwwcom | 精品视频一区二区三区 | 亚洲电影一区二区三区 | 久久亚洲天堂 | 久久久久国产精品 | 超碰国产一区 | 国产精品美女久久久久aⅴ国产馆 | 亚洲午夜视频 | 色噜噜视频在线观看 | 免费福利视频一区 | 国产女爽123视频.cno | 在线第一页| 国产精品成人观看视频国产奇米 | 欧美video| 中文字幕在线不卡 | 91精品国产综合久久久久久丝袜 | 欧美在线a | 在线视频一区二区 | 精品国产一区二区三区久久久蜜月 | 日韩精品久久久久久 | 欧美高清成人 | 日日躁夜夜操 | 国产精品1区2区 | 色花av | 国产欧美日韩在线 | 黄网站在线播放 | 亚洲午夜精品一区二区三区 | 久久精品亚洲一区二区 | 免费观看av毛片 | 久久久网 | 天天看片天天干 | 欧美xxxx网站| 成人精品久久久 | 久久精品一区二区三区四区 | 久久亚洲一区 | 日韩欧美视频一区 | 欧美性一区 | www.久久.com| 免费观看成人性生生活片 | 欧美video | 成人在线观看免费 | 国产高清亚洲 | 国产一区不卡视频 | 99精品99| 日韩视频网站在线观看 | 天堂精品一区 | 伊人久久一区二区三区 | 欧美一级做a爰片免费视频 亚洲精品一区在线观看 | 欧美二区精品 | 日韩三级在线 | 国产精品永久久久久久久久久 | 亚洲成人在线观看视频 | 国产精品欧美一区二区三区 | 九一视频在线播放 | 久久精品电影网 | 日本一区二区三区四区 | 久久久久精 | 久久综合伊人77777 | 天天操操 | 国产精品久久久久久久久久久小说 | 国产成人av一区二区三区 | 亚洲九九 | 欧美成人中文字幕 | 91小视频网站 | 国产成人99久久亚洲综合精品 | h视频在线免费观看 | 久久一区 | 欧美综合久久 | 国产中文字幕在线 | 亚洲精品一区在线观看 | 国产成人免费在线 | 欧美国产日韩视频 | 国产日韩一区二区三区 | 天堂国产 | 成年人视频在线观看免费 | 国产人久久人人人人爽 | 色吊丝2288sds中文字幕 | 午夜伦理影院 | 国产精品久久久久无码av | 久久亚洲欧美日韩精品专区 | 日韩一区二区三区在线观看 | 91精品国产综合久久久蜜臀粉嫩 | 亚洲免费成人 | 国产欧美一区二区视频 | 91社区福利 | 三a毛片| 国产精品久久久久久久久久99 | 亚洲一级黄色 | 亚洲毛片网站 | 国产视频久久 | 久久国产精品久久久久久久久久 | 亚洲美女一区 | 国产日韩欧美在线 | 嫩草影院永久入口 | 欧美日韩在线综合 | 成人午夜在线 | 亚洲精品美女在线观看 | 日韩精品三区 | 亚洲免费在线视频 | 性色视频免费观看 | 日本精品免费在线观看 | 久久久久久精 | 亚洲国产成人av好男人在线观看 | 一区二区三区国产精品 | 日韩精品一区二区三区视频播放 | 国产欧美精品一区二区色综合 | 人人干人人干 | 国产欧美在线视频 | 国产精品国产精品国产专区不片 | 狠狠色丁香婷婷综合 | 午夜色视频在线观看 | 91精品国产自产精品男人的天堂 | 国产精品69毛片高清亚洲 | 色综合久久久 | 97色综合| 四虎影视免费在线观看 | 一级视频网站 | 女男羞羞视频网站免费 | 国产日韩欧美视频 | 国产精品成人在线视频 | 欧美2区 | 精品亚洲一区二区三区 | 91精品亚洲 | 久草在线青青草 | 久久亚洲国产精品日日av夜夜 | 国产欧美日韩在线观看 | 亚洲精品免费在线观看 | 91亚洲国产成人久久精品网站 | 欧美日韩综合视频 | 黑人巨大精品欧美一区二区免费 | 久久欧美精品一区 | 亚洲精品一区在线观看 | 欧美freesex交免费视频 | 成人网址在线观看 | a免费在线观看 | 亚洲高清视频在线 | ririsao久久精品一区 | 国产一区二区在线免费观看 | 成人av免费观看 | 亚洲精品乱码久久久久久花季 | 国产艹 | 在线免费视频成人 | 久久久网 | 亚洲精品视频在线 | 国产精品久久精品 | 成人欧美一区二区三区在线观看 | 日韩免费视频 | 午夜欧美一区二区三区在线播放 | 又黄又爽的网站 | 日韩中文一区 | 久久久久综合 | 国产激情精品 | 欧美精品在线看 | 久草 在线 | 日本黄色免费播放 | 黄网站涩免费蜜桃网站 | 四虎影院免费看 | 中文字幕第90页 | 日韩国产欧美一区 | 一区二区三区四区在线 | 欧美精品一区在线 | 国产精品久久国产精品99 gif | 国产在线观看一区二区 | 国产精品美女久久久久久久久久久 | 日本三级中文在线电影 | 国产成人福利 | 精品久久久久久久 | 精品在线看 | 国产精品精品视频一区二区三区 | 日韩精品专区在线影院重磅 | 综合久久色 | 国产精品久久久久久久久 | 在线免费成人 | 毛片网站大全 | 99精品一区二区 | 亚洲精品久久久久久久久久久 | 黄色一级视频 | 一区二区三区自拍 | 国产一区二区视频在线播放 | 国产精品一区二区不卡 | 综合99 | 国产成人久久 | 91在线激情 | 可以免费看黄的网站 | 国产精品视频一区二区三区 | 欧美性影院 | 综合久久国产九一剧情麻豆 | 国产精品一区在线观看你懂的 | 久久只有精品 | 欧美日韩视频 | 五月天婷婷免费视频 | 精品久久久久久国产 | 欧美区视频 | 亚洲精品中文字幕乱码无线 | 国产精品久久久爽爽爽麻豆色哟哟 | 亚州精品视频 | 日韩成人免费av | 亚洲精品美女久久久 | 婷婷丁香激情 | 国产视频欧美 | 亚洲精品久久久久久久久久久 | 成人1区2区 | 日韩福利在线观看 | 国产精品爱久久久久久久 | 国产日韩中文字幕 | 亚洲精品视频一区二区三区 | 国产激情 | 一区二区在线免费观看 | 能在线观看的黄色网址 | 亚洲福利一区 | 风间由美一区二区三区在线观看 | 亚洲在线一区二区 | 色婷婷久久久swag精品 | 精品国产鲁一鲁一区二区在线观看 | 激情99 | 在线欧美视频 | 久久久久久91香蕉国产 | 精品久 | 欧美日在线 | 久久精品久久久久电影 | 日日综合| 天堂中文资源在线 | 大桥未久亚洲精品久久久强制中出 | 国产一级纯肉体一级毛片 | 欧美久久a | 精品一区二区久久 | 国产精品一区二区三区四区五区 | 亚洲一区二区在线播放 | 97热在线| 免费网站国产 | 国产精一区 | a级片视频在线观看 | 黄色av毛片 | 国内精品久久久久久中文字幕 | 婷婷成人免费视频 | 午夜小影院 | 伊人二区| 国产亚洲成av人片在线观看桃 | 日韩在线www| 欧美日韩免费看 | 婷婷免费视频 | www.91在线| 性生活毛片| www.欧美| 国产激情一区二区三区成人免费 | 国产精品视频网 | 91操操 | 范冰冰一级做a爰片久久毛片 | 久久久久国产精品午夜一区 | 香蕉大人久久国产成人av | 欧美日韩视频在线第一区 | 午夜精品久久久久久久久久久久 | 成人免费在线视频 | 亚洲一区二区三区视频 | 在线看av的网址 | 久久美女视频 | 6080夜射猫 | 免费看的毛片 | 国产激情视频在线观看 | 国产三级在线 | 自拍偷拍专区 | 日韩一区电影 | 欧美一级视频免费 | 久久久国产一区 | 日韩精品免费视频 | 亚洲一区二区三区久久久 | 久久国产精品免费一区二区三区 | 精品久久久久久久久福利 | 免费在线黄 | 精品一区久久 | 国产色在线 | 一区二区三区久久 | 日本在线播放 | 免费观看羞羞视频网站 | 欧美大片一区 | 国产美女在线播放 | 北条麻妃99精品青青久久 | 亚洲人成一区 | 黄色一级免费观看 | 精品久久久久久亚洲精品 | 久久人操| 99国产精品久久久久久久久久 | 成人免费视频网址 | 精品国产91久久久久久久 | 另类五月天| 国产精品一区一区三区 | 欧美一级免费 | 亚洲高清视频一区 | 在线色站 | 97视频在线 | 日日干夜夜干 | 欧美久久久久久久久久伊人 | 九九热热九九 | 男女啪啪高清无遮挡 | 欧美福利在线观看 | 视频一区 中文字幕 | 欧洲另类二三四区 | 一区二区中文 | 最新黄色网址在线播放 | 久久久一区二区三区 | 91精品一区二区三区久久久久久 | 在线视频91| 天堂网av2020| 中字幕视频在线永久在线观看免费 | 精品九九 | 人人鲁人人莫一区二区三区 | 亚洲一区二区免费在线观看 | 成人a在线视频免费观看 | 国产精品乱码一二三区的特点 | 亚洲三区在线观看 | 国产精品99久久久久久动医院 | 日韩一区欧美 | 亚洲乱码国产乱码精品精的特点 | 亚洲一区二区av | 久久久中文字幕 | 久草久| 午夜久久久 | 午夜看片| 久久久91精品国产一区二区精品 | 久久亚洲黄色 | 国产欧美在线观看 | 卡通动漫第一页 | 欧美日韩中文字幕在线 | 欧美激情视频一区二区三区在线播放 | 日韩欧美一区二区三区免费观看 | 欧美日韩在线一区 | 亚洲免费观看视频 | 精品久久久久久久久久久久久久 | 黄色片网站视频 | 亚洲麻豆精品 | 欧美一区二区三区男人的天堂 | 北条麻妃99精品青青久久 | 成人午夜视频在线观看 | 黄色一级在线观看 | 欧美自拍视频在线观看 | 久久久婷婷 | 色欧美片视频在线观看 | 最新国产精品精品视频 | 精品久久久久久久久久久久久久 | 精品96久久久久久中文字幕无 | 日本午夜在线 | 天天色天天色 | 久久久久久久久久久久久久久久久久久 | 欧洲视频一区二区 | 欧美日韩免费在线 | 在线视频 91 | 国产精品成人av | 九一视频在线播放 | 久久精品一区二区三区四区 | 久久久久久久久综合 | 日日爱夜夜爱 | 国产免费视频 | 日本精品久久久一区二区三区 | 色综合一区 | 亚洲啪啪网站 | 亚洲午夜精品片久久www慈禧 | 91精品国产乱码久久久久久久久 | av在线免费观看一区二区 | 久久久精品日本 | 久久99精品视频 | 毛片一区| jizz中国日本 | 91精品国产乱码久久久久久久久 | 9se成人免费网站 | 欧美片网站免费 | 国产91黄色 | 狠狠爱天天操 | 日韩城人网站 | 亚洲日韩中文字幕一区 | 动漫羞免费网站中文字幕 | 免费av一区二区三区 | 一区二区三区在线 | 欧 | 黑人粗黑大躁护士 | 九九porny88av| 国产午夜精品一区二区 | 瑟瑟视频在线看 | 午夜在线视频 | 九九热这里只有精品8 | 日韩精品一区在线 | 日韩成人小视频 | 一级黄色影片在线观看 | 国产成人精品免费 | 九九亚洲| 久久91精品 | av手机在线电影 | 国产毛片视频 | 国产激情一区二区三区 | 色就是色网站 | 日韩视频在线免费观看 | 中文字幕免费看 | 日韩成人精品 | 全黄大全大色全免费大片 | 曰批视频在线观看 | 欧美一区二区日韩 | 久草热8精品视频在线观看 黄色片网站视频 | 91精品国产91综合久久蜜臀 | 99久久日韩精品视频免费在线观看 | 国产一区二区三区视频 | 久久久精品国产 | av网站推荐 | 欧美日韩高清 | 五月天中文字幕 | 在线日韩视频 | 免费观看成人性生生活片 | 五月婷婷导航 | 亚洲成人第一区 | 亚洲精品电影网在线观看 | 岛国精品 | 一级电影免费在线观看 | 欧美日韩在线一区 | 日本爽快片毛片 | 日韩精品一91爱爱 | 黄理论视频| 羞羞的视频在线 | 午夜私人影院在线观看 | 91在线看| 在线毛片观看 | 日本a v在线播放 | 97国产在线视频 | 97人人超碰 | 久久艹久久 | a久久久| 操操操影院 | 色婷婷综合久久久中文字幕 | 国产精品对白一区二区三区 | 亚洲精品一区二三区不卡 | 日韩专区一区二区三区 | 日韩精品一区在线视频 | 蜜桃精品久久久久久久免费影院 | 亚洲午夜精品 | 亚洲在线成人 |