亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統(tǒng) > Android > 正文

Android個人手機通訊錄開發(fā)詳解

2019-10-21 21:25:25
字體:
來源:轉載
供稿:網友

一、Android 個人手機通訊錄開發(fā)

數(shù)據(jù)存儲:SQLite 數(shù)據(jù)庫

開發(fā)工具:Android Studio

二、Phone Module 簡介

1. 界面展示

Android,手機通訊錄

Android,手機通訊錄

2. 文件結構簡單分析

Android,手機通訊錄

三、個人手機通訊錄代碼實現(xiàn)

1. 清單文件 (AndroidManifest.xml)

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.alan.directory" > <application  android:allowBackup="true"  android:icon="@drawable/icon_phone"  android:label="@string/app_name"  android:supportsRtl="true"  android:theme="@style/AppTheme" >  <activity android:name=".MainActivity" >   <intent-filter>    <action android:name="android.intent.action.MAIN" />    <category android:name="android.intent.category.LAUNCHER" />   </intent-filter>  </activity> </application></manifest>

 

2. MainActivity.java (主文件)

/** * Created by Alan J on 13/2/2019. */package com.example.alan.directory;import android.database.Cursor;import android.database.sqlite.SQLiteDatabase;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.text.method.ScrollingMovementMethod;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends AppCompatActivity implements View.OnClickListener{ MyHelper myHelper; private EditText etName; private EditText etPhone; private TextView tvShow; private Button btnAdd; private Button btnQuery; private Button btnUpdate; private Button btnDelete; @Override protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  setContentView(R.layout.activity_main);  myHelper = new MyHelper(this);  init(); //初始化控件 } private void init(){  etName = (EditText)findViewById(R.id.et_name);  etPhone = (EditText)findViewById(R.id.et_phone);  tvShow = (TextView)findViewById(R.id.tv_show);  btnAdd = (Button)findViewById(R.id.btn_add);  btnQuery = (Button)findViewById(R.id.btn_query);  btnUpdate = (Button)findViewById(R.id.btn_update);  btnDelete = (Button)findViewById(R.id.btn_delete);  btnAdd.setOnClickListener(this);   //Button控件設置監(jiān)聽  btnQuery.setOnClickListener(this);  btnUpdate.setOnClickListener(this);  btnDelete.setOnClickListener(this);  tvShow.setMovementMethod(ScrollingMovementMethod.getInstance()); //設置文本滾動 } @Override public void onClick(View v){  String name;  String phone;  SQLiteDatabase db;  switch (v.getId()){   case R.id.btn_add:  //添加聯(lián)系人    name = etName.getText().toString().trim();    phone = etPhone.getText().toString().trim();    db = myHelper.getWritableDatabase();    if (name.equals("") || phone.equals("")){ //聯(lián)系人信息不能為空     Toast.makeText(this,"聯(lián)系人信息添加失敗",Toast.LENGTH_SHORT).show();    }    else {     db.execSQL("insert into person (name,phone) values(?,?)", new Object[]{name, phone});     Toast.makeText(this,"聯(lián)系人信息添加成功",Toast.LENGTH_SHORT).show();    }    db.close();    break;   case R.id.btn_query: //查詢聯(lián)系人    db = myHelper.getReadableDatabase();    Cursor cursor = db.rawQuery("select name,phone from person",null);    if (cursor.getCount() == 0){     tvShow.setText("");     Toast.makeText(this,"空目錄",Toast.LENGTH_SHORT).show();    }else {     cursor.moveToFirst();     tvShow.setText("Name:" + cursor.getString(0) + " ; Tel:" + cursor.getString(1));     while (cursor.moveToNext()){      tvShow.append("/n" + "Name:" + cursor.getString(0) + " ; Tel:" + cursor.getString(1));     }    }    cursor.close();    db.close();    break;   case R.id.btn_update: //修改聯(lián)系人    db = myHelper.getWritableDatabase();    name = etName.getText().toString().trim();    phone = etPhone.getText().toString().trim();    if (name.equals("") || phone.equals("")){ //聯(lián)系人信息不能為空     Toast.makeText(this,"聯(lián)系人信息修改失敗",Toast.LENGTH_SHORT).show();    }    else {     db.execSQL("update person set name=?,phone=? where name=?", new Object[]{name, phone, name});     Toast.makeText(this,"聯(lián)系人信息修改成功",Toast.LENGTH_SHORT).show();    }    db.close();    break;   case R.id.btn_delete: //刪除聯(lián)系人    db = myHelper.getWritableDatabase();    name = etName.getText().toString().trim();    phone = etPhone.getText().toString().trim();    if (name.equals("") || phone.equals("")){ //聯(lián)系人信息不能為空     Toast.makeText(this,"聯(lián)系人信息刪除失敗",Toast.LENGTH_SHORT).show();    }    else {     db.execSQL("delete from person where name=? and phone=?", new Object[]{name, phone});     Toast.makeText(this,"聯(lián)系人信息刪除成功",Toast.LENGTH_SHORT).show();    }    db.close();    break;  } }}

 

3. MyHelper.java (數(shù)據(jù)庫文件)

/** * Created by Alan J on 13/2/2019. */package com.example.alan.directory;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;public class MyHelper extends SQLiteOpenHelper{ public MyHelper(Context context){  super(context, "alan.db", null ,2); } @Override public void onCreate(SQLiteDatabase db){  db.execSQL("create table person(id integer primary key autoincrement,name varchar(20),phone varchar(20) unique)"); } public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion){ }}

 

4. activity_main.xml (XML Layout 布局文件)

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="@drawable/background" tools:context=".MainActivity"> <LinearLayout  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:id="@+id/lineOne">  <ImageView   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:background="@drawable/head"   android:layout_margin="30dp"/>  <TextView   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:text="通 訊 錄"   android:textSize="30dp"   android:textStyle="bold"   android:textColor="#BC8F8F"   android:layout_gravity="center"   android:layout_marginLeft="50dp"   /> </LinearLayout> <LinearLayout  android:id="@+id/lineTwo"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:layout_below="@+id/lineOne"  android:layout_marginTop="20dp"  android:layout_marginLeft="18dp"  android:layout_marginRight="18dp">  <TextView   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:text="姓 名 : "   android:textSize="18dp"   android:textStyle="bold"/>  <EditText   android:id="@+id/et_name"   android:layout_width="match_parent"   android:layout_height="wrap_content"   android:hint="  請輸入姓名"   android:textSize="16dp"   android:maxLength="14"/> </LinearLayout> <LinearLayout  android:id="@+id/lineTree"  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:layout_below="@+id/lineTwo"  android:layout_marginTop="10dp"  android:layout_marginLeft="18dp"  android:layout_marginRight="18dp">  <TextView   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:text="電 話 : "   android:textSize="18dp"   android:textStyle="bold"/>  <EditText   android:id="@+id/et_phone"   android:layout_width="match_parent"   android:layout_height="wrap_content"   android:hint="  請輸入手機號碼"   android:textSize="16dp"   android:maxLength="11"/> </LinearLayout> <LinearLayout  android:layout_width="match_parent"  android:layout_height="wrap_content"  android:id="@+id/lineFour"  android:layout_below="@+id/lineTree"  android:layout_marginTop="30dp"  android:layout_marginLeft="18dp"  android:layout_marginRight="18dp"  android:orientation="horizontal">  <Button   android:id="@+id/btn_add"   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:background="@drawable/shape"   android:layout_weight="1"   android:text=" 添 加 "   android:textSize="16dp"   android:textColor="#c2c8ec"   android:textStyle="bold"/>  <Button   android:id="@+id/btn_query"   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:background="@drawable/shape"   android:layout_weight="1"   android:layout_marginLeft="4dp"   android:text=" 查 詢 "   android:textSize="16dp"   android:textColor="#c2c8ec"   android:textStyle="bold"/>  <Button   android:id="@+id/btn_update"   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:background="@drawable/shape"   android:layout_weight="1"   android:layout_marginLeft="4dp"   android:text=" 修 改 "   android:textSize="16dp"   android:textColor="#c2c8ec"   android:textStyle="bold"/>  <Button   android:id="@+id/btn_delete"   android:layout_width="wrap_content"   android:layout_height="wrap_content"   android:background="@drawable/shape"   android:layout_weight="1"   android:layout_marginLeft="4dp"   android:text=" 刪 除 "   android:textSize="16dp"   android:textColor="#c2c8ec"   android:textStyle="bold"/> </LinearLayout> <TextView  android:id="@+id/tv_show"  android:layout_width="match_parent"  android:layout_height="180dp"  android:scrollbars="vertical"  android:layout_below="@+id/lineFour"  android:layout_marginTop="20dp"  android:layout_marginLeft="20dp"  android:layout_marginRight="18dp"  android:textSize="20dp"/></RelativeLayout>

 

5. shape.xml (Button 按鈕設置)

<?xml version="1.0" encoding="utf-8" ?><shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <!--設置背景色--> <solid android:color="#BC8F8F" /> <!--設置圓角--> <corners android:radius="105dip" /> <!--設置邊框線的寬度和顏色--> <stroke android:width="0dp" android:color="#B0C4DE" /></shape>

 

四、Android 個人通訊錄功能測試

1. 添加

分別添加聯(lián)系人:姓名:小 明 電話:13888899922

         姓名:小 莉 電話:15866655588

添加聯(lián)系人功能驗證:姓名:小 明 電話:13888899922

Android,手機通訊錄

Android,手機通訊錄

添加聯(lián)系人功能驗證:姓名:小 莉 電話:15866655588

Android,手機通訊錄

Android,手機通訊錄

測試中的一些問題:1. 聯(lián)系人電話號碼不能重復添加,程序會終止退出,因為聯(lián)系人的電話號碼是唯一的(一個人可以有多個手機號,而一個手機號只能一個人使用 {該功能程序已經實現(xiàn)} )。

          2. 電話號碼長度限制為11位。

          3. 聯(lián)系人信息為空不能成功添加。

再次添加聯(lián)系人:姓名:小 莉 電話:15866655588

Android,手機通訊錄

Android,手機通訊錄

Android,手機通訊錄

 

上述功能問題限制的重點代碼如下:

//聯(lián)系人電話號碼唯一性@Overridepublic void onCreate(SQLiteDatabase db){  db.execSQL("create table person(id integer primary key autoincrement,name varchar(20),phone varchar(20) unique)");}//電話號碼長度限制<EditText android:id="@+id/et_phone" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="  請輸入手機號碼" android:textSize="16dp" android:maxLength="11"/>//聯(lián)系人信息為空時的限制        case R.id.btn_add:  //添加聯(lián)系人    name = etName.getText().toString().trim();    phone = etPhone.getText().toString().trim();    db = myHelper.getWritableDatabase();    if (name.equals("") || phone.equals("")){ //聯(lián)系人信息不能為空     Toast.makeText(this,"聯(lián)系人信息添加失敗",Toast.LENGTH_SHORT).show();    }    else {     db.execSQL("insert into person (name,phone) values(?,?)", new Object[]{name, phone});     Toast.makeText(this,"聯(lián)系人信息添加成功",Toast.LENGTH_SHORT).show();    }    db.close();    break;

 

2. 查詢

查詢通訊錄聯(lián)系人功能驗證:

Android,手機通訊錄

Android,手機通訊錄

 

聯(lián)系人查詢重點代碼:

//查詢聯(lián)系人      case R.id.btn_query:     db = myHelper.getReadableDatabase();    Cursor cursor = db.rawQuery("select name,phone from person",null);    if (cursor.getCount() == 0){     tvShow.setText("");     Toast.makeText(this,"空目錄",Toast.LENGTH_SHORT).show();    }else {     cursor.moveToFirst();     tvShow.setText("Name:" + cursor.getString(0) + " ; Tel:" + cursor.getString(1));     while (cursor.moveToNext()){      tvShow.append("/n" + "Name:" + cursor.getString(0) + " ; Tel:" + cursor.getString(1));     }    }    cursor.close();    db.close();    break;

 

3. 修改

修改聯(lián)系人功能驗證:姓名:小 明 電話:13888899922 ===》》》 姓名:小 明 電話:15888899922

注意小問題:必須輸入聯(lián)系人姓名和電話號碼,才可以成功進行修改,在數(shù)據(jù)庫中修改一句name字段值進行匹配

Android,手機通訊錄

Android,手機通訊錄

 

聯(lián)系人修改重點代碼:

//修改聯(lián)系人      case R.id.btn_update:     db = myHelper.getWritableDatabase();    name = etName.getText().toString().trim();    phone = etPhone.getText().toString().trim();    if (name.equals("") || phone.equals("")){ //聯(lián)系人信息不能為空     Toast.makeText(this,"聯(lián)系人信息修改失敗",Toast.LENGTH_SHORT).show();    }    else {     db.execSQL("update person set name=?,phone=? where name=?", new Object[]{name, phone, name});     Toast.makeText(this,"聯(lián)系人信息修改成功",Toast.LENGTH_SHORT).show();    }    db.close();    break;

 

測試中的一些問題:聯(lián)系人為空時不能進行修改

Android,手機通訊錄

 

上述功能問題限制的重點代碼如下:

         if (name.equals("") || phone.equals("")){ //聯(lián)系人信息不能為空     Toast.makeText(this,"聯(lián)系人信息修改失敗",Toast.LENGTH_SHORT).show();    }    else {     db.execSQL("update person set name=?,phone=? where name=?", new Object[]{name, phone, name});     Toast.makeText(this,"聯(lián)系人信息修改成功",Toast.LENGTH_SHORT).show();    }

 

4. 刪除

刪除聯(lián)系人功能驗證:姓名:小 明 電話:15888899922

Android,手機通訊錄

Android,手機通訊錄

Android,手機通訊錄

 

聯(lián)系人刪除重點代碼:

//刪除聯(lián)系人       case R.id.btn_delete:     db = myHelper.getWritableDatabase();    name = etName.getText().toString().trim();    phone = etPhone.getText().toString().trim();    if (name.equals("") || phone.equals("")){ //聯(lián)系人信息不能為空     Toast.makeText(this,"聯(lián)系人信息刪除失敗",Toast.LENGTH_SHORT).show();    }    else {     db.execSQL("delete from person where name=? and phone=?", new Object[]{name, phone});     Toast.makeText(this,"聯(lián)系人信息刪除成功",Toast.LENGTH_SHORT).show();    }    db.close();    break;

 

測試中的一些問題:聯(lián)系人為空時不能進行刪除

Android,手機通訊錄

 

上述功能問題限制的重點代碼如下:

         if (name.equals("") || phone.equals("")){ //聯(lián)系人信息不能為空     Toast.makeText(this,"聯(lián)系人信息刪除失敗",Toast.LENGTH_SHORT).show();    }    else {     db.execSQL("delete from person where name=? and phone=?", new Object[]{name, phone});     Toast.makeText(this,"聯(lián)系人信息刪除成功",Toast.LENGTH_SHORT).show();    }


注:相關教程知識閱讀請移步到Android開發(fā)頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
一区一区三区| 中文字幕一区二区三区在线播放| 欧美偷窥清纯综合图区| 亚洲电影一区二区| 伊人手机在线视频| 全球中文成人在线| 日韩激情一区二区三区| 精品无人区麻豆乱码久久久| 久久99国产精品二区高清软件| 国产91亚洲精品久久久| 欧美日韩国产美女| 亚洲美女福利视频网站| 在线观看av免费| 九色91蝌蚪在线| 2021国产精品久久精品| 亚洲福利一区二区三区| 小明看看成人免费视频| 欧美在线免费观看| 国产香蕉视频在线观看| 日韩欧美在线观看强乱免费| 麻豆精品在线播放| 男人与禽猛交狂配| 亚洲videos| h视频免费看| 色94色欧美sute亚洲13| 国产ts丝袜人妖系列视频| 91精品久久久久久综合五月天| 激情综合激情| 免费观看91视频大全| 欧美一级做性受免费大片免费| 亚洲一区二区三区成人在线视频精品| 99久久免费精品高清特色大片| 国产精品福利视频| 国产一区二区三区的电影| 国产香蕉久久精品综合网| 国产精品欧美激情| 中国xxx69视频| 国产亚洲精品中文字幕| 国产91精品入口| 日韩三级视频中文字幕| 香港三日本8a三级少妇三级99| 小说区图片区亚洲| 国产日韩一区二区三区在线| 亚洲天天做日日做天天谢日日欢| 亚洲精品激情视频| 四虎视频在线精品免费网址| 亚洲美女视频一区| 乳奴隷乳フ辱julia在线观看| av成人毛片| 懂色av中文一区二区三区| 91九色视频在线观看| 中文字幕乱码在线人视频| 中文字幕日本精品| 成人3d漫画免费无遮挡软件| jizz18欧美| 国产精品日韩一区二区| 欧美色欧美亚洲另类七区| 色a资源在线| 亚洲人人夜夜澡人人爽| 战狼4完整免费观看在线播放版| 亚洲色在线视频| 亚洲女优视频| 在线亚洲免费| 手机在线免费观看毛片| 美国黄色一级视频| 日韩高清不卡一区二区| 精品国产乱码久久久久久久软件| 男人天堂av网| 99热这里只有精| 国产网红在线观看| 精品国产av无码一区二区三区| 亚洲www啪成人一区二区麻豆| 二吊插入一穴一区二区| 无码国产色欲xxxx视频| 美女一区二区三区视频| 久久亚洲影音av资源网| 国精产品一区一区三区四川| 欧美激情一区三区| 日产精品高清视频免费| 天堂俺去俺来也www久久婷婷| 九九久久婷婷| 热久久久久久| 久久久精彩视频| 911精品产国品一二三产区| 久久久久久久久久综合| 农村末发育av片一区二区| www.成人av.com| 台湾av在线二三区观看| 一个人免费视频www在线观看| 亚洲跨种族黑人xxx| 国产三级在线免费| 国产精品亚洲αv天堂无码| 成人影院久久久久久影院| 波多野结衣一区| 性直播在线观看| 高清国产福利在线观看| 国产大学生自拍| 一二三区在线视频| 国产精品免费人成网站| 日韩小视频在线观看专区| 成人一级片免费看| 日韩欧美黄色片| 免费高潮视频95在线观看网站| 久久96国产精品久久99软件| 日韩免费av一区| 丰满人妻一区二区三区四区| 国产v综合v亚洲欧| 国产视频在线观看一区二区| 久久精品国产网站| 一区二区在线看| www.国产91| 男女羞羞免费视频| 日韩精品视频免费看| 国产成人啪精品午夜在线观看| 99久久精品国产亚洲精品| 久热在线观看视频| www.麻豆av.com| 欧美人善交videosg| 亚洲一区二区中文字幕| 伪装者免费全集在线观看| 国产成人精品日本亚洲| 日韩国产欧美一区二区| 欧美美女一区二区| www.射射射| 国产精品亚洲综合色区韩国| 一区二区三区四区五区| 亚洲欧洲在线播放| 永久免费av片在线观看全网站| 999国产精品亚洲77777| 亚洲日本成人网| 成年人免费视频播放| 日韩午夜在线| 亚洲电影观看| 日日夜夜综合网| 国产成人在线免费视频| 国产九区一区在线| 色综合久久综合网| 你懂得影院夜精品a| xxxxxhd亚洲人hd| 亚洲不卡在线播放| 国产精品无人区| 国产成人精品a视频一区| 久久综合久久久| 日产精品久久久久久久| 三级无遮挡在线观看| 操操操综合网| 国产精品亚洲人成在99www| 欧美日韩一级黄| 亚洲成人一区| 精品免费av在线| 欧美夜福利tv在线| 欧美情侣在线播放| 日本三级小视频| 欧美特黄一级大片| 亚洲美女免费精品视频在线观看| 午夜欧美2019年伦理| 天堂网在线资源| 久久精品久久久久| 日韩福利电影在线| 视频一区 中文字幕| 不卡中文字幕| 亚洲激情图片一区| 欧美激情一区| 超碰超碰超碰超碰| 国产女人18毛片| 欧美日韩导航| 美女精品视频| 国产91免费视频| 先锋在线亚洲| 国产高清视频在线| 亚洲免费看黄网站| 成人au免费视频影院| 视频亚洲一区二区| 日韩在线观看视频一区二区三区| 日韩在线不卡视频| 久久精品视频国产| 精品视频一区在线视频| 日韩在线观看电影完整版高清免费悬疑悬疑| 欧美日韩经典丝袜| 成a人v在线播放| 精品午夜福利视频| www.色呦呦| 日本最新高清不卡中文字幕| 精品久久久久久综合日本| 毛片av在线播放| 国产吞精囗交久久久| 国产草草影院ccyycom| 人人妻人人玩人人澡人人爽| 欧美专区在线播放| 国产精品一区二区久久精品| 欧美区一区二区| 国产日韩视频在线| 色就是色欧美色图| 久久久无码中文字幕久...| 性欧美黑人xxxx| 国产精品毛片a∨一区二区三区|国| 中文字幕精品久久久| 一级一片免费视频| 国产精品丝袜久久久久久app| 日韩精品亚洲人成在线观看| 婷婷四房综合激情五月| 人妻少妇一区二区三区| 国产精品99久久久久久久女警| 亚洲第一区第二区第三区| 免费在线视频一级不卡| 青青草免费观看完整版高清| 欧美极品美女视频网站在线观看免费| 日韩中文字幕视频| 黄色一级在线视频| jizz欧美大全| 国产精品嫩草影院俄罗斯| 亚洲欧洲日产国码二区| 韩国视频一区二区| 六月丁香综合在线视频| 伊人色综合久久| 91精品国产综合久久香蕉麻豆| 成人免费视频入口| 久久人妻一区二区| 久久久久久国产免费| 大胆人体一区| 国产精品-色哟哟| 肥婆老bbb肥婆bbbbb| 久久综合99re88久久爱| 欧美aaaaa成人免费观看视频| 国产不卡一卡2卡三卡4卡5卡在线| 中文字幕人成不卡一区| 岛国在线大片| 国产精品久久久国产盗摄| 99精品一区二区| 欧美日韩在线另类| 国产又爽又黄又舒服又刺激视频| 欧美三级网色| 色网站在线视频| 三级资源在线| 亚洲福利网站| 国产风韵犹存在线视精品| 人妻换人妻仑乱| 欧美福利视频在线观看| 国产欧美日韩综合精品一区二区| 成人黄色av网站在线| 精品色蜜蜜精品视频在线观看| 九一免费看片| 一本一道久久a久久精品逆3p| 噜噜噜91成人网| 欧美野外性xxxxfeexxxx| 天堂网站www天堂资源在线| 日韩一区亚洲二区| 成人精品亚洲人成在线| 麻豆久久婷婷| 一本加勒比hezyo黑人| 一个色在线视频| 久久久精品国产免费观看同学| 国产精品久久久对白| 亚洲国产精品精华液2区45| 在线国产日韩| 五月天婷婷激情| 手机毛片在线观看| 国产这里有精品| 色偷偷亚洲第一综合| 国产激情视频一区二区| 欧美激情按摩在线| 国模冰冰炮一区二区| jizzjizz16| 亚洲AV无码久久精品国产一区| 韩国三级中文字幕hd久久精品| 青青视频在线免费观看| 国产在线|日韩| 日韩av片网站| а√天堂8资源中文在线| 色在线观看视频| 欧美激情第10页| 新版中文在线官网| 四虎影视在线观看2413| 久久精品一区二区三区不卡免费视频| 99re热视频精品| 三级国产三级在线| 久久久美女艺术照精彩视频福利播放| sm国产在线调教视频| 午夜剧场成人观在线视频免费观看| 激情不卡一区二区三区视频在线| 久久伊人精品一区二区三区| 国产欧美日韩精品专区| 欧美日韩亚洲综合| 成人黄色片在线| 大片免费在线看视频| 国内精品久久久久久久久| 免费a漫导航| 免费成人蒂法网站| 亚洲精品大片www| 亚洲男女自偷自拍| 黄色一级大片在线观看| 午夜天堂在线视频| 久久久国产一区二区| 国产成人亚洲精品狼色在线| 91网站观看| 国内成人精品2018免费看| baoyu135国产精品免费| 久久精品男人天堂| 影音先锋国产在线| 香蕉视频黄色在线观看| 国产精品激情av电影在线观看| 欧美激情中文字幕一区二区| 欧美激情一二区| 1069男同网址| 免费能直接在线观看黄的视频| 91av视频在线| 美女搡bbb又爽又猛又黄www| 日本一区免费看| 色偷偷成人一区二区三区91| 欧美残忍xxxx极端| 成人国产精品久久久久久亚洲| xxxx视频在线观看| 亚洲另类在线观看| 久久精品99久久| 国产日韩综合一区二区性色av| 久久手机免费观看| 邪恶网站在线观看| 很黄的网站在线观看| 台湾无码一区二区| 成人动漫av在线| 97免费视频在线播放| 爱福利一区二区| 国产亚洲高清在线观看| 日本熟妇人妻xxxxx| 中文乱码免费一区二区| 成人av在线播放网址| www.麻豆传媒| 男女爽爽爽视频|