久久精品国产精品国产精品污,男人扒开添女人下部免费视频,一级国产69式性姿势免费视频,夜鲁夜鲁很鲁在线视频 视频,欧美丰满少妇一区二区三区,国产偷国产偷亚洲高清人乐享,中文 在线 日韩 亚洲 欧美,熟妇人妻无乱码中文字幕真矢织江,一区二区三区人妻制服国产

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android基础知识精简版(转)

發(fā)布時間:2023/12/20 Android 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android基础知识精简版(转) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
原文? http://blog.csdn.net/heimady/article/details/10363995

1.?前言

裁剪了下轉(zhuǎn)載內(nèi)容,只保留我認為有用的知識點。

2.?搭建開發(fā)環(huán)境

http://tools.android-studio.org/

3.?開發(fā)一個 Android 程序

3.1.?創(chuàng)建 Android 程序

??創(chuàng)建 Android?Project

??Project?name :項目名

??Build?Target Android 版本

??Application?name :程序名,顯示在程序列表中,以及程序啟動后的標(biāo)題欄

??Package?name :包名,程序的唯一標(biāo)識

??Create?Activity :選擇程序啟動時是否創(chuàng)建一個窗體,設(shè)置主窗體名字

??Min?SDK?Version :設(shè)置運行該程序所需的最低版本

3.2.?安裝、卸載程序

??Eclipse 安裝

右鍵點擊工程?–?Run?as?–?Android?Application

??虛擬機卸載

設(shè)置?–?應(yīng)用程序?–?管理應(yīng)用程序?–?選中要卸載的程序?–?卸載

3.3.?了解項目目錄結(jié)構(gòu)

??src :源代碼

??gen :系統(tǒng)自動生成的文件

R.java?中記錄了項目中各種資源 ID

??res :系統(tǒng)資源,所有文件都會在 R 文件生成資源 ID

drawable :圖片

layout :界面布局

values :數(shù)據(jù)

anim :定義動畫的 XML

raw :原生文件

??assets :資源路徑,不會在 R 文件注冊

??project.properties :供 Eclipse 使用,讀取該項目使用 Android 版本號。早期版本名為: default.properties

??AndroidManifest.xml :清單文件,在軟件安裝的時候被讀取

Android 中的四大組件( Activity 、 ContentProvider 、 BroadcastReceiver 、 Service )都需要在該文件中注冊

程序所需的權(quán)限也需要在此文件中聲明,例如:電話、短信、互聯(lián)網(wǎng)、訪問 SD

??bin :二進制文件,包括 class 、資源文件、 dex apk

??proguard.cfg:用來混淆代碼的配置文件,防止別人反編譯

3.4.?程序啟動過程

??Eclipse .java 源文件編譯成 .class

??使用 dx 工具將所有 .class 文件轉(zhuǎn)換為 .dex 文件

??再將 .dex 文件和所有資源打包成 .apk 文件

??將 .apk 文件安裝到虛擬機完成程序安裝

??啟動程序?–?開啟進程?–?開啟主線程

??創(chuàng)建 Activity 對象? –?執(zhí)行 OnCreate() 方法

??按照 main.xml 文件初始化界面

4.?演示案例

41.?查看程序錯誤信息

??Android 程序中如果出錯,錯誤不會顯示在 Console 中,而是顯示在 LogCat 界面下。可以從 window? –?show?view 中打開

??日志信息分為 5 個級別: verbose?>?debug?>?info?>?warn?>?error? 高級的包含低級的

??可以創(chuàng)建過濾器對日志進行過濾顯示,點擊綠色加號,可以按照 tag 、 pid level 進行篩選

4.2.?布局

??RelativeLayout (相對布局)

??android-sdk-windows/docs/guide/topics/ui/layout-objects.html#relativelayout

??TableLayout (表格布局)

android-sdk-windows/docs/guide/topics/ui/layout-objects.html#tablelayout

??FrameLayout (幀布局)

android-sdk-windows/docs/guide/topics/ui/layout-objects.html#framelayout

setRequestedOrientation(ActivityInfo. SCREEN_ORIENTATION_LANDSCAPE );

setRequestedOrientation(ActivityInfo. SCREEN_ORIENTATION_PORTRAIT );

4.3.?Junit

??項目中添加測試類

??在 AndroidManifest.xml 清單文件中添加配置

< instrumentation? android:targetPackage = "cn.itcast.junit"? android:name = "android.test.InstrumentationTestRunner"? />

< uses-library? android:name = "android.test.runner"? />

??定義一個類繼承 AndroidTestCase ,定義測試方法

??在 Outline 視圖下右鍵點擊測試方法? –?Run?as?–?Android?Junit?Test

??創(chuàng)建測試項目

??創(chuàng)建 Android?Test?Project

??輸入項目名,選擇一個已存在的工程, Eclipse 可以自動配置 Junit 環(huán)境

5.?文件操作( File XML SharedPreferences

5.1.?讀寫文件

??寫入文件到 SD

??需要在清單文件中注冊權(quán)限

< uses-permission? android:name = "android.permission.WRITE_EXTERNAL_STORAGE"? />

??2.1 版本以下的 SDCard 位置和 2.2 之后版本不同

可以通過Environment.getExternalStorageDirectory()獲取當(dāng)前 SDCard 位置,兼容所有版本

??獲取 SDCard 狀態(tài)

通過Environment.getExternalStorageState()方法獲取 SDCard 當(dāng)前狀態(tài)

常量?Environment.MEDIA_MOUNTED?為已安裝

??寫入文件

??通過 Context. openFileOutput(String?name,? int ?mode)可以獲取一個文件輸入流

name 為文件名, mode 為文件模式,有 4 種模式

輸出流指向路徑為: /data/data/ 包名 /files/?

??文件模式在 Context 中有定義常量

MODE_PRIVATE 私有

MODE_WORLD_READABLE 其他程序可讀(不可寫)

MODE_WORLD_WRITEABLE 其他程序可寫(不可讀)

模式可以組合使用,例如:MODE_WORLD_READABLE?+?MODE_WORLD_WRITEABLE

MODE_APPEND 追加

??讀取文件

??通過 Context. openFileInput(String?name)可以獲取一個文件輸入流

該輸入流可以讀取? /data/data/ 包名 /files/? 路徑下的文件

??獲取當(dāng)前程序 Files 文件路徑

ContextWrapper.getFilesDir()

5.2.?XML

??Pull 簡介

??常見的 XML 解析方式有三種, DOM 、 SAX 、 Pull Android 系統(tǒng)中推薦使用 Pull

??Pull 解析器是一個開源的 Java 項目, Android 系統(tǒng)內(nèi)部解析 XML 文件均為此種方式,也可用于 JavaEE 項目

??Android?SDK 中已經(jīng)集成了 Pull 解析器,無需添加任何 jar 文件

??Pull 解析器運行方式與 SAX 類似,提供各種事件的判斷

??官方網(wǎng)站: http://xmlpull.org/

??使用 Pull 解析器解析 XML 文件

??Xml.newPullParser()?獲得解析器

??parser.setInput(in,? "UTF-8" )?設(shè)置輸入流以及編碼

??parser.next()?獲取下一個解析事件,得到一個事件代碼

??XmlPullParser中定義了常量來標(biāo)識各種解析事件

START_DOCUMENT 、 END_DOCUMENT? START_TAG? 、END_TAG? TEXT?

??使用XmlSerializer寫出 XML

??使用以下方法生成 XML ,和 XML 文檔順序類似

startDocument

startTag

attribute

text

endTag

endDocument

5.3.?偏好設(shè)定( SharedPreferences )?

??在程序中保存一些配置參數(shù)的時候我們經(jīng)常使用 SharedPreferences

Context.getSharedPreferences(String?name, int ?mode)

該方法可以在 /data/data/<package>/shared_pref/ 目錄下創(chuàng)建一個以 name 命名的 xml 文件, mode 文件為模式

??存儲偏好

調(diào)用edit()方法可以獲取一個 Editor 對象,對數(shù)據(jù)進行存儲,存儲之后需要調(diào)用 commit()保存到文件

??讀取偏好

獲得SharedPreferences之后調(diào)用 getString() getInt() 等方法獲取其中設(shè)置的值

??在 Activity 中獲取 SharedPreferences

Activity 中可以調(diào)用 getPreferences( int ?mode)方法獲得一個SharedPreferences,文件名和 Activity 名一致

6.?數(shù)據(jù)庫( SQLite

6.1.?SQLite 特點

??Android 平臺中嵌入了一個關(guān)系型數(shù)據(jù)庫 SQLite ,和其他數(shù)據(jù)庫不同的是 SQLite 存儲數(shù)據(jù)時不區(qū)分類型

例如一個字段聲明為 Integer 類型,我們也可以將一個字符串存入,一個字段聲明為布爾型,我們也可以存入浮點數(shù)。

除非是主鍵被定義為 Integer ,這時只能存儲 64 位整數(shù)

??創(chuàng)建數(shù)據(jù)庫的表時可以不指定數(shù)據(jù)類型,例如:

CREATE?TABLE?person(id?INTEGER?PRIMARY?KEY?AUTOINCREMENT,?name?VARCHAR(20))

CREATE?TABLE?person(id?INTEGER?PRIMARY?KEY?AUTOINCREMENT,?name)

??SQLite 支持大部分標(biāo)準(zhǔn) SQL 語句,增刪改查語句都是通用的,分頁查詢語句和 MySQL 相同

SELECT?*?FROM?person?LIMIT?20?OFFSET?10

SELECT?*?FROM?person?LIMIT?10,20

6.2.?創(chuàng)建數(shù)據(jù)庫

??定義類繼承SQLiteOpenHelper

??聲明構(gòu)造函數(shù), 4 個參數(shù)

??重寫 onCreate ()方法

??重寫 upGrade() 方法

??注意: SQLite 數(shù)據(jù)庫中列一旦創(chuàng)建不能修改,如果一定要修改,需要重新創(chuàng)建表,拷貝數(shù)據(jù)

6.3.?CRUD操作

??和 JDBC 訪問數(shù)據(jù)庫不同,操作 SQLite 數(shù)據(jù)庫無需加載驅(qū)動,不用獲取連接,直接可以使用

獲取 SQLiteDatabase 對象之后通過該對象直接可以執(zhí)行 SQL 語句

SQLiteDatabase.execSQL()

SQLiteDatabase.rawQuery()

??getReadableDatabase()和getWritableDatabase()的區(qū)別

查看源代碼后我們發(fā)現(xiàn)getReadableDatabase()在通常情況下返回的就是getWritableDatabase() 拿到的數(shù)據(jù)庫

只有在拋出異常的時候才會以只讀方式打開

??數(shù)據(jù)庫對象緩存

getWritableDatabase() 方法最后會使用一個成員變量記住這個數(shù)據(jù)庫對象,下次打開時判斷是否重用

??SQLiteDatabase 封裝了 insert() 、 delete ()、 update ()、 query ()四個方法也可以對數(shù)據(jù)庫進行操作

這些方法封裝了部分 SQL 語句,通過參數(shù)進行拼接

6.4.?事務(wù)管理

??在使用 SQLite 數(shù)據(jù)庫時可以用 SQLiteDatabase類中定義的相關(guān)方法控制事務(wù)

beginTransaction()? 開啟事務(wù)

setTransactionSuccessful()? 設(shè)置事務(wù)成功標(biāo)記

endTransaction()? 結(jié)束事務(wù)

??endTransaction() 需要放在 finally 中執(zhí)行,否則事務(wù)只有到超時的時候才自動結(jié)束,會降低數(shù)據(jù)庫并發(fā)效率

7.?內(nèi)容提供者( ContentProvider

7.1.?什么是內(nèi)容提供者

??內(nèi)容提供者是 Android 中的四大組件之一,可以將應(yīng)用中的數(shù)據(jù)對外進行共享

??內(nèi)容提供者將數(shù)據(jù)的訪問方式統(tǒng)一,不必針對不同數(shù)據(jù)類型采取不同的訪問策略

??內(nèi)容提供者將數(shù)據(jù)封裝,只暴露出我們希望提供給其他程序的數(shù)據(jù)

??內(nèi)容提供者中數(shù)據(jù)更改可被監(jiān)聽

7.2.?創(chuàng)建內(nèi)容提供者

??定義類繼承 ContentProvider ,根據(jù)需要重寫內(nèi)部方法

??在清單文件的 <application> 節(jié)點下進行配置, <provider> 標(biāo)簽中需要指定 name authorities 屬性

name 為類名,包名從程序 Package 開始,以“ . ”開始

authorities :是訪問 Provider 時的路徑,要唯一

??URI 代表要操作的數(shù)據(jù),由 scheme 、 authorites 、 path 三部分組成

content:// cn.itcast. sqlite . provider / person

scheme :固定為 content ,代表訪問內(nèi)容提供者

authorites : <provider> 節(jié)點中的 authorites 屬性

path :程序定義的路徑,可根據(jù)業(yè)務(wù)邏輯定義

7.3.?完成 CRUD 方法

??當(dāng)程序調(diào)用 CRUD 方法時會傳入 Uri

??我們通過 Uri 判斷調(diào)用者要操作的數(shù)據(jù)

可以使用工具類 UriMatcher 來判斷 Uri

addURI 方法可以添加 Uri

match 方法可以匹配一個 Uri 判斷其類型

??根據(jù)業(yè)務(wù)邏輯操作數(shù)據(jù)

7.4.?訪問內(nèi)容提供者

??通過 Context 獲得 ContentResolver 對象

??調(diào)用 ContentResolver 對象的方法即可訪問內(nèi)容提供者

7.5.?完成 getType 方法

??如果返回數(shù)據(jù)是單條數(shù)據(jù):vnd.android.cursor.item?

??如果返回數(shù)據(jù)是多條數(shù)據(jù):vnd.android.cursor.dir

7.6.?監(jiān)聽內(nèi)容提供者數(shù)據(jù)變化

??在內(nèi)容提供者中可以通知其他程序數(shù)據(jù)發(fā)生變化

通過 Context 的 getContentResolver() 方法獲取 ContentResolver

調(diào)用其notifyChange() 方法發(fā)送數(shù)據(jù)修改通知

??在其他程序中可以通過ContentObserver監(jiān)聽數(shù)據(jù)變化

通過 Context 的 getContentResolver() 方法獲取 ContentResolver

調(diào)用其registerContentObserver() 方法指定對某個 Uri 注冊 ContentObserver

自定義ContentObserver,重寫 onChange() 方法獲取數(shù)據(jù)

7.7.?GIT 獲取源代碼

??資源地址

??Git

http://code.google.com/p/msysgit/

??源碼

https://github.com/android

注意:

GIT1.7.7 安裝后不能卸載,可以用其他版本覆蓋后再卸載。

使用 GIT 時不要使用中文目錄,否則 GIT?GUI 會報錯無法啟動。刪除 C 盤中 .gitconfig文件可以解決。

8.?網(wǎng)絡(luò)通信

8.1.?獲取文本數(shù)據(jù)

??通過 URL 對象封裝地址,打開一個 HttpURLConnection

??設(shè)置頭信息之后獲取響應(yīng)碼,如果成功返回 200 即可從 HttpURLConnection 中獲取輸入流讀取數(shù)據(jù)

??代碼過長屏幕顯示不全可以使用 <ScrollView> 進行顯示

??需要訪問網(wǎng)絡(luò)的權(quán)限

< uses-permission? android:name = "android.permission.INTERNET"? />

8.2.?獲取網(wǎng)絡(luò)圖片

??通過 BitmapFactory 的 decodeByteArray(byte[]?data,?int?offset,?int?length)方法將數(shù)據(jù)轉(zhuǎn)換為圖片對象

8.3.?獲取 XML

??使用 URL 封裝路徑,打開一個 HttpURLConnection

??設(shè)置頭信息之后獲取相應(yīng)碼,從輸入流中獲取數(shù)據(jù)

??使用 XmlPullPaser 解析

8.4.?獲取 JSON

??使用 URL 封裝路徑,打開一個 HttpURLConnection

??設(shè)置頭信息之后獲取相應(yīng)碼,從輸入流中獲取數(shù)據(jù)

??將數(shù)據(jù)轉(zhuǎn)為 String ,封裝成 JSONArray 對象

??遍歷 JSONArray 對象,調(diào)用獲取其中的 JSONObject

??再從 JSONObject 中獲取每個字段的信息

8.5.?發(fā)送 GET 請求

??拼接路徑和參數(shù),通過 URL 進行封裝,打開一個 HttpURLConnection ,發(fā)送請求

??如果參數(shù)是中文會出現(xiàn)亂碼

??URL 中包含的中文參數(shù)需要使用 URLEncoder 進行編碼

??服務(wù)器端如果是 TOMCAT ,其默認使用 ISO8859-1 編碼,接收時需要處理編碼問題

8.6.?發(fā)送 POST 請求

??通過 URL 打開一個 HttpURLConnection

??頭信息中除了超時時間和請求方式之外還必須設(shè)置Content-Type和Content-Length

??從 HttpURLConnection 獲得輸出流輸出參數(shù)數(shù)據(jù)

??服務(wù)端可以使用 request 對象的 setCharacterEncoding方法設(shè)置編碼

8.7.?發(fā)送 XML ,訪問 WebService

??發(fā)送 XML

??通過 URL 封裝路徑打開一個 HttpURLConnection

??設(shè)置請求方式,Content-Type和Content-Length

XML 文件的 Content-Type為:text/xml;?charset=UTF-8

??使用 HttpURLConnection 獲取輸出流輸出數(shù)據(jù)

??WebService

??WebService 是發(fā)布在網(wǎng)絡(luò)上的 API ,可以通過發(fā)送 XML 調(diào)用, WebService 返回結(jié)果也是 XML 數(shù)據(jù)

??WebService 沒有語言限制,只要可以發(fā)送 XML 數(shù)據(jù)和接收 XML 數(shù)據(jù)即可

?? http://www.webxml.com.cn ?網(wǎng)站上提供了一些 WebService 服務(wù),我們可以對其進行調(diào)用

?? http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?op=getMobileCodeInfo ?中提供了電話歸屬地查詢的使用說明

8.8.?HTTP 協(xié)議上傳文件

??搭建服務(wù)器,完成上傳功能

??使用瀏覽器上傳,查看請求信息

??HttpURLConnection

??通過 URL 封裝路徑打開一個 HttpURLConnection

??設(shè)置請求方式以及頭字段:Content-Type、Content-Length、Host

??拼接數(shù)據(jù)發(fā)送

??Socket

??使用 HttpURLConnection 發(fā)送時內(nèi)部有緩存機制,如果上傳較大文件會導(dǎo)致內(nèi)存溢出

??我們可以使用 Socket 發(fā)送 TCP 請求,將上傳數(shù)據(jù)分段發(fā)送

??HttpClient

public ? void ?upload(String?name,?String?password,?String?path)? throws ?Exception?{

//? 創(chuàng)建 HttpClient 對象

HttpClient?client?=? new ?HttpClient();

//? 設(shè)置超時事件

client.getHttpConnectionManager().getParams().setConnectionTimeout(5000);

//? 創(chuàng)建一個 Post 請求 ,? 指定路徑

PostMethod?postMethod?=? new ?PostMethod( "http://192.168.1.102:8080/14.Web/LoginServlet" );

//? 封裝每個表單項

Part[]?parts?=?{? new ?StringPart( "name" ,?name),? new ?StringPart( "password" ,?password),? new ?FilePart( "file" ,? new ?File(path))?};

//? Post 請求設(shè)置實體

postMethod.setRequestEntity( new ?MultipartRequestEntity(parts,?postMethod.getParams()));

//? 執(zhí)行 Post 請求

client.executeMethod(postMethod);

//?Post 請求是釋放資源

postMethod.releaseConnection();

}


8.9.?多線程斷點續(xù)傳下載器

??在下載的時候多個線程并發(fā)可以占用服務(wù)器端更多資源,從而加快下載速度

??手機端下載數(shù)據(jù)時難免會出現(xiàn)無信號斷線、電量不足等情況,所以需要斷點續(xù)傳功能

??根據(jù)下載數(shù)據(jù)長度計算每個線程下載的數(shù)據(jù)位置,程序中開啟多個線程并發(fā)下載

在請求頭中設(shè)置 Range 字段就可以獲取指定位置的數(shù)據(jù),例如: Range:?bytes=100-200

??在下載過程中記錄每個線程已拷貝數(shù)據(jù)的數(shù)量,如果下載中斷,下次啟動時從記錄位置繼續(xù)下載

??多線程下載

??進度條使用 <Progress> 進行配置

默認為圓形進度條,水平進度條需要配置 style 屬性, ?android:attr/progressBarStyleHorizontal

使用 android.R.attr. progressBarStyleHorizontal作為樣式

??當(dāng)點擊下載按鈕時開啟多線程下載,下載過程中修改進度條進度

設(shè)置最大刻度:setMax()

設(shè)置當(dāng)前進度:setProgress()

??斷點續(xù)傳

??斷點續(xù)傳需要在下載過程中記錄每條線程的下載進度

??每次下載開始之前先讀取數(shù)據(jù)庫,查詢是否有未完成的記錄,有就繼續(xù)下載,沒有則創(chuàng)建新記錄插入數(shù)據(jù)庫

??在每次向文件中寫入數(shù)據(jù)之后,在數(shù)據(jù)庫中更新下載進度

??下載完成之后刪除數(shù)據(jù)庫中下載記錄

??Handler 傳輸數(shù)據(jù)

??主線程中創(chuàng)建的 View 只能在主線程中修改,其他線程只能通過和主線程通信,在主線程中改變 View 數(shù)據(jù)

??我們使用 Handler 可以處理這種需求

主線程中創(chuàng)建 Handler ,重寫 handleMessage() 方法

新線程中使用 Handler 發(fā)送消息,主線程即可收到消息,并且執(zhí)行 handleMessage() 方法

??動態(tài)生成新 View

??創(chuàng)建 XML 文件,將要生成的 View 配置好

??獲取系統(tǒng)服務(wù) LayoutInflater ,用來生成新的 View

LayoutInflater?inflater?=?(LayoutInflater)?getSystemService( LAYOUT_INFLATER_SERVICE );

??使用inflate( int ?resource,?ViewGroup?root)方法生成新的 View

??調(diào)用當(dāng)前頁面中某個容器的 addView ,將新創(chuàng)建的 View 添加進來

9.?活動( Activity

9.1.?創(chuàng)建 Activity

??定義 Activity

??定義類繼承 Activity

??在 AndroidManifest.xml <application> 節(jié)點中聲明 <activity>

??顯式意圖創(chuàng)建方式

??構(gòu)造函數(shù),代碼少

new ?Intent( this ,?NewActivity. class );

??類名形式,靈活,可擴展性強

intent.setClassName( this ,? "cn.itcast.activity.NewActivity" );

??包名類名形式,可啟動其他程序中的 Activity

intent.setClassName( "cn.itcast.downloader" ,? "cn.itcast.downloader.MainActivity" );

??創(chuàng)建 Activity 并傳遞數(shù)據(jù)

??在意圖對象中封裝了一個 Bundle 對象,可以用來攜帶數(shù)據(jù)

??在新 Activity 中可以獲得意圖對象以獲取其中 Bundle 保存的數(shù)據(jù)

??創(chuàng)建 Activity 獲取返回數(shù)據(jù)

??使用startActivityForResult(Intent?intent,? int ?requestCode)?方法打開 Activity

??重寫onActivityResult( int ?requestCode,? int ?resultCode,?Intent?data)?方法

??新 Activity 中調(diào)用 setResult( int ?resultCode,?Intent?data)?設(shè)置返回數(shù)據(jù)之后,關(guān)閉 Activity 就會調(diào)用 onActivityResult方法

??隱式意圖創(chuàng)建 Activity

??顯式意圖是指在創(chuàng)建意圖時指定了組件,而隱式意圖則不指定組件,通過動作、類型、數(shù)據(jù)匹配對應(yīng)的組件

??在清單文件中定義 <activity> 時需要定義 <intent-filter> 才能被隱式意圖啟動

??<intent-filter> 中至少配置一個 <action> 和一個 <category> ,否則無法被啟動

??Intent 對象中設(shè)置的 action 、 category 、 data <intent-filter> 必須全部包含才能啟動

??<intent-filter> 中的 <action> 、 <category> <data> 都可以配置多個, Intent 對象中不用全部匹配,每樣匹配一個即可啟動

??如果一個意圖可以匹配多個 Activity Android 系統(tǒng)會提示選擇

9.2.?生命周期

??Acitivity 三種狀態(tài)

運行: activity 在最前端運行

暫停: activity 可見,但前端還有其他 acti vity ,被覆蓋一部分,或者前端 activity 透明

停止: activity 不可見,完全被覆蓋

??生命周期相關(guān)方法

onCreate :創(chuàng)建時調(diào)用,或者程序在暫停、停止?fàn)顟B(tài)下被殺死之后重新打開時也會調(diào)用

onStart onCreate 之后或者從停止?fàn)顟B(tài)恢復(fù)時調(diào)用

onResume onStart 之后或者從暫停狀態(tài)恢復(fù)時調(diào)用,從停止?fàn)顟B(tài)恢復(fù)時由于調(diào)用 onStart ,也會調(diào)用 onResume

onPause:進入暫停、停止?fàn)顟B(tài),或者銷毀時會調(diào)用

onStop:進入停止?fàn)顟B(tài),或者銷毀時會調(diào)用

onDestroy:銷毀時調(diào)用

onRestart :從停止?fàn)顟B(tài)恢復(fù)時調(diào)用

??保存信息相關(guān)方法

onSaveInstanceState:在 Activity 被動的摧毀或停止的時候調(diào)用,用于保存運行數(shù)據(jù),可以將數(shù)據(jù)存在在 Bundle

onRestoreInstanceState:該方法在 Activity 被重新繪制的時候調(diào)用,例如改變屏幕方向, savedInstanceState為onSaveInstanceState保存的數(shù)據(jù)

9.3.?啟動模式

??在 AndroidManifest.xml 中的 <activity> 標(biāo)簽中可以配置 android:launchMode 屬性,用來控制 Actvity 的啟動模式

??在 Android 系統(tǒng)中我們創(chuàng)建的 Acitivity 是以棧的形式呈現(xiàn)的

standard :每次調(diào)用 startActivity() 啟動時都會創(chuàng)建一個新的 Activity 放在棧頂

singleTop :如果啟動的 Activity 時,指定 Activity 不在棧頂就創(chuàng)建,如在棧頂,則不再創(chuàng)建

singleTask :如果啟動的 Activity 不存在就創(chuàng)建,如果存在直接跳轉(zhuǎn)到指定的 Activity 所在位置

singleInstance :如果啟動的 Activity 不存在就創(chuàng)建,如果存在就將指定的 Activity 移動到棧頂

9.4.?內(nèi)存管理

??Android 系統(tǒng)在運行多個進程時,如果系統(tǒng)資源不足,會強制結(jié)束一些進程。優(yōu)先選擇哪個進程來結(jié)束是有優(yōu)先級的。以下順序靠上的優(yōu)先結(jié)束

空:進程中所有 Activity 都已銷毀

后臺:進程中有一個停止?fàn)顟B(tài)的 Activity

可見:進程中有一個暫停狀態(tài)的 Activity

前臺:進程中正在運行一個 Activity

10.?廣播接收者 (BroadcastReceiver)

10.1.?定義廣播接收者

??定義類繼承 BroadcastReceiver ,重寫 onReceive 方法

??清單文件中聲明<receiver>,需要在其中配置<intent-filter>指定接收廣播的動作

??當(dāng)接收到匹配廣播之后就會執(zhí)行 onReceive 方法

??BroadcastReceiver 除了在清單文件中聲明,也可以在代碼中聲明,使用 registerReceiver方法注冊 Receiver

10.2.?發(fā)送廣播

??無序廣播

??使用sendBroadcast方法發(fā)送

??被所有廣播接收者接收,無序,不可中斷

??廣播時可設(shè)置接收者權(quán)限,僅當(dāng)接收者含有權(quán)限才能接收

??接收者的<receiver>也可設(shè)置發(fā)送方權(quán)限,只接收含有權(quán)限應(yīng)用的廣播

??有序廣播

??使用sendOrderedBroadcast方法發(fā)送

??接收者可以在<intent-filter>中定義android:priority定義優(yōu)先級,數(shù)字越大優(yōu)先級越高

??被各個廣播接收者逐個接收,中途可以中斷或者添加數(shù)據(jù)

abortBroadcast()??

getResultExtras( true ).putString( "data" ,? " 新增數(shù)據(jù) " );

10.3.?監(jiān)聽短信接收

??Android 系統(tǒng)在收到短信的時候會發(fā)送一條有序廣播,我們?nèi)绻x一個接收者接收這個廣播,就可以得到短信內(nèi)容,也可以攔截短信

??定義廣播接收者接收廣播 android.provider.Telephony.SMS_RECEIVED

??在 onReceive 方法內(nèi)部調(diào)用 Intent getExtras() 再調(diào)用 get(String) 獲取其中 pdus 字段,得到一個 Object[],其中每一個元素都是一個 byte[]

??通過SmsMessage類的createFromPdu方法創(chuàng)建 SmsMessage 對象

??從 SmsMessage 對象中即可獲取發(fā)送者號碼、短信內(nèi)容、發(fā)送時間等信息

??需要接收短信權(quán)限: < uses-permission? android:name ="android.permission.RECEIVE_SMS" />

??Android 系統(tǒng)中收到短信的通知是一個有序通知,我們?nèi)缧钄r截垃圾短信,可以配置較高的 priority,收到信息進行判斷是否abortBroadcast()

10.4.?監(jiān)聽呼出電話

??定義廣播接收者接收? android.intent.action.NEW_OUTGOING_CALL

??需要權(quán)限? < uses-permission? android:name = "android.permission.PROCESS_OUTGOING_CALLS" />

??在 onReceive 方法中使用 getResultData()?和? setResultData()? 方法獲取和設(shè)置電話號碼

10.5.?生命周期

??廣播接收者的生命周期是非常短暫的,在接收到廣播的時候創(chuàng)建, onReceive() 方法結(jié)束之后銷毀

??廣播接收者中不要做一些耗時的工作,否則會彈出 Application?No?Response 錯誤對話框

??最好也不要在廣播接收者中創(chuàng)建子線程做耗時的工作,因為廣播接收者被銷毀后進程就成為了空進程,很容易被系統(tǒng)殺掉

??耗時的較長的工作最好放在服務(wù)中完成

11.?服務(wù) (Service)

11.1.?基本概念

??Service 是一種在后臺運行,沒有界面的組件,由其他組件調(diào)用開始。

??創(chuàng)建 Service ,定義類繼承 Service AndroidManifest.xml 中定義 <service>

??開啟 Service ,在其他組件中調(diào)用 startService方法

??停止 Service ,調(diào)用 stopService方法

11.2.?電話錄音

需要權(quán)限: android.permission.READ_PHONE_STATE

TelephonyManager?manager?=?(TelephonyManager)?getSystemService( TELEPHONY_SERVICE );

manager.listen( new ?MyListener(),?PhoneStateListener. LISTEN_CALL_STATE );

private ? final ? class ?MyListener? extends ?PhoneStateListener?{

private ?String? num ;

private ?MediaRecorder? recorder ;

public ? void ?onCallStateChanged( int ?state,?String?incomingNumber)?{

switch ?(state)?{

case ?TelephonyManager. CALL_STATE_RINGING :

num ?=?incomingNumber;

break ;

case ?TelephonyManager. CALL_STATE_OFFHOOK :

try ?{

File? file ?=? new ?File(Environment.getExternalStorageDirectory(),? num ?+? "_" ?+?System.currentTimeMillis()?+? ".3gp" );

recorder ?=? new ?MediaRecorder();

recorder .setAudioSource(AudioSource. MIC );

recorder .setOutputFormat(OutputFormat. THREE_GPP );

recorder .setAudioEncoder(AudioEncoder. AMR_NB );

recorder .setOutputFile( file .getAbsolutePath());

recorder .prepare();

recorder .start();

}? catch ?(Exception?e)?{

e.printStackTrace();

}

break ;

case ?TelephonyManager. CALL_STATE_IDLE :

if ?( recorder ?!=? null )?{

recorder .stop();

recorder .release();

}

break ;

}

}

}

11.3.?綁定本地服務(wù)

??使用bindService綁定服務(wù),傳入一個自定義的ServiceConnection用來接收 IBinder

??定義一個業(yè)務(wù)接口,其中定義需要的使用的方法

??服務(wù)中自定義一個 IBinder 繼承 Binder 并實現(xiàn)業(yè)務(wù)接口,在 onBind方法中返回

??調(diào)用端將 IBinder 轉(zhuǎn)為接口類型,調(diào)用接口中的方法即可調(diào)用到服務(wù)中的方法

11.4.?綁定遠程服務(wù)

??遠程綁定服務(wù)時無法通過同一個接口來調(diào)用方法,這時就需要使用 AIDL 技術(shù)

??將接口擴展名改為“.aidl”

??去掉權(quán)限修飾符

??gen 文件夾下會生成同名接口

??將服務(wù)中自定義的 IBinder 類改為繼承接口中的 S tub

??ServiceConnection中返回的 IBinder 是代理對象,不能使用強轉(zhuǎn),改用 S tub.asInterface()

11.5.?AIDL 使用自定義類型

??AIDL 默認只能使用 Java 中基本數(shù)據(jù)類型和 String 、 List 、 Map List Map 中的元素類型也只能是這些類型。

??如果需要使用其他類型數(shù)據(jù),使用的類必須實現(xiàn) Parcelable 接口以完成序列化和反序列化工作

重寫?public?void?writeToParcel(Parcel?dest,?int?flags)

定義?public?static?final?Parcelable.Creator<Person>? CREATOR

??定義該類對應(yīng)的 AIDL

package? 包名

parcelable? 類名

??在接口 AIDL 中導(dǎo)入該類,注意:即使是同一個包也需要導(dǎo)入

12.?多媒體

12.1.?音頻播放器

12.2.?視頻播放器

screenSV .getHolder().setType(SurfaceHolder. SURFACE_TYPE_PUSH_BUFFERS );? //? 設(shè)置緩沖區(qū)數(shù)據(jù)

screenSV .getHolder().setKeepScreenOn( true );? //? 設(shè)置屏幕保持

screenSV .getHolder().addCallback( new ?MyCallback());? //? 設(shè)置回調(diào)函數(shù)

player .reset();

player .setDisplay( screenSV .getHolder()); //? 設(shè)置顯式

player .setDataSource( "/mnt/sdcard/1.mp4" ); //? 設(shè)置數(shù)據(jù)源

player .prepare(); //? 準(zhǔn)備

player .seekTo(position); //? 跳轉(zhuǎn)到指定位置

player .start();

12.3.?拍照

??需要權(quán)限

< uses-permission? android:name = "android.permission.CAMERA"? />

??打開攝像頭

Camera.open()

SDK2.3 之后支持前置攝像頭, open 方法可以接收一個 int 參數(shù),用來指定哪個攝像頭

??設(shè)置預(yù)覽顯示位置

setPreviewDisplay(SurfaceHolder?holder)

注意 SurfaceView 不在前端顯示的時候會被銷毀,恢復(fù)之后會重繪

??開始預(yù)覽?

startPreview()

將攝像頭拍攝畫面顯示在 SurfaceView 中,在此之前可對攝像頭進行參數(shù)配置

getParameters()?方法可以獲取攝像頭的相關(guān)參數(shù)Parameters,調(diào)用其內(nèi)部方法即可進行配置

??自動對焦

autoFocus(AutoFocusCallback?cb)

自動對焦是一個異步操作,如果我們向等待自動對焦結(jié)束之后才開始拍照,需要傳入一個回調(diào)對象,在其回調(diào)函數(shù)中調(diào)用拍照方法

??拍照?

takePicture(ShutterCallback?shutter,?PictureCallback?raw,?PictureCallback?jpeg)

拍照也是異步操作,需要通過回調(diào)函數(shù)來得到拍照之后的數(shù)據(jù)

注意拍照之后攝像頭不回自動回到預(yù)覽狀態(tài),需要重寫調(diào)用startPreview()方法

12.4.?錄像

??需要權(quán)限

< uses-permission? android:name = "android.permission.RECORD_AUDIO" />

< uses-permission? android:name = "android.permission.CAMERA" />

??創(chuàng)建MediaRecorder

new ?MediaRecorder()

??設(shè)置音頻輸入源

setAudioSource( int ?audio_source)

??設(shè)置視頻輸入源

setVideoSource( int ?video_source)

??設(shè)置輸出格式

setOutputFormat( int ?output_format)

??設(shè)置音頻編碼器

setAudioEncoder( int ?audio_encoder)

??設(shè)置視頻編碼器

setVideoEncoder( int ?video_encoder)

??設(shè)置預(yù)覽顯示位置

setPreviewDisplay(Surface?sv)

??設(shè)置輸出文件

setOutputFile(String?path)

??準(zhǔn)備錄制

prepare()

??開始錄制

start()

開始錄制之前需要結(jié)束攝像頭的預(yù)覽

??結(jié)束錄制釋放資源

stop()

release()

13.?通知

13.1.?吐司通知

??創(chuàng)建通知

Toast.makeText(Context?context,?CharSequence?text,? int ?duration)

Toast.makeText(Context?context,? int ?resId,? int ?duration)

??發(fā)送通知

show()

13.2.?狀態(tài)欄通知

??獲取系統(tǒng)通知服務(wù)?

NotificationManager?nm?=?(NotificationManager)?getSystemService( NOTIFICATION_SERVICE )

??創(chuàng)建通知

通過構(gòu)造函數(shù)創(chuàng)建 :? Notification( int ?icon,?CharSequence?tickerText,? long ?when)

icon:? 通知的圖片資源 ID

tickerText:? 狀態(tài)欄中顯示的消息內(nèi)容

when:? 時間

??創(chuàng)建PendingIntent以供點擊時發(fā)送

PendingIntent.getActivity(Context?context,? int ?requestCode,?Intent?intent,? int ?flags)

context:? 當(dāng)前上下文

requestCode:? 請求碼

intent:? 點擊時要發(fā)送的意圖

flags:? 類型 ,? PendingIntent中提供了常量選擇

??設(shè)置通知點擊事件

調(diào)用Notification?對象方法 :? setLatestEventInfo(Context?context,?CharSequence?contentTitle,?CharSequence?contentText,?PendingIntent?contentIntent)

context:? 當(dāng)前上下文

contentTitle:? 標(biāo)題

contentText:?內(nèi)容

contentIntent:? 點擊時觸發(fā)的意圖

??設(shè)置通知點擊后清除

設(shè)置Notification?對象屬性?n. flags ?=?Notification. FLAG_AUTO_CANCEL ;

??發(fā)送消息

調(diào)用Notification對象方法 :? notify( int ?id,?Notification?notification)

13.3.?對話框通知

??普通對話框

new ?AlertDialog.Builder( this )? //

.setTitle( " 普通對話框 " )? //

.setMessage( " 普通內(nèi)容 " )? //

.setCancelable( false )? //

.setPositiveButton( "YES" ,?listener)? // ? listener?為 OnClickListener? 監(jiān)聽器對象 ,? 監(jiān)聽按鈕被選中

.setNeutralButton( "CANCEL" ,?listener)? //

.setNegativeButton( "NO" ,?listener)? //

.show();

??列表對話框

new ?AlertDialog.Builder( this )? //

.setTitle( " 列表對話框 " )? //

.setCancelable( false )? //

.setItems( items ,?listener)? // ? listener?為 OnClickListener? 監(jiān)聽器對象 ,? 監(jiān)聽列表項被選中

.show();

??單選對話框

new ?AlertDialog.Builder( this )? //

.setTitle( " 單選對話框 " )? //

.setCancelable( false )? //

.setSingleChoiceItems( items ,?0,?choiceLinstener)? // ? 0,? 為默認選中索引 ,? choiceLinstener?為? OnClickListener? 監(jiān)聽器對象 ,? 監(jiān)聽單選按鈕被選中

.setPositiveButton( " 確定 " ,?positiveLinstener)? // ? positiveLinstener?為? OnClickListener? 監(jiān)聽器對象 ,? 監(jiān)聽確定按鈕點擊

.show();

??多選對話框

new ?AlertDialog.Builder( this )? //

.setTitle( " 多選對話框 " )? //

.setCancelable( false )? //

.setMultiChoiceItems( items ,?checkedArr,?choiceListener)? // ? checkedArr?為默認選中 ,? choiceListener?為? OnMultiChoiceClickListener? 監(jiān)聽器對象 ,? 監(jiān)聽多選按鈕被選中

.setPositiveButton( " 確定 " ,?positiveLinstener)? // ? positiveLinstener?為? OnClickListener? 監(jiān)聽器對象 ,? 監(jiān)聽確定按鈕點擊

.show();

??進度對話框

ProgressDialog?dialog?=? new ?ProgressDialog( this );

dialog.setProgressStyle(ProgressDialog. STYLE_HORIZONTAL ); //?設(shè)置進度條樣式

dialog.setTitle( " 下載中 " );

dialog.setMessage( " 請稍候 ..." );

dialog.setCancelable( false );

dialog.setMax(100);

dialog.show();

dialog.setProgress(10); //? 設(shè)置進度

dialog.dismiss(); //? 對話框結(jié)束

關(guān)于通知的文檔位置: android-sdk-windows/docs/guide/topics/ui/notifiers/index.html

14.?常用 UI

14.1.?列表視圖 (ListView)

??XML 配置

??在主界面中配置 <ListView> 標(biāo)簽

??在 res/layout/ 文件夾下創(chuàng)建一個新的 xml 文件指定每個條目的布局

??Java 代碼構(gòu)建 ListView

??獲取 ListView 對象

??設(shè)置一個 Adapter

BaseAdapter :實現(xiàn)內(nèi)部抽象方法

SimpleAdapter:以 List<Map<String,??>> 形式封裝數(shù)據(jù)

SimpleCursorAdapter:以 Cursor 對象封裝數(shù)據(jù), Cursor 中需要有“ _id ”一列

??添加 OnItemClickListener

調(diào)用 ListView 的 getItemAtPosition(int) 方法可以獲取封裝數(shù)據(jù)的容器

如果傳入的是 BaseAdapter ,獲取到的就是我們自定義方法中返回的內(nèi)容

如果傳入的是SimpleAdapter,獲取到的就是一個 Map<String,??>

如果傳入的是SimpleCursorAdapter,獲得到的就是一個 Cursor ,并且 Cursor 以指向選中的一條記錄

14.2.?單選 (RadioGroup)

??定義 <RadioGroup>

??在 <RadioGroup> 中定義 <RadioButton> <Button>

??處理 Button 的點擊事件

??根據(jù) ID 獲取 RadioGroup 對象,調(diào)用其 getCheckedRadioButtonId()方法可以獲取其中被選中的RadioGroup ID

??代碼

< RadioGroup

???? android:id = "@+id/lessonsRG"

???? android:layout_width = "fill_parent"

???? android:layout_height = "wrap_content"

???? android:orientation = "horizontal" ? >

???? < RadioButton

???????? android:id = "@+id/javaRB"

???????? android:layout_width = "fill_parent"

???????? android:layout_height = "wrap_content"

???????? android:layout_weight = "1"

???????? android:text = "Java" ? />

???? < RadioButton

???????? android:id = "@+id/netRB"

???????? android:layout_width = "fill_parent"

???????? android:layout_height = "wrap_content"

???????? android:layout_weight = "1"

???????? android:text = ".Net" ? />

???? < RadioButton

???????? android:id = "@+id/phpRB"

???????? android:layout_width = "fill_parent"

???????? android:layout_height = "wrap_content"

???????? android:layout_weight = "1"

???????? android:text = "PHP" ? />

???? < Button

???????? android:layout_width = "fill_parent"

???????? android:layout_height = "wrap_content"

???????? android:layout_weight = "1"

???????? android:onClick = " onR radioClick"

???????? android:text = " 確定 " ? />

</ RadioGroup >

public ? void ?onRradioClick(View?view)?{

RadioGroup?lessonRG?=?(RadioGroup)?findViewById(R.id. lesson s RG );

int ?id?=?lessonRG.getCheckedRadioButtonId();? //? 獲取選中的 id

String?msg?=? null ;

switch ?(id)?{

case ?R.id. javaRB :

msg?=? "Java" ;

break ;

case ?R.id. netRB :

msg?=? ".Net" ;

break ;

case ?R.id. phpRB :

msg?=? "PHP" ;

break ;

}

Toast.makeText( this ,?msg,?0).show();

}

14.3.?多選 (CheckBox)

??定義若干 <CheckBox> 和一個 <Button>

??處理 Button 的點擊事件

??根據(jù) ID 獲取每個 CheckBox ,調(diào)用其 isChecked()方法判斷是否被選中

??代碼

< LinearLayout

???? android:layout_width = "fill_parent"

???? android:layout_height = "wrap_content" ? >

???? < CheckBox

???????? android:id = "@+id/javaCB"

???????? android:layout_width = "fill_parent"

???????? android:layout_height = "wrap_content"

???????? android:layout_weight = "1"

???????? android:text = "Java" ? />

???? < CheckBox

???????? android:id = "@+id/netCB"

???????? android:layout_width = "fill_parent"

???????? android:layout_height = "wrap_content"

???????? android:layout_weight = "1"

???????? android:text = ".Net" ? />

???? < CheckBox

???????? android:id = "@+id/phpCB"

???????? android:layout_width = "fill_parent"

???????? android:layout_height = "wrap_content"

???????? android:layout_weight = "1"

???????? android:text = "PHP" ? />

???? < Button

???????? android:layout_width = "fill_parent"

???????? android:layout_height = "wrap_content"

???????? android:layout_weight = "1"

???????? android:onClick = "checkboxOnClick"

???????? android:text = " 確定 " ? />

</ LinearLayout >

public ? void ?checkboxOnClick(View?view)?{

CheckBox?javaCB?=?(CheckBox)?findViewById(R.id. javaCB );

CheckBox?netCB?=?(CheckBox)?findViewById(R.id. netCB );

CheckBox?phpCB?=?(CheckBox)?findViewById(R.id. phpCB );

StringBuilder?sb?=? new ?StringBuilder();

sb.append(javaCB.isChecked()???javaCB.getText()?+? "?" ?:? "" );

sb.append(netCB.isChecked()???netCB.getText()?+? "?" ?:? "" );

sb.append(phpCB.isChecked()???phpCB.getText()?+? "?" ?:? "" );

Toast.makeText( this ,?sb,?0).show();

}

14.4.?下拉列表 ( Spinner )

??定義 <Spinner> 標(biāo)簽

??創(chuàng)建一個適配器

??獲取 Spinner 標(biāo)簽,調(diào)用 setAdapter(SpinnerAdapter?adapter)方法設(shè)置一個適配器

??調(diào)用setOnItemSelectedListener(OnItemSelectedListener?listener)方法設(shè)置監(jiān)聽器監(jiān)聽選中事件

??XML 配置

< Spinner

???? android:id = "@+id/spinner"

???? android:layout_width = "fill_parent"

???? android:layout_height = "wrap_content" ? />

??使用字符串構(gòu)建適配器

private ? void ?setSpinnerByString()?{

final ?Spinner?spinner?=?(Spinner)?findViewById(R.id. spinner );

ArrayAdapter<String>?adapter?=? new ?ArrayAdapter<String>( this ,?android.R.layout. simple_spinner_item );? // ? 設(shè)置樣式

adapter.setDropDownViewResource(android.R.layout. simple_spinner_dropdown_item ); //? 設(shè)置下拉后樣式

adapter.add( "Java" );

adapter.add( ".Net" );

adapter.add( "PHP" );

spinner.setAdapter(adapter);

spinner.setOnItemSelectedListener( new ?OnItemSelectedListener()?{

public ? void ?onItemSelected(AdapterView<?>?parent,?View?view,? int ?position,? long ?id)?{

String?selection?=?(String)?spinner.getItemAtPosition(position);

Toast.makeText(getApplicationContext(),?selection,?0).show();

}

public ? void ?onNothingSelected(AdapterView<?>?parent)?{

}

});

}

??使用 JavaBean 構(gòu)建適配器

private ? void ?setSpinnerByJavaBean()?{

final ?Spinner?spinner?=?(Spinner)?findViewById(R.id. spinner );

ArrayAdapter<User>?adapter?=? new ?ArrayAdapter<User>( this ,?android.R.layout. simple_spinner_item );

adapter.setDropDownViewResource(android.R.layout. simple_spinner_dropdown_item );

adapter.add( new ?User(1,? "lhm" ,? "lhm@itcast.cn" ));

adapter.add( new ?User(2,? "yzk" ,? "yzk@itcast.cn" ));

adapter.add( new ?User(3,? "hsp" ,? "hsp@itcast.cn" ));

spinner .setAdapter(adapter);

spinner .setOnItemSelectedListener( new ?OnItemSelectedListener()?{

public ? void ?onItemSelected(AdapterView<?>?parent,?View?view,? int ?position,? long ?id)?{

User?selection?=?(User)? spinner .getItemAtPosition(position);

Toast.makeText(getApplicationContext(),?selection.getName(),?0).show();

}

public ? void ?onNothingSelected(AdapterView<?>?parent)?{

}

});

}

??使用資源文件構(gòu)建適配器

< string-array ? name = "items" >

???? < item > Java </ item >

???? < item > .Net </ item >

???? < item > PHP </ item >

</ string-array >

private ? void ?setSpinnerByResource()?{

final ?Spinner?spinner?=?(Spinner)?findViewById(R.id. spinner );

ArrayAdapter<CharSequence>?adapter?=?ArrayAdapter.createFromResource( this ,?R.array. items ,?android.R.layout. simple_spinner_item );

adapter.setDropDownViewResource(android.R.layout. simple_spinner_dropdown_item );

spinner .setAdapter(adapter);

spinner .setOnItemSelectedListener( new ?OnItemSelectedListener()?{

public ? void ?onItemSelected(AdapterView<?>?parent,?View?view,? int ?position,? long ?id)?{

CharSequence?selection?=?(CharSequence)? spinner .getItemAtPosition(position);

Toast.makeText(getApplicationContext(),?selection,?0).show();

}

public ? void ?onNothingSelected(AdapterView<?>?parent)?{

}

});

}

??自定義適配器樣式

<? xml ? version = "1.0" ? encoding = "utf-8" ?>

< LinearLayout ? xmlns:android = "http://schemas.android.com/apk/res/android"

???? android:layout_width = "match_parent"

???? android:layout_height = "match_parent"

???? android:orientation = "horizontal" ? >

???? < ImageView

???????? android:layout_width = "50dp"

???????? android:layout_height = "50dp"

???????? android:src = "@android:drawable/ic_delete" ? />

???? < TextView

???????? android:id = "@+id/content"

???????? android:layout_width = "fill_parent"

???????? android:layout_height = "wrap_content"

???????? android:textSize = "50sp" ? />

</ LinearLayout >

private ? void ?setSpinnerByCustom()?{

final ?Spinner?spinner?=?(Spinner)?findViewById(R.id. spinner );

ArrayAdapter<CharSequence>?adapter?=? new ?ArrayAdapter<CharSequence>( this ,?R.layout. item ,?R.id. content );

adapter.add( "Java" );

adapter.add( ".Net" );

adapter.add( "PHP" );

spinner .setAdapter(adapter);

spinner .setOnItemSelectedListener( new ?OnItemSelectedListener()?{

public ? void ?onItemSelected(AdapterView<?>?parent,?View?view,? int ?position,? long ?id)?{

String?selection?=?(String)? spinner .getItemAtPosition(position);

Toast.makeText(getApplicationContext(),?selection,?0).show();

}

public ? void ?onNothingSelected(AdapterView<?>?parent)?{

}

});

}

14.5.?菜單 (Menu)

??添加菜單項

??重寫 Actvity 的 onCreateOptionsMenu(Menu?menu)方法

??添加菜單項

調(diào)用方法中參數(shù) menu 的 add(CharSequence?title)?方法

??添加子菜單

調(diào)用 menu 對象的 addSubMenu( final ?CharSequence?title)

該方法返回一個SubMenu對象

??添加子菜單的菜單項

調(diào)用SubMenu對象的add(CharSequence?title)?方法

??處理菜單點擊事件

??重寫 Activity 的 onOptionsItemSelected(MenuItem?item)?方法

參數(shù) item 即為被選中的菜單項

??代碼

public ? boolean ?onCreateOptionsMenu(Menu?menu)?{

menu.add( " 增加 " );

menu.add( " 修改 " );

menu.add( " 刪除 " );

SubMenu?subMenu?=?menu.addSubMenu( " 查詢 " );

subMenu.add( " 按照序號查詢 " );

subMenu.add( " 按照姓名查詢 " );

subMenu.add( " 按照郵箱查詢 " );

return ? super .onCreateOptionsMenu(menu);

}

public ? boolean ?onOptionsItemSelected(MenuItem?item)?{

Toast.makeText( this ,?item.getTitle(),?0).show();

return ? super .onOptionsItemSelected(item);

}

14.6.?內(nèi)容提示文本框 ( AutoCompleteTextView)

??單次提示

??代碼

< AutoCompleteTextView

???? android:id = "@+id/actv"

???? android:layout_width = "fill_parent"

???? android:layout_height = "wrap_content"

???? android:completionThreshold = "1" ? />

private ? void ?setAutoCompleteTextView()?{

AutoCompleteTextView?actv?=?(AutoCompleteTextView)?findViewById(R.id. actv );

String[]?items?=?{? "tom" ,? "tony" ,? "terry" ,? " 張孝祥 " ,? " 張海軍 " ,? " 張澤華 " ?};

ArrayAdapter<String>?adapter?=? new ?ArrayAdapter<String>( this ,?android.R.layout. simple_dropdown_item_1line ,?items);

actv.setAdapter(adapter);

}

??多次提示

??代碼

< MultiAutoCompleteTextView

???? android:id = "@+id/mactv"

???? android:layout_width = "fill_parent"

???? android:layout_height = "wrap_content"

android:completionThreshold = "1" ? />

private ? void ?setMultiAutoCompleteTextView()?{

MultiAutoCompleteTextView?mactv?=?(MultiAutoCompleteTextView)?findViewById(R.id. mactv );

String[]?items?=?{? "tom" ,? "tony" ,? "terry" ,? " 張孝祥 " ,? " 張海軍 " ,? " 張澤華 " ?};

ArrayAdapter<String>?adapter?=? new ?ArrayAdapter<String>( this ,?android.R.layout. simple_dropdown_item_1line ,?items);

mactv.setAdapter(adapter);

mactv.setTokenizer( new ?MultiAutoCompleteTextView.CommaTokenizer());

}

14.7.?手勢識別 ( GestureOverlayView)

??創(chuàng)建手勢庫

??導(dǎo)入 SDK 中的工程

android-sdk-windows\samples\android-8\GestureBuilder

這個工程不能直接導(dǎo)入,需要添加三個配置文件:.classpath、.project、default.properties

??將工程部署到手機中,創(chuàng)建手勢庫

手勢庫會存儲在手機 SD 卡的根目錄,文件名為: gestures

??代碼

將gestures放入 res/raw 文件夾下

< android.gesture.GestureOverlayView

???? android:id = "@+id/gov"

???? android:layout_width = "fill_parent"

???? android:layout_height = "fill_parent"

android:gestureStrokeType = "multiple" ? />

GestureOverlayView?gov?=?(GestureOverlayView)?findViewById(R.id. gov );

final ?GestureLibrary?library?=?GestureLibraries.fromRawResource( this ,?R.raw. gestures );

library.load();

gov.addOnGesturePerformedListener( new ?OnGesturePerformedListener()?{

public ? void ?onGesturePerformed(GestureOverlayView?overlay,?Gesture?gesture)?{

ArrayList<Prediction>?list?=?library.recognize(gesture);

for ?(Prediction?p?:?list)

System. out .println(p. name ?+? ":?" ?+?p. score );

}

});

14.8.?網(wǎng)頁視圖 (WebView)

??代碼

< WebView

???? android:id = "@+id/webView"

???? android:layout_width = "fill_parent"

???? android:layout_height = "fill_parent" ? />

WebView?webView?=?(WebView)?findViewById(R.id. webView );

webView.getSettings().setBuiltInZoomControls( true ); //? 放大縮小按鈕

webView.getSettings().setJavaScriptEnabled( true ); //?JS 允許?

webView.setWebChromeClient( new ?WebChromeClient()); //?Chrome 內(nèi)核

webView.loadUrl( "http://192.168.1.10 0 :8080" );

15.?樣式與主題

15.1.?樣式

??定義樣式

??設(shè)置樣式,在 values 文件夾下的任意文件中的 <resources>中配置 <style> 標(biāo)簽

< style? name = " style 1" >

< item? name = "android:layout_width" > fill_parent </ item >

< item? name = "android:layout_height" > wrap_content </ item >

</ style >

??繼承樣式,在 <style> 標(biāo)簽中配置屬性 parent

< style? name = " style2 "? parent = "@style/ style 1" >

< item? name = "android:textColor" > #FF0000 </ item >

</ style >

??繼承樣式,在 name 中引用其他樣式

< style? name = " style 2. style 3" >

< item? name = "android:textSize" > 30sp </ item >

</ style >

??使用樣式

??在 layout 文件的標(biāo)簽中配置 style 屬性

< Button??

style = "@style/ style2.style3 "

???? android:text = " 這是 一個按鈕 "

/>

15.2.?主題

??定義過的樣式也可以應(yīng)用在 <activity> <application> 標(biāo)簽中,使用 theme屬性盡心配置

< style? name = "theme" >

< item? name = "android:windowNoTitle" > true </ item >

< item? name = "android:windowFullscreen" > ?android:windowNoTitle </ item >

</ style >

< activity? android:name = ".MainActivity"

?????????????????? android:label = "@string/app_name"

?????????????????? android:theme = "@style/theme"

>

???? 表示引用其他屬性的值

??@? 表示訪問資源文件

??如果使用 android 內(nèi)置的樣式, IDE 自動提示的“ _ ”要替換成“ .

16.?國際化與屏幕適配

16.1.?國際化

??在 values drawable 文件夾后加上語言以及地區(qū)名,程序中需要國際化的部分使用資源 ID

values-en-rUK

values-en-rUS

values-zh-rCN

values-zh-rTW

??匹配規(guī)則

在匹配資源時先會找語言、地區(qū)完全匹配的

如果沒有地區(qū)匹配的,則查找語言匹配的

如果沒有語言匹配的則找默認 values

16.2.?屏幕適配

??在 layout 文件夾后加上分辨率,系統(tǒng)會根據(jù)屏幕尺寸自動選擇

注意分辨率中的乘號是“ x ”不是“ *

??如果沒有匹配的分辨率會找默認 layout 文件夾

17.?動畫特效

17.1.?Frame

??通過多個畫面連續(xù)播放實現(xiàn)動畫效果

??詳見文檔?android-sdk-windows/docs/guide/topics/resources/animation-resource.html

17.2.?Tween

??將某個組件以漸變的方式實現(xiàn)透明、縮放、移動、旋轉(zhuǎn)等動畫效果

??詳見文檔?android-sdk-windows/docs/guide/topics/resources/animation-resource.html

17.3.?使用動畫切換 Activity

??在 startActivity() 方法調(diào)用之后調(diào)用 overridePendingTransition( int ?enterAnim,? int ?exitAnim)方法

enterAnim?進入的動畫資源 id

exitAnim?退出的動畫 資源 id

17.4.?使用動畫翻頁

??XML 配置

< ViewFlipper

android:id = "@+id/viewFlipper"

android:layout_width = "fill_parent"

android:layout_height = "fill_parent"

>

??? < ImageView

???? android:layout_width = "wrap_content"

???? android:layout_height = "wrap_content"

??? android:src = "@drawable/bb2"

??? />

??? < ImageView

???? android:layout_width = "wrap_content"

???? android:layout_height = "wrap_content"

??? android:src = "@drawable/bb3"

??? />

</ ViewFlipper >

??Java 代碼

public ? boolean ?onTouchEvent(MotionEvent?event)?{

ViewFlipper?viewFlipper?=?(ViewFlipper)?findViewById(R.id. viewFlipper );

switch ?(event.getAction())?{

case ?MotionEvent. ACTION_DOWN :

start ?=?event.getX();

break ;

case ?MotionEvent. ACTION_UP :

float ?end?=?event.getX();

if ?(end?>? start )?{

viewFlipper .setInAnimation( this ,?R.anim. previous_enter );

viewFlipper .setOutAnimation( this ,?R.anim. previous_exit );

viewFlipper .showPrevious();

}? else ? if ?(end?<? start )?{

viewFlipper .setInAnimation( this ,?R.anim. next_enter );

viewFlipper .setOutAnimation( this ,?R.anim. next_exit );

viewFlipper .showNext();

}

break ;

}

return ? super .onTouchEvent(event);

}

18.?其他

18.1.?傳感器

??傳感器參數(shù)

??傳感器類型

方向 Sensor. TYPE_ORIENTATION

加速 Sensor. TYPE_ACCELEROMETER

光線 Sensor. TYPE_LIGHT

磁場 Sensor. TYPE_MAGNETIC_FIELD

距離 Sensor. TYPE_PROXIMITY

溫度 Sensor. TYPE_TEMPERATURE

??傳感器反應(yīng)速度

SensorManager. SENSOR_DELAY_FASTEST

SensorManager. SENSOR_DELAY_GAME

SensorManager. SENSOR_DELAY_UI

SensorManager. SENSOR_DELAY_NORMAL

??使用方向傳感器

??獲得傳感器管理器

SensorManager?manager?=?(SensorManager)?getSystemService( SENSOR_SERVICE );

??獲得方向傳感器

Sensor?sensor?=?manager.getDefaultSensor(Sensor. TYPE_ORIENTATION );

??注冊監(jiān)聽器

manager .registerListener( listener ,? sensor ,?SensorManager. SENSOR_DELAY_NORMAL );

??監(jiān)聽器

private ? final ? class ?MySensorEventListener? implements ?SensorEventListener?{

public ? void ?onSensorChanged(SensorEvent?event)?{

System. out .println(event. values [0]);

}

public ? void ?onAccuracyChanged(Sensor?sensor,? int ?accuracy)?{

}

}

??取消監(jiān)聽器

manager .unregisterListener( listener ,? sensor );

18.2.?觸摸事件

??拖拽

??XML 配置

< ImageView

???? android:id = "@+id/image"

???? android:layout_width = "wrap_content"

???? android:layout_height = "wrap_content"

???? android:scaleType = "matrix"

???? android:src = "@drawable/image" ? />

??Java代碼

ImageView?imageView?=?(ImageView)?findViewById(R.id. image );

imageView.setOnTouchListener( new ?MyOnTouchListener());

private ? class ?MyOnTouchListener? implements ?OnTouchListener?{

private ? float ? x ;

private ? float ? y ;

private ?Matrix? currentMatrix ?=? new ?Matrix(); //? 用來操作圖片的矩陣

private ?Matrix? oldMatrix ?=? new ?Matrix();

public ? boolean ?onTouch(View?v,?MotionEvent?event)?{

switch ?(event.getAction())?{

case ?MotionEvent. ACTION_DOWN :? //? 按下時

x ?=?event.getX();? //? 獲取 x 軸坐標(biāo)

y ?=?event.getY(); //? 獲取 y 軸坐標(biāo)

oldMatrix .set( imageView .getImageMatrix()); //? 記住位置

break ;

case ?MotionEvent. ACTION_MOVE :? //? 移動時

currentMatrix .set( oldMatrix );? //? 設(shè)置成按下時記住的位置

currentMatrix .postTranslate(event.getX()?-? x ,?event.getY()?-? y ); //? 改變位置

break ;

}

imageView .setImageMatrix( currentMatrix ); //? 移動圖片

return ? true ;

}

}

??多點觸摸

private ? class ?MyOnTouchListener? implements ?OnTouchListener?{

private ? float ? x ; //? 圖片移動前的 x 軸坐標(biāo)

private ? float ? y ; //? 圖片移動前的 y 軸坐標(biāo)

private ?Matrix? currentMatrix ?=? new ?Matrix();? //? 用來移動圖片的矩陣

private ?Matrix? oldMatrix ?=? new ?Matrix(); //? 圖片移動前的矩陣

private ? int ? type ; //? 操作類型 ,? 一根手指觸摸還是兩根手指觸摸

private ? float ? start ; //? 第二根手指按下時的距離

private ? float ? end ; //? 兩根手指移動后的距離

private ?PointF? point ; //? 放大時的中心點

public ? boolean ?onTouch(View?v,?MotionEvent?event)?{

switch ?(event.getAction()?&?MotionEvent. ACTION_MASK )?{

case ?MotionEvent. ACTION_DOWN :

type ?=?1;

x ?=?event.getX();

y ?=?event.getY();

oldMatrix .set( imageView .getImageMatrix());

break ;

case ?MotionEvent. ACTION_MOVE :

currentMatrix .set( oldMatrix );

if ?( type ?==?1)?{? //?1 根手指觸摸

currentMatrix .postTranslate(event.getX()?-? x ,?event.getY()?-? y );

}? else ?{? //?2 跟手指觸摸

end ?=?countDistance(event);? //? 計算結(jié)束時距離

float ?scale?=? end ?/? start ;? //? 計算縮放比例

currentMatrix .postScale(scale,?scale,? point . x ,? point . y );? //? 設(shè)置縮放

}

break ;

case ?MotionEvent. ACTION_POINTER_DOWN :

type ?=?2;

start ?=?countDistance(event);? //? 計算開始時距離

point ?=?countPoint(event);? //? 計算中心點

oldMatrix .set( imageView .getImageMatrix());

break ;

}

imageView .setImageMatrix( currentMatrix );? //? 改變圖片

return ? true ;

}

}

public ? float ?countDistance(MotionEvent?event)?{

float ?a?=?event.getX(1)?-?event.getX(0);? //?x 軸距離

float ?b?=?event.getY(1)?-?event.getY(0);? //?y 軸距離

return ?( float )?Math.sqrt(a?*?a?+?b?*?b);? //? 勾股定理

}

public ?PointF?countPoint(MotionEvent?event)?{

float ?x?=?(event.getX(0)?+?event.getX(1))?/?2;? //?x 軸中間點

float ?y?=?(event.getY(0)?+?event.getY(1))?/?2;? //?y 軸中間點

return ? new ?PointF(x,?y);

}

18.3.?讀取 SIM

??電話號碼、運營商信息

??需要權(quán)限

< uses-permission? android:name = "android.permission.READ_PHONE_STATE"? />

< uses-permission? android:name = "android.permission.ACCESS_COARSE_LOCATION"? />

??Java 代碼

TelephonyManager?manager?=?(TelephonyManager)?getContext().getSystemService(Context. TELEPHONY_SERVICE );

System. out .println( " 電話號碼 :?" ?+?manager.getLine1Number());

System. out .println( " 運營商編號 :?" ?+?manager.getNetworkOperator());

System. out .println( " 運營商名字 :?" ?+?manager.getNetworkOperatorName());

??聯(lián)系人

??需要權(quán)限

< uses-permission? android:name = "android.permission.READ_ CONTACTS "? />

< uses-permission? android:name = "android.permission. WRITE _ CONTACTS "? />

??Java 代碼

Uri?uri?=?Uri.parse( "content://icc/adn" );

Cursor?c?=?getContentResolver().query(uri,? null ,? null ,? null ,? null );

while ?(c.moveToNext())

System. out .println(c.getString(c.getColumnIndex( "name" ))?+? ":?" ?+?c.getString(c.getColumnIndex( "number" )));

??通話記錄

??需要權(quán)限

< uses-permission? android:name = "android.permission.READ_ CONTACTS "? />

< uses-permission? android:name = "android.permission. WRITE _ CONTACTS "? />

??Java 代碼

Uri?uri?=?CallLog.Calls. CONTENT_URI ;

Cursor?c?=?getContentResolver().query(uri,? null ,? null ,? null ,? null );

while ?(c.moveToNext())

System. out .println(c.getString(c.getColumnIndex( "number" ))?+? ":?" ?+?c.getString(c.getColumnIndex( "type" )));

??源代碼

ContactsProvider\src\com\android\providers\contacts\?CallLogProvider.java

18.4.?安裝程序

??需要權(quán)限

< uses-permission? android:name = "android.permission. INSTALL_PACKAGES "? />

??Java 代碼

File?file?=? new ?File(Environment.getExternalStorageDirectory(),? " test .apk" );

Intent?intent?=? new ?Intent();

intent.setAction(Intent. ACTION_VIEW );

intent.setDataAndType(Uri.fromFile(file),? "application/vnd.android.package-archive" );

startActivity(intent);

18.5.?關(guān)閉程序

??殺死當(dāng)前進程

Process.killProcess(Process.myPid());

??退出虛擬機

System.exit(0);

??根據(jù)包名關(guān)閉后臺進程

ActivityManager?manager?=?(ActivityManager)?getSystemService( ACTIVITY_SERVICE );

manager.restartPackage( "cn.itcast.test" );

< uses-permission? android:name = "android.permission.RESTART_PACKAGES"? />

18.6.?使用 HTML 構(gòu)建界面

??HTML

<! DOCTYPE ? html ? PUBLIC ? "-//W3C//DTD?HTML?4.01?Transitional//EN" ? "http://www.w3.org/TR/html4/loose.dtd" >

< html >

< head >

< meta ? http-equiv = "Content-Type" ? content = "text/html;?charset=UTF-8" >

< title > Insert?title?here </ title >

< script ? type = "text/javascript" >

function ?show(jsondata)?{

var ?jsonobjs?=?eval(jsondata);

var ?table?=?document.getElementById( "personTable" );

for ?(? var ?y?=?0;?y? < ?jsonobjs.length;?y++)?{

var ?tr?=?table.insertRow(table.rows.length);

var ?td1?=?tr.insertCell(0);

var ?td2?=?tr.insertCell(1);

td2.align?=? "center" ;

var ?td3?=?tr.insertCell(2);

td3.align?=? "center" ;

td1.innerHTML?=?jsonobjs[y].name;

td2.innerHTML?=?jsonobjs[y].amount;

td3.innerHTML?=? "<a?href='javascript:contact.call(\"" ?+?jsonobjs[y].phone?+? "\")'>" ?+?jsonobjs[y].phone?+? "</a>" ;

}

}

</ script >

</ head >

< body ? onload = "javascript:contact.show C ontacts()" >

< table ? border = "0" ? width = "100%" ? id = "personTable" ? cellspacing = "0" >

< tr >

< td ? width = "30%" > 姓名 </ td >

< td ? width = "30%" ? align = "center" > 存款 </ td >

< td ? align = "center" > 電話 </ td >

</ tr >

</ table >

</ body >

</ html >

??XML 代碼

< WebView

???????? android:id = "@+id/webView"

???????? android:layout_width = "fill_parent"

???????? android:layout_height = "fill_parent" ? />

??Java 代碼

public ? class ?MainActivity? extends ?Activity?{

private ?WebView? webView ;

public ? void ?onCreate(Bundle?savedInstanceState)?{

super .onCreate(savedInstanceState);

setContentView(R.layout. main );

webView ?=?(WebView)?findViewById(R.id. webView );

webView .getSettings().setJavaScriptEnabled( true );

webView .loadUrl( "file:///android_asset/index.html" );

webView .addJavascriptInterface( new ?Contact(),? "contact" );

}

private ? final ? class ?Contact?{

public ? void ?showContacts()?{

String?json?=? "[{\"name\":\"zxx\",?\"amount\":\"99999\",?\"phone\":\"18600012345\"}]" ;

webView .loadUrl( "javascript:show('" ?+?json?+? "')" );

}

public ? void ?call(String?phone)?{

startActivity( new ?Intent(Intent. ACTION_CALL ,?Uri.parse( "tel:" ?+?phone)));

}

}

}

18.7.?apk 文件反編譯

??使用解壓縮工具打開 apk 文件,找到其中 dex 文件

??創(chuàng)建 Java 工程,導(dǎo)入 dex2jar中的所有 jar 文件

??創(chuàng)建運行環(huán)境運行其中pxb.android.dex2jar.v3.Main?類,?指定 dex 文件地址,會在同目錄下生成 jar 文件

?

?

轉(zhuǎn)載于:https://www.cnblogs.com/xxr2015/p/7462579.html

總結(jié)

以上是生活随笔為你收集整理的Android基础知识精简版(转)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

久在线观看福利视频 | 国产三级精品三级男人的天堂 | 国产精品第一区揄拍无码 | 精品久久久久久人妻无码中文字幕 | 午夜成人1000部免费视频 | 欧美丰满少妇xxxx性 | 国产超级va在线观看视频 | 国产97在线 | 亚洲 | 18禁止看的免费污网站 | 国产97色在线 | 免 | 内射白嫩少妇超碰 | 国内精品九九久久久精品 | 亚洲人成无码网www | 水蜜桃色314在线观看 | 久激情内射婷内射蜜桃人妖 | 日欧一片内射va在线影院 | 国产精品无码久久av | 亚洲啪av永久无码精品放毛片 | 色噜噜亚洲男人的天堂 | 亚洲七七久久桃花影院 | 国内少妇偷人精品视频免费 | 精品国精品国产自在久国产87 | 美女黄网站人色视频免费国产 | 无码av免费一区二区三区试看 | 曰韩少妇内射免费播放 | 久久精品国产99久久6动漫 | 国产内射爽爽大片视频社区在线 | 人人妻人人澡人人爽人人精品 | 亚洲一区av无码专区在线观看 | 久久久精品欧美一区二区免费 | 午夜无码人妻av大片色欲 | 色窝窝无码一区二区三区色欲 | 男女爱爱好爽视频免费看 | 久久综合狠狠综合久久综合88 | 成人av无码一区二区三区 | 中文字幕乱码人妻二区三区 | 欧美肥老太牲交大战 | 亚洲日韩av片在线观看 | 亚洲色无码一区二区三区 | 亚洲精品国产精品乱码不卡 | 无码一区二区三区在线观看 | 97资源共享在线视频 | 性色欲情网站iwww九文堂 | 无码av最新清无码专区吞精 | 中文字幕人妻无码一夲道 | 国产精品人妻一区二区三区四 | 久久伊人色av天堂九九小黄鸭 | 国产三级久久久精品麻豆三级 | 国产后入清纯学生妹 | 国产明星裸体无码xxxx视频 | 在线精品亚洲一区二区 | 国产精品免费大片 | 国产午夜福利亚洲第一 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 国精产品一区二区三区 | 国产两女互慰高潮视频在线观看 | 久久亚洲中文字幕无码 | 国内揄拍国内精品少妇国语 | 人人澡人人透人人爽 | 中文字幕乱码亚洲无线三区 | 曰本女人与公拘交酡免费视频 | 久久久久久av无码免费看大片 | 97精品人妻一区二区三区香蕉 | 国产尤物精品视频 | 久久精品女人天堂av免费观看 | 日本精品人妻无码免费大全 | 国产成人一区二区三区在线观看 | 性色av无码免费一区二区三区 | 国产无遮挡又黄又爽免费视频 | 特级做a爰片毛片免费69 | 国产人妻人伦精品1国产丝袜 | 国产色xx群视频射精 | 人妻体内射精一区二区三四 | 国产在线一区二区三区四区五区 | 未满成年国产在线观看 | 成人欧美一区二区三区黑人免费 | 日日麻批免费40分钟无码 | 国产精品第一国产精品 | 无套内谢老熟女 | 狠狠色丁香久久婷婷综合五月 | 久久成人a毛片免费观看网站 | 精品亚洲成av人在线观看 | 国内精品九九久久久精品 | 国产做国产爱免费视频 | 少女韩国电视剧在线观看完整 | 午夜福利一区二区三区在线观看 | 精品人妻人人做人人爽 | 欧洲熟妇精品视频 | 亚洲色无码一区二区三区 | 999久久久国产精品消防器材 | 樱花草在线播放免费中文 | 国产精品人人爽人人做我的可爱 | 国产精品手机免费 | 鲁大师影院在线观看 | 无码纯肉视频在线观看 | 亚洲国产欧美国产综合一区 | 国产特级毛片aaaaaa高潮流水 | 国产av一区二区三区最新精品 | 精品亚洲成av人在线观看 | 性欧美videos高清精品 | 久久国产劲爆∧v内射 | 蜜臀av在线播放 久久综合激激的五月天 | 天天躁日日躁狠狠躁免费麻豆 | 99riav国产精品视频 | 青青青爽视频在线观看 | 天下第一社区视频www日本 | 大地资源网第二页免费观看 | 伊人色综合久久天天小片 | 久激情内射婷内射蜜桃人妖 | 国产无遮挡又黄又爽免费视频 | 一本久久a久久精品vr综合 | 夜夜躁日日躁狠狠久久av | 日产精品高潮呻吟av久久 | 国产精品久久久久7777 | 亚洲人成人无码网www国产 | 日韩人妻系列无码专区 | 精品偷拍一区二区三区在线看 | 国产成人无码一二三区视频 | 少妇太爽了在线观看 | 亚洲乱码国产乱码精品精 | 精品一区二区三区无码免费视频 | 最新国产乱人伦偷精品免费网站 | 国产欧美熟妇另类久久久 | 秋霞成人午夜鲁丝一区二区三区 | 对白脏话肉麻粗话av | 乱码午夜-极国产极内射 | 东京一本一道一二三区 | 国产av一区二区三区最新精品 | 亚洲欧美精品伊人久久 | 国产激情无码一区二区app | 两性色午夜免费视频 | 无码人妻精品一区二区三区下载 | av在线亚洲欧洲日产一区二区 | 嫩b人妻精品一区二区三区 | 97久久精品无码一区二区 | 大肉大捧一进一出视频出来呀 | 久久精品国产99久久6动漫 | 99riav国产精品视频 | 午夜熟女插插xx免费视频 | 亚洲大尺度无码无码专区 | 帮老师解开蕾丝奶罩吸乳网站 | 十八禁真人啪啪免费网站 | 乱人伦人妻中文字幕无码 | 亚洲男人av天堂午夜在 | 一本无码人妻在中文字幕免费 | 人妻与老人中文字幕 | 亚洲va欧美va天堂v国产综合 | 国产亚洲精品久久久久久大师 | 人妻熟女一区 | 国产明星裸体无码xxxx视频 | 欧洲精品码一区二区三区免费看 | 成人精品视频一区二区三区尤物 | 精品欧美一区二区三区久久久 | 成年美女黄网站色大免费全看 | 精品久久久久久人妻无码中文字幕 | 亚洲熟妇色xxxxx欧美老妇y | 最近的中文字幕在线看视频 | 亚洲中文字幕av在天堂 | 少妇性l交大片 | 国产莉萝无码av在线播放 | 午夜精品久久久久久久 | 扒开双腿疯狂进出爽爽爽视频 | 熟妇人妻激情偷爽文 | 国产一区二区三区影院 | 色综合天天综合狠狠爱 | 欧美性黑人极品hd | 国产超级va在线观看视频 | 天干天干啦夜天干天2017 | 国产av一区二区精品久久凹凸 | 真人与拘做受免费视频一 | 无码午夜成人1000部免费视频 | 未满成年国产在线观看 | 亚洲国产日韩a在线播放 | 亚洲小说春色综合另类 | www国产精品内射老师 | 午夜男女很黄的视频 | 久久精品国产日本波多野结衣 | 亚洲国产精品久久久久久 | 牲交欧美兽交欧美 | 亚洲中文字幕无码中字 | 国产特级毛片aaaaaaa高清 | 成年美女黄网站色大免费视频 | 无码一区二区三区在线观看 | 狠狠色噜噜狠狠狠7777奇米 | 国产在线aaa片一区二区99 | 色婷婷欧美在线播放内射 | 人妻人人添人妻人人爱 | 日本精品人妻无码免费大全 | 青青草原综合久久大伊人精品 | 精品国产乱码久久久久乱码 | 国产人妻大战黑人第1集 | 色一情一乱一伦一视频免费看 | 国产午夜亚洲精品不卡 | 久在线观看福利视频 | 久久综合九色综合97网 | 成人欧美一区二区三区黑人 | 午夜福利不卡在线视频 | 亚洲七七久久桃花影院 | 东京热男人av天堂 | 伊人久久大香线蕉亚洲 | 丁香啪啪综合成人亚洲 | 午夜无码人妻av大片色欲 | 牛和人交xxxx欧美 | 欧美人与物videos另类 | 国产精品高潮呻吟av久久4虎 | 天天躁日日躁狠狠躁免费麻豆 | 国产卡一卡二卡三 | 俄罗斯老熟妇色xxxx | 国产另类ts人妖一区二区 | 久青草影院在线观看国产 | 欧洲欧美人成视频在线 | 久久综合给合久久狠狠狠97色 | 亚洲人交乣女bbw | 亚洲成熟女人毛毛耸耸多 | 日韩少妇白浆无码系列 | 色综合久久久无码网中文 | 无码国产乱人伦偷精品视频 | 国产亚洲欧美在线专区 | 精品国产精品久久一区免费式 | 国产乡下妇女做爰 | 亚洲日韩中文字幕在线播放 | 久久久无码中文字幕久... | 国产激情精品一区二区三区 | 欧美第一黄网免费网站 | 国产9 9在线 | 中文 | 国产人妻精品一区二区三区不卡 | 亚洲 另类 在线 欧美 制服 | 国产成人精品久久亚洲高清不卡 | 色综合久久久无码网中文 | 在线亚洲高清揄拍自拍一品区 | 成人免费视频视频在线观看 免费 | 亚洲国产精品无码久久久久高潮 | 狠狠cao日日穞夜夜穞av | 国产av久久久久精东av | 亚洲一区二区三区 | 亚洲成av人片在线观看无码不卡 | 久久久精品欧美一区二区免费 | 欧美放荡的少妇 | 18无码粉嫩小泬无套在线观看 | 亚洲日韩av一区二区三区四区 | 无码人妻少妇伦在线电影 | 久久国产劲爆∧v内射 | 狠狠cao日日穞夜夜穞av | 精品久久久久香蕉网 | 老熟女乱子伦 | 亚洲一区av无码专区在线观看 | 亚洲区小说区激情区图片区 | 欧美兽交xxxx×视频 | 国产精品亚洲lv粉色 | 麻豆人妻少妇精品无码专区 | 国产激情精品一区二区三区 | 国产农村妇女aaaaa视频 撕开奶罩揉吮奶头视频 | 欧美xxxxx精品 | 88国产精品欧美一区二区三区 | 欧美大屁股xxxxhd黑色 | 色狠狠av一区二区三区 | 强开小婷嫩苞又嫩又紧视频 | 少妇太爽了在线观看 | 色一情一乱一伦一区二区三欧美 | 亚洲精品综合一区二区三区在线 | 欧美色就是色 | 久久久精品456亚洲影院 | 久久久久99精品国产片 | 国产精品久久久久9999小说 | 一区二区传媒有限公司 | 丁香啪啪综合成人亚洲 | 亚洲一区二区三区含羞草 | 中文字幕乱码人妻无码久久 | 国产精品人人妻人人爽 | 亚洲色欲久久久综合网东京热 | 黑人粗大猛烈进出高潮视频 | 国产av无码专区亚洲awww | 久久亚洲a片com人成 | 中文字幕av伊人av无码av | 婷婷五月综合缴情在线视频 | 无套内谢老熟女 | 又大又硬又黄的免费视频 | 亚洲国产精品一区二区美利坚 | 麻豆精产国品 | 日日摸夜夜摸狠狠摸婷婷 | 欧美人与牲动交xxxx | 青青久在线视频免费观看 | 国产性生交xxxxx无码 | 极品嫩模高潮叫床 | 好屌草这里只有精品 | 在线欧美精品一区二区三区 | 欧美成人高清在线播放 | 国产另类ts人妖一区二区 | 欧美日韩视频无码一区二区三 | 狂野欧美性猛xxxx乱大交 | 国产精品久久久午夜夜伦鲁鲁 | 国产成人精品无码播放 | 99久久精品无码一区二区毛片 | 日韩视频 中文字幕 视频一区 | 亚洲中文字幕成人无码 | 亚洲小说春色综合另类 | 真人与拘做受免费视频一 | 无码中文字幕色专区 | 超碰97人人射妻 | 精品国偷自产在线 | 强伦人妻一区二区三区视频18 | 亚洲精品午夜无码电影网 | 欧美丰满熟妇xxxx性ppx人交 | 最新国产麻豆aⅴ精品无码 | 无码午夜成人1000部免费视频 | 亚洲综合无码一区二区三区 | 7777奇米四色成人眼影 | 久9re热视频这里只有精品 | 精品久久综合1区2区3区激情 | 久久精品女人天堂av免费观看 | 人人妻人人澡人人爽精品欧美 | 日本丰满护士爆乳xxxx | 婷婷色婷婷开心五月四房播播 | 欧美日韩一区二区三区自拍 | 中文字幕乱码人妻二区三区 | 国产成人无码a区在线观看视频app | 一本久道久久综合婷婷五月 | 在线播放免费人成毛片乱码 | 中文字幕乱码人妻二区三区 | 精品国精品国产自在久国产87 | 久久午夜无码鲁丝片午夜精品 | 国产亚洲欧美在线专区 | 午夜精品一区二区三区在线观看 | 老太婆性杂交欧美肥老太 | 亚洲啪av永久无码精品放毛片 | 成人欧美一区二区三区 | 婷婷综合久久中文字幕蜜桃三电影 | 兔费看少妇性l交大片免费 | 女人被男人躁得好爽免费视频 | 亚洲gv猛男gv无码男同 | 久久zyz资源站无码中文动漫 | 久久熟妇人妻午夜寂寞影院 | 国产香蕉97碰碰久久人人 | 亚洲精品成人av在线 | 国产亚洲精品久久久久久久久动漫 | 亚洲色欲色欲欲www在线 | 国产婷婷色一区二区三区在线 | 久久99精品国产麻豆蜜芽 | 国产av一区二区精品久久凹凸 | 色欲综合久久中文字幕网 | 亚洲综合久久一区二区 | 高清国产亚洲精品自在久久 | 亚洲va中文字幕无码久久不卡 | 少妇人妻大乳在线视频 | 自拍偷自拍亚洲精品被多人伦好爽 | 内射白嫩少妇超碰 | 国产日产欧产精品精品app | 无码人中文字幕 | 午夜福利一区二区三区在线观看 | 在线看片无码永久免费视频 | 国产精品无码久久av | 免费乱码人妻系列无码专区 | 捆绑白丝粉色jk震动捧喷白浆 | 久久久久久av无码免费看大片 | 国产成人无码a区在线观看视频app | 老熟女重囗味hdxx69 | 国产色精品久久人妻 | 无码毛片视频一区二区本码 | 久久婷婷五月综合色国产香蕉 | 色一情一乱一伦一区二区三欧美 | 人人妻人人澡人人爽人人精品 | 欧美人与物videos另类 | 国产精品自产拍在线观看 | 红桃av一区二区三区在线无码av | 老子影院午夜伦不卡 | 国产亚洲精品久久久久久大师 | 亚洲欧美精品aaaaaa片 | 红桃av一区二区三区在线无码av | 荫蒂被男人添的好舒服爽免费视频 | 给我免费的视频在线观看 | 久久亚洲中文字幕无码 | 日日噜噜噜噜夜夜爽亚洲精品 | 国产精品高潮呻吟av久久 | 国产午夜精品一区二区三区嫩草 | www国产亚洲精品久久久日本 | 永久免费观看美女裸体的网站 | 亚洲人成网站色7799 | 无码一区二区三区在线 | 日日躁夜夜躁狠狠躁 | 亚洲精品一区二区三区四区五区 | 人妻无码αv中文字幕久久琪琪布 | 18无码粉嫩小泬无套在线观看 | 亚洲欧美日韩成人高清在线一区 | 在线观看欧美一区二区三区 | 无码精品人妻一区二区三区av | 久久精品视频在线看15 | 噜噜噜亚洲色成人网站 | 亚洲成av人综合在线观看 | 国产卡一卡二卡三 | 老熟妇仑乱视频一区二区 | 精品无人区无码乱码毛片国产 | 色一情一乱一伦一区二区三欧美 | 性色av无码免费一区二区三区 | 久久成人a毛片免费观看网站 | 欧美日韩一区二区免费视频 | 中文字幕av日韩精品一区二区 | 亚洲人成网站在线播放942 | 国产黑色丝袜在线播放 | 日本精品高清一区二区 | 精品亚洲成av人在线观看 | 无遮挡国产高潮视频免费观看 | 中文字幕色婷婷在线视频 | 性色欲情网站iwww九文堂 | 啦啦啦www在线观看免费视频 | 人妻互换免费中文字幕 | 日本护士毛茸茸高潮 | 国精产品一区二区三区 | 丰满少妇女裸体bbw | 装睡被陌生人摸出水好爽 | 国产精品亚洲а∨无码播放麻豆 | 欧美亚洲日韩国产人成在线播放 | 国产乱人偷精品人妻a片 | 性开放的女人aaa片 | 久久久久免费精品国产 | 欧美人与动性行为视频 | 成人欧美一区二区三区黑人免费 | 免费观看黄网站 | 色一情一乱一伦一区二区三欧美 | 欧美黑人巨大xxxxx | 国产精品视频免费播放 | 男女性色大片免费网站 | 亚洲欧美日韩综合久久久 | 国产激情艳情在线看视频 | 正在播放东北夫妻内射 | 欧美精品一区二区精品久久 | 女人色极品影院 | 一本一道久久综合久久 | 欧美freesex黑人又粗又大 | 樱花草在线播放免费中文 | 97夜夜澡人人爽人人喊中国片 | 色一情一乱一伦 | 特黄特色大片免费播放器图片 | 精品无码av一区二区三区 | 狠狠色丁香久久婷婷综合五月 | 野狼第一精品社区 | 色综合久久久无码中文字幕 | 一本久道久久综合狠狠爱 | 免费观看激色视频网站 | 国产无遮挡吃胸膜奶免费看 | 亚洲中文字幕成人无码 | 欧美 亚洲 国产 另类 | 国产性生交xxxxx无码 | 丰满妇女强制高潮18xxxx | 内射欧美老妇wbb | 成在人线av无码免观看麻豆 | 国产网红无码精品视频 | 蜜桃无码一区二区三区 | 在线精品国产一区二区三区 | 国内综合精品午夜久久资源 | 少妇性荡欲午夜性开放视频剧场 | 成年美女黄网站色大免费视频 | 九月婷婷人人澡人人添人人爽 | 亚洲成a人片在线观看无码 | 国产人妻精品午夜福利免费 | 亚洲成av人片天堂网无码】 | 荫蒂添的好舒服视频囗交 | 国产精品va在线观看无码 | 午夜精品久久久久久久 | 成在人线av无码免观看麻豆 | 亚洲成av人影院在线观看 | 综合激情五月综合激情五月激情1 | 亚洲性无码av中文字幕 | 色婷婷欧美在线播放内射 | 无码人妻丰满熟妇区五十路百度 | 白嫩日本少妇做爰 | 国产精品第一国产精品 | 在线亚洲高清揄拍自拍一品区 | 久久亚洲精品成人无码 | 无码国内精品人妻少妇 | 亚洲色大成网站www | 欧洲极品少妇 | 色婷婷久久一区二区三区麻豆 | 无码人妻出轨黑人中文字幕 | 久久久久久久人妻无码中文字幕爆 | 亚洲一区二区三区四区 | 久精品国产欧美亚洲色aⅴ大片 | 中文精品无码中文字幕无码专区 | 男人和女人高潮免费网站 | 久久午夜无码鲁丝片 | 999久久久国产精品消防器材 | 玩弄人妻少妇500系列视频 | 内射老妇bbwx0c0ck | 国产无套内射久久久国产 | 精品一二三区久久aaa片 | 国产成人无码a区在线观看视频app | 成人无码影片精品久久久 | 精品无人区无码乱码毛片国产 | 国色天香社区在线视频 | 国产无遮挡又黄又爽免费视频 | 欧美丰满老熟妇xxxxx性 | 日日橹狠狠爱欧美视频 | 国产人妻大战黑人第1集 | 成熟女人特级毛片www免费 | 97色伦图片97综合影院 | 欧美熟妇另类久久久久久不卡 | 亚洲国产欧美日韩精品一区二区三区 | 无码吃奶揉捏奶头高潮视频 | 丰满护士巨好爽好大乳 | 久久97精品久久久久久久不卡 | 中文无码精品a∨在线观看不卡 | 久久国产36精品色熟妇 | 亚洲国产精品一区二区美利坚 | 亚洲人成网站在线播放942 | 久久久久久亚洲精品a片成人 | 日本乱偷人妻中文字幕 | av小次郎收藏 | 秋霞成人午夜鲁丝一区二区三区 | 午夜福利一区二区三区在线观看 | 无码人妻丰满熟妇区毛片18 | 少妇被粗大的猛进出69影院 | 亚洲精品一区二区三区在线 | 97夜夜澡人人双人人人喊 | 亚洲熟悉妇女xxx妇女av | 日韩精品无码一本二本三本色 | 欧美人与禽猛交狂配 | 欧美性生交活xxxxxdddd | 日本www一道久久久免费榴莲 | 国产激情综合五月久久 | 亚洲人成网站在线播放942 | 久久 国产 尿 小便 嘘嘘 | 亚洲日韩中文字幕在线播放 | 熟妇人妻无乱码中文字幕 | 欧美乱妇无乱码大黄a片 | 波多野结衣乳巨码无在线观看 | 国产一区二区三区四区五区加勒比 | 亚洲精品成人福利网站 | 久久亚洲a片com人成 | 乱人伦人妻中文字幕无码久久网 | 亚洲色大成网站www | 日韩少妇内射免费播放 | 欧美日韩视频无码一区二区三 | 久久 国产 尿 小便 嘘嘘 | 男人和女人高潮免费网站 | 人人妻人人澡人人爽精品欧美 | 国产精品内射视频免费 | 人人妻人人澡人人爽欧美一区九九 | 粗大的内捧猛烈进出视频 | 国产精品久久国产精品99 | 精品国产一区av天美传媒 | 四虎国产精品免费久久 | 国产成人午夜福利在线播放 | 色老头在线一区二区三区 | 夫妻免费无码v看片 | 国产精品久久久午夜夜伦鲁鲁 | 夜夜影院未满十八勿进 | 秋霞成人午夜鲁丝一区二区三区 | 亚洲狠狠婷婷综合久久 | 熟女少妇人妻中文字幕 | 四虎国产精品免费久久 | 国产真人无遮挡作爱免费视频 | 久久综合九色综合欧美狠狠 | 亚洲区小说区激情区图片区 | 色偷偷人人澡人人爽人人模 | 超碰97人人射妻 | 国产xxx69麻豆国语对白 | 无码国产乱人伦偷精品视频 | 骚片av蜜桃精品一区 | 久久综合给久久狠狠97色 | 人人妻人人澡人人爽欧美精品 | 欧美成人午夜精品久久久 | 乱人伦人妻中文字幕无码 | 欧美国产日韩亚洲中文 | 国产无遮挡吃胸膜奶免费看 | 丁香啪啪综合成人亚洲 | 女高中生第一次破苞av | 亚洲第一无码av无码专区 | 任你躁国产自任一区二区三区 | ass日本丰满熟妇pics | 两性色午夜视频免费播放 | 日日摸夜夜摸狠狠摸婷婷 | 亚洲综合色区中文字幕 | 天堂а√在线地址中文在线 | 女人和拘做爰正片视频 | 麻豆md0077饥渴少妇 | 丰满妇女强制高潮18xxxx | 亚洲色偷偷男人的天堂 | 中文字幕av无码一区二区三区电影 | 少妇一晚三次一区二区三区 | 精品国偷自产在线 | 丰满岳乱妇在线观看中字无码 | 男女爱爱好爽视频免费看 | 国产精品99爱免费视频 | 中文字幕人妻丝袜二区 | 日本乱人伦片中文三区 | 天天av天天av天天透 | 蜜臀av在线观看 在线欧美精品一区二区三区 | 亚洲一区二区三区无码久久 | 亚洲人成网站色7799 | 婷婷丁香五月天综合东京热 | 全球成人中文在线 | 夜夜影院未满十八勿进 | 久久久久久亚洲精品a片成人 | 欧美人与物videos另类 | 色窝窝无码一区二区三区色欲 | 国精产品一品二品国精品69xx | 成熟妇人a片免费看网站 | 日本熟妇浓毛 | 午夜无码人妻av大片色欲 | 日欧一片内射va在线影院 | 波多野结衣高清一区二区三区 | 欧美性猛交xxxx富婆 | 无码国内精品人妻少妇 | 中文字幕中文有码在线 | 国产精品对白交换视频 | 午夜丰满少妇性开放视频 | 中文字幕无码日韩欧毛 | 性生交大片免费看女人按摩摩 | 99久久精品日本一区二区免费 | 国语自产偷拍精品视频偷 | 精品国产精品久久一区免费式 | 天堂亚洲免费视频 | 精品亚洲成av人在线观看 | 日本一卡二卡不卡视频查询 | 老熟女乱子伦 | 亚洲日本在线电影 | 国产 精品 自在自线 | 亚洲春色在线视频 | 久久久亚洲欧洲日产国码αv | 一本精品99久久精品77 | 色综合久久88色综合天天 | 在线看片无码永久免费视频 | 乱码午夜-极国产极内射 | 国产精品二区一区二区aⅴ污介绍 | 少妇久久久久久人妻无码 | 日韩 欧美 动漫 国产 制服 | 日本一区二区三区免费高清 | 精品无码成人片一区二区98 | 色欲综合久久中文字幕网 | 无套内谢的新婚少妇国语播放 | 中文字幕无码人妻少妇免费 | 亚洲中文字幕成人无码 | 国产在线一区二区三区四区五区 | 97久久精品无码一区二区 | 久久综合给久久狠狠97色 | 国产成人无码av在线影院 | 中文毛片无遮挡高清免费 | 国产真实伦对白全集 | 性欧美疯狂xxxxbbbb | 欧美一区二区三区视频在线观看 | 亚洲欧洲中文日韩av乱码 | 无遮无挡爽爽免费视频 | 亚洲精品鲁一鲁一区二区三区 | 人人妻人人澡人人爽精品欧美 | 欧美阿v高清资源不卡在线播放 | 成人一区二区免费视频 | 亚洲色成人中文字幕网站 | 精品一区二区不卡无码av | 国产一区二区三区日韩精品 | 日日躁夜夜躁狠狠躁 | 精品乱码久久久久久久 | 美女黄网站人色视频免费国产 | 丁香花在线影院观看在线播放 | 国产成人久久精品流白浆 | 99国产欧美久久久精品 | 色老头在线一区二区三区 | 男女下面进入的视频免费午夜 | 波多野结衣aⅴ在线 | 啦啦啦www在线观看免费视频 | 国产精品美女久久久久av爽李琼 | 日韩亚洲欧美精品综合 | 欧美日韩久久久精品a片 | 国产成人精品优优av | 久久久久亚洲精品男人的天堂 | 日韩av无码一区二区三区不卡 | 日韩人妻系列无码专区 | 亚洲无人区午夜福利码高清完整版 | 国产成人无码a区在线观看视频app | 性色欲情网站iwww九文堂 | 狠狠色丁香久久婷婷综合五月 | 久久午夜无码鲁丝片秋霞 | 久久久久国色av免费观看性色 | 撕开奶罩揉吮奶头视频 | 十八禁真人啪啪免费网站 | 亚洲区小说区激情区图片区 | 伊人色综合久久天天小片 | 国产精品无码永久免费888 | 亚洲精品一区国产 | 亚洲区欧美区综合区自拍区 | 天干天干啦夜天干天2017 | 国产9 9在线 | 中文 | 亚洲国产日韩a在线播放 | 内射爽无广熟女亚洲 | 午夜福利试看120秒体验区 | 国内精品人妻无码久久久影院蜜桃 | 国产精品毛多多水多 | 欧洲美熟女乱又伦 | 日本爽爽爽爽爽爽在线观看免 | 国产激情综合五月久久 | 亚洲精品久久久久avwww潮水 | 亚洲国产午夜精品理论片 | 日韩精品乱码av一区二区 | 国产精品久久国产三级国 | 久久久久久久人妻无码中文字幕爆 | 午夜福利电影 | 亚洲精品成a人在线观看 | 18禁黄网站男男禁片免费观看 | 亚洲人亚洲人成电影网站色 | 中文字幕无码日韩专区 | 国产乱人无码伦av在线a | 麻豆人妻少妇精品无码专区 | 国产亚洲人成a在线v网站 | 又大又硬又黄的免费视频 | 亚洲国产欧美国产综合一区 | 一本久道高清无码视频 | 在线亚洲高清揄拍自拍一品区 | 日本在线高清不卡免费播放 | 精品成人av一区二区三区 | 2020久久超碰国产精品最新 | 又粗又大又硬又长又爽 | 亚洲精品午夜国产va久久成人 | 双乳奶水饱满少妇呻吟 | 成人女人看片免费视频放人 | 婷婷六月久久综合丁香 | 国产乱人伦偷精品视频 | 免费观看的无遮挡av | 激情国产av做激情国产爱 | 国产亚洲精品精品国产亚洲综合 | 偷窥村妇洗澡毛毛多 | 蜜桃无码一区二区三区 | 亚洲欧美中文字幕5发布 | 99久久久无码国产精品免费 | 少妇无套内谢久久久久 | 77777熟女视频在线观看 а天堂中文在线官网 | 双乳奶水饱满少妇呻吟 | 久久无码专区国产精品s | 女人高潮内射99精品 | 日韩亚洲欧美中文高清在线 | 久久99久久99精品中文字幕 | 国产色在线 | 国产 | 亚洲人成网站免费播放 | 国产电影无码午夜在线播放 | 日本高清一区免费中文视频 | 久久精品丝袜高跟鞋 | 国产午夜视频在线观看 | 日本大香伊一区二区三区 | 亚洲午夜无码久久 | 澳门永久av免费网站 | 亚洲热妇无码av在线播放 | 极品嫩模高潮叫床 | 欧美真人作爱免费视频 | 午夜精品一区二区三区的区别 | 国产在线无码精品电影网 | 草草网站影院白丝内射 | 日韩精品成人一区二区三区 | 在线播放亚洲第一字幕 | 性欧美大战久久久久久久 | 狠狠噜狠狠狠狠丁香五月 | 日本成熟视频免费视频 | 久久久久亚洲精品中文字幕 | 亚洲の无码国产の无码步美 | 精品国产一区二区三区av 性色 | 久精品国产欧美亚洲色aⅴ大片 | 98国产精品综合一区二区三区 | 99久久99久久免费精品蜜桃 | 久久 国产 尿 小便 嘘嘘 | 国产办公室秘书无码精品99 | 波多野结衣av一区二区全免费观看 | 暴力强奷在线播放无码 | 中文毛片无遮挡高清免费 | 人人澡人人妻人人爽人人蜜桃 | 人人爽人人爽人人片av亚洲 | 亚洲色偷偷男人的天堂 | 人妻少妇精品无码专区动漫 | 国产无av码在线观看 | 欧美日韩色另类综合 | 精品国精品国产自在久国产87 | 草草网站影院白丝内射 | 日本精品久久久久中文字幕 | 东京无码熟妇人妻av在线网址 | 精品国产青草久久久久福利 | 天下第一社区视频www日本 | 无码人妻精品一区二区三区下载 | 亚洲欧美国产精品久久 | 亚洲欧洲中文日韩av乱码 | 人妻少妇精品久久 | 夜夜影院未满十八勿进 | 欧美老妇与禽交 | 欧美精品一区二区精品久久 | 久久精品人人做人人综合试看 | 亚洲精品成a人在线观看 | 人妻尝试又大又粗久久 | 四虎影视成人永久免费观看视频 | 性生交片免费无码看人 | 香蕉久久久久久av成人 | 国产成人综合美国十次 | 伦伦影院午夜理论片 | 国产偷抇久久精品a片69 | 国产精品99久久精品爆乳 | 中文字幕av日韩精品一区二区 | 精品久久久久久亚洲精品 | 欧美国产亚洲日韩在线二区 | 天天躁日日躁狠狠躁免费麻豆 | 亚洲人亚洲人成电影网站色 | 亚洲伊人久久精品影院 | 亚洲中文字幕在线无码一区二区 | 国产 精品 自在自线 | 欧美兽交xxxx×视频 | 欧美日韩视频无码一区二区三 | 对白脏话肉麻粗话av | 精品无码一区二区三区爱欲 | 色一情一乱一伦一区二区三欧美 | 特黄特色大片免费播放器图片 | 国产超级va在线观看视频 | 国产乱人伦av在线无码 | 人人澡人摸人人添 | 亚洲欧美中文字幕5发布 | 中文字幕无码日韩专区 | 久久zyz资源站无码中文动漫 | 激情内射亚州一区二区三区爱妻 | 久久亚洲中文字幕精品一区 | 未满小14洗澡无码视频网站 | 999久久久国产精品消防器材 | 捆绑白丝粉色jk震动捧喷白浆 | 成人性做爰aaa片免费看 | 天天做天天爱天天爽综合网 | 中文字幕av无码一区二区三区电影 | 欧美激情综合亚洲一二区 | 亚洲人亚洲人成电影网站色 | 国产乱人伦偷精品视频 | 成人亚洲精品久久久久 | 国产色视频一区二区三区 | 天堂一区人妻无码 | 国产乱人伦偷精品视频 | 久久精品成人欧美大片 | 久久久中文字幕日本无吗 | 日韩精品成人一区二区三区 | 欧洲精品码一区二区三区免费看 | 国产精品视频免费播放 | 欧美老妇交乱视频在线观看 | 精品无人区无码乱码毛片国产 | 欧美激情一区二区三区成人 | 九月婷婷人人澡人人添人人爽 | 亚洲中文字幕在线无码一区二区 | 精品人妻中文字幕有码在线 | 中文精品久久久久人妻不卡 | 亚洲一区二区三区香蕉 | 中文无码精品a∨在线观看不卡 | 无码乱肉视频免费大全合集 | 人妻夜夜爽天天爽三区 | 一本大道伊人av久久综合 | 亚洲精品一区三区三区在线观看 | 亚洲国精产品一二二线 | 88国产精品欧美一区二区三区 | 99久久久国产精品无码免费 | 特级做a爰片毛片免费69 | 曰本女人与公拘交酡免费视频 | 免费无码一区二区三区蜜桃大 | 无码人妻出轨黑人中文字幕 | 精品成在人线av无码免费看 | 青青青手机频在线观看 | 亚洲综合久久一区二区 | 免费中文字幕日韩欧美 | 国产亚洲精品久久久久久久 | 久久亚洲日韩精品一区二区三区 | 天堂а√在线地址中文在线 | аⅴ资源天堂资源库在线 | 人人妻人人澡人人爽欧美一区 | 亚洲经典千人经典日产 | 天下第一社区视频www日本 | av无码不卡在线观看免费 | 日产国产精品亚洲系列 | 久久久中文久久久无码 | 中文字幕无码av波多野吉衣 | 中文字幕乱码人妻二区三区 | 欧美zoozzooz性欧美 | 日本乱偷人妻中文字幕 | 国产精品久久久久久无码 | 奇米综合四色77777久久 东京无码熟妇人妻av在线网址 | 中文字幕日产无线码一区 | 亚洲自偷自偷在线制服 | 中文字幕日韩精品一区二区三区 | 一本色道久久综合狠狠躁 | 狂野欧美性猛xxxx乱大交 | 青草青草久热国产精品 | 熟妇人妻无乱码中文字幕 | 玩弄少妇高潮ⅹxxxyw | 亚洲人成网站在线播放942 | 99国产精品白浆在线观看免费 | 高清不卡一区二区三区 | 国产精品嫩草久久久久 | 人妻少妇精品久久 | 国产特级毛片aaaaaa高潮流水 | 亚洲 a v无 码免 费 成 人 a v | 欧美兽交xxxx×视频 | 波多野结衣av在线观看 | 中文字幕色婷婷在线视频 | 精品亚洲成av人在线观看 | 荫蒂添的好舒服视频囗交 | 久久久久免费看成人影片 | 国产精品久久久久影院嫩草 | 日本精品久久久久中文字幕 | 成人av无码一区二区三区 | 国产香蕉尹人综合在线观看 | 久久久久成人片免费观看蜜芽 | 日本精品久久久久中文字幕 | 国产精品久久久久久亚洲影视内衣 | 蜜桃视频插满18在线观看 | 天天拍夜夜添久久精品大 | 久久久精品国产sm最大网站 | 天天躁夜夜躁狠狠是什么心态 | 丰满人妻被黑人猛烈进入 | a在线亚洲男人的天堂 | 亚洲一区二区三区四区 | 久青草影院在线观看国产 | 国内精品一区二区三区不卡 | 精品无码一区二区三区的天堂 | 久久五月精品中文字幕 | 无码乱肉视频免费大全合集 | 大胆欧美熟妇xx | 巨爆乳无码视频在线观看 | 欧美阿v高清资源不卡在线播放 | 国产精品久久久久久无码 | 欧洲精品码一区二区三区免费看 | 亚洲中文字幕无码中字 | 丰满少妇高潮惨叫视频 | 午夜精品一区二区三区的区别 | 久久久精品456亚洲影院 | 精品一区二区三区无码免费视频 | 国产免费久久精品国产传媒 | 亚洲伊人久久精品影院 | 国产精品久久久久久无码 | 欧美日韩综合一区二区三区 | 两性色午夜免费视频 | 免费人成在线视频无码 | 久在线观看福利视频 | 装睡被陌生人摸出水好爽 | 黑人巨大精品欧美一区二区 | 玩弄中年熟妇正在播放 | 欧美三级a做爰在线观看 | 人妻aⅴ无码一区二区三区 | 丰满人妻精品国产99aⅴ | 亚洲色大成网站www | 成人免费视频视频在线观看 免费 | 中文字幕日产无线码一区 | 中文久久乱码一区二区 | 日日干夜夜干 | 三级4级全黄60分钟 | 鲁大师影院在线观看 | 精品无码国产自产拍在线观看蜜 | 麻花豆传媒剧国产免费mv在线 | а天堂中文在线官网 | 国产口爆吞精在线视频 | 国产97人人超碰caoprom | 国产欧美精品一区二区三区 | 伊在人天堂亚洲香蕉精品区 | 亚洲综合无码久久精品综合 | 在线а√天堂中文官网 | 四虎国产精品一区二区 | 亚洲国产欧美国产综合一区 | 伊人色综合久久天天小片 | 精品一区二区三区波多野结衣 | 成熟妇人a片免费看网站 | 亚洲国产成人a精品不卡在线 | 日本一卡2卡3卡4卡无卡免费网站 国产一区二区三区影院 | 特级做a爰片毛片免费69 | 岛国片人妻三上悠亚 | 国产一区二区三区四区五区加勒比 | 国产明星裸体无码xxxx视频 | 日本熟妇浓毛 | 国产农村乱对白刺激视频 | 无遮挡国产高潮视频免费观看 | 99精品视频在线观看免费 | aⅴ在线视频男人的天堂 | 亚洲精品欧美二区三区中文字幕 | 欧美成人高清在线播放 | 国产三级久久久精品麻豆三级 | 国产精品亚洲专区无码不卡 | 欧美日本日韩 | 色婷婷久久一区二区三区麻豆 | 亚洲第一无码av无码专区 | 4hu四虎永久在线观看 | 老熟女乱子伦 | 亚洲色欲色欲天天天www | 正在播放东北夫妻内射 | 麻豆果冻传媒2021精品传媒一区下载 | 精品一区二区三区波多野结衣 | 日本一卡2卡3卡四卡精品网站 | 国内精品九九久久久精品 | 黑人巨大精品欧美一区二区 | 欧美国产日韩久久mv | 欧美日本免费一区二区三区 | 亚洲综合在线一区二区三区 | 亚洲欧美精品aaaaaa片 | 日韩精品无码一本二本三本色 | 久久精品人妻少妇一区二区三区 | 欧美丰满少妇xxxx性 | 亚洲另类伦春色综合小说 | 欧美第一黄网免费网站 | 特大黑人娇小亚洲女 | 欧美性生交xxxxx久久久 | 天下第一社区视频www日本 | 嫩b人妻精品一区二区三区 | 伊人久久婷婷五月综合97色 | 精品国产aⅴ无码一区二区 | 亚洲最大成人网站 | 无码av最新清无码专区吞精 | 亚洲精品国产第一综合99久久 | 久久这里只有精品视频9 | 欧美精品免费观看二区 | 香蕉久久久久久av成人 | 波多野结衣aⅴ在线 | 国产精品亚洲综合色区韩国 | 国产午夜福利100集发布 | 99精品视频在线观看免费 | 国产色xx群视频射精 | 夜夜夜高潮夜夜爽夜夜爰爰 | 久久精品人人做人人综合试看 | 久久99久久99精品中文字幕 | 少妇人妻偷人精品无码视频 | 久久亚洲a片com人成 | 全黄性性激高免费视频 | 一本久道久久综合狠狠爱 | 久久伊人色av天堂九九小黄鸭 | 久久人人爽人人爽人人片av高清 | 亚洲精品一区二区三区在线 | 亚洲精品成人福利网站 | 亚洲熟妇色xxxxx欧美老妇 | 人人妻人人澡人人爽人人精品浪潮 | 国产成人无码av在线影院 | 一本色道久久综合亚洲精品不卡 | 一本色道婷婷久久欧美 | 强辱丰满人妻hd中文字幕 | 亚洲日韩中文字幕在线播放 | 久久久婷婷五月亚洲97号色 | 国产激情无码一区二区 | 久久人人爽人人爽人人片av高清 | 国产av无码专区亚洲a∨毛片 | 亚洲色无码一区二区三区 | 亚洲国产一区二区三区在线观看 | 日产精品99久久久久久 | 自拍偷自拍亚洲精品被多人伦好爽 | 国产精华av午夜在线观看 | 鲁鲁鲁爽爽爽在线视频观看 | 秋霞特色aa大片 | 亚洲日韩一区二区三区 | 中文字幕av日韩精品一区二区 | 精品久久久无码人妻字幂 | 中文字幕av无码一区二区三区电影 | 欧美肥老太牲交大战 | 国产人妻人伦精品 | 色婷婷久久一区二区三区麻豆 | 久久久精品国产sm最大网站 | 99久久婷婷国产综合精品青草免费 | 女人高潮内射99精品 | 久久99精品久久久久婷婷 | 狠狠噜狠狠狠狠丁香五月 | 三上悠亚人妻中文字幕在线 | 国内老熟妇对白xxxxhd | 欧美日韩一区二区三区自拍 | 久久久精品欧美一区二区免费 | 无套内谢老熟女 | 午夜精品久久久久久久久 | 日本精品人妻无码77777 天堂一区人妻无码 | 亚洲人成网站在线播放942 | 蜜桃视频插满18在线观看 | 久久久久久久女国产乱让韩 | 牲欲强的熟妇农村老妇女视频 | 亚洲精品www久久久 | 粉嫩少妇内射浓精videos | 日本在线高清不卡免费播放 | 亚洲综合无码久久精品综合 | 午夜福利电影 | 成人欧美一区二区三区黑人 | 欧美日韩人成综合在线播放 | 国产亚洲精品久久久久久 | 国产精品久久久av久久久 | 色婷婷香蕉在线一区二区 | 日韩av无码一区二区三区 | 亚洲精品欧美二区三区中文字幕 | 亚洲日本在线电影 | 精品国偷自产在线视频 | 狠狠色噜噜狠狠狠狠7777米奇 | 中文精品无码中文字幕无码专区 | 国产极品美女高潮无套在线观看 | 久久人人爽人人人人片 | 国产偷抇久久精品a片69 | 99久久99久久免费精品蜜桃 | 亚洲精品成人av在线 | 精品日本一区二区三区在线观看 | 爱做久久久久久 | 玩弄人妻少妇500系列视频 | 天堂无码人妻精品一区二区三区 | 成在人线av无码免费 | 久久久久av无码免费网 | 日本一卡二卡不卡视频查询 | 亚洲一区av无码专区在线观看 | 一区二区三区高清视频一 | 久久精品中文字幕大胸 | 扒开双腿疯狂进出爽爽爽视频 | 麻豆成人精品国产免费 | 人人澡人人妻人人爽人人蜜桃 | 日本一本二本三区免费 | 亚洲国产日韩a在线播放 | 一本大道久久东京热无码av | 国产成人精品优优av | 初尝人妻少妇中文字幕 | 久久亚洲a片com人成 | 亚洲色成人中文字幕网站 | 曰韩少妇内射免费播放 | 国产内射老熟女aaaa | 国产特级毛片aaaaaaa高清 | 波多野结衣av在线观看 | 天天拍夜夜添久久精品大 | av无码电影一区二区三区 | 欧美日韩人成综合在线播放 | 又紧又大又爽精品一区二区 | 无码帝国www无码专区色综合 | 女人高潮内射99精品 | 亚洲无人区午夜福利码高清完整版 | 亚洲色大成网站www国产 | 久久精品无码一区二区三区 | 国产精品无码成人午夜电影 | 免费无码的av片在线观看 | 精品国产一区av天美传媒 | 国产亚洲人成在线播放 | 三级4级全黄60分钟 | 成人免费无码大片a毛片 | 荫蒂被男人添的好舒服爽免费视频 | 六十路熟妇乱子伦 | 国内丰满熟女出轨videos | 狂野欧美性猛交免费视频 | 亚洲精品国产品国语在线观看 | 中文字幕人妻丝袜二区 | 中文字幕人妻丝袜二区 | 亚洲精品国产品国语在线观看 | 老子影院午夜精品无码 | 性欧美疯狂xxxxbbbb | 丁香花在线影院观看在线播放 | 欧美黑人性暴力猛交喷水 | 日日摸夜夜摸狠狠摸婷婷 | 性做久久久久久久免费看 | 国产精品高潮呻吟av久久4虎 | 国产精品久免费的黄网站 | 国产麻豆精品精东影业av网站 | 国产精品嫩草久久久久 | 日韩精品一区二区av在线 | 熟女少妇人妻中文字幕 | 国产一精品一av一免费 | 美女张开腿让人桶 | 欧美日韩在线亚洲综合国产人 | 免费看少妇作爱视频 | 激情爆乳一区二区三区 | 无人区乱码一区二区三区 | 国内精品人妻无码久久久影院 | 99麻豆久久久国产精品免费 | 久久午夜夜伦鲁鲁片无码免费 | 人人爽人人爽人人片av亚洲 | 亚洲s码欧洲m码国产av | 丰满岳乱妇在线观看中字无码 | 亚洲第一无码av无码专区 | 亚洲の无码国产の无码影院 | 无码成人精品区在线观看 | 高清不卡一区二区三区 | 亚洲欧洲日本综合aⅴ在线 | 国产午夜视频在线观看 | 成在人线av无码免观看麻豆 | 少妇人妻av毛片在线看 | 扒开双腿吃奶呻吟做受视频 | 天堂亚洲2017在线观看 | 樱花草在线社区www | 欧美真人作爱免费视频 | 搡女人真爽免费视频大全 | 国产9 9在线 | 中文 | 国产真人无遮挡作爱免费视频 | а√天堂www在线天堂小说 | 欧美成人免费全部网站 | 中文无码精品a∨在线观看不卡 | 午夜福利一区二区三区在线观看 | 日本一区二区三区免费高清 | 一本久久a久久精品vr综合 | 国产成人亚洲综合无码 | 无码帝国www无码专区色综合 | 中文亚洲成a人片在线观看 | 大肉大捧一进一出视频出来呀 | 久久国产精品萌白酱免费 | 久久国产劲爆∧v内射 | 久久久亚洲欧洲日产国码αv | 97色伦图片97综合影院 | 久久久国产一区二区三区 | 亚洲中文无码av永久不收费 | 夜夜高潮次次欢爽av女 | 国产三级久久久精品麻豆三级 | 欧美日本精品一区二区三区 | 成人精品视频一区二区 | 乱中年女人伦av三区 | 亚洲一区二区三区偷拍女厕 | 免费国产成人高清在线观看网站 | 国产精品丝袜黑色高跟鞋 | 无码帝国www无码专区色综合 | 日韩 欧美 动漫 国产 制服 | 亚洲欧美精品aaaaaa片 | 精品aⅴ一区二区三区 | 欧美放荡的少妇 | 领导边摸边吃奶边做爽在线观看 | 亚拍精品一区二区三区探花 | 97无码免费人妻超级碰碰夜夜 | 午夜无码人妻av大片色欲 | 捆绑白丝粉色jk震动捧喷白浆 | 色狠狠av一区二区三区 | 给我免费的视频在线观看 | 日日天干夜夜狠狠爱 | 国产精品爱久久久久久久 | 欧美成人家庭影院 | 内射巨臀欧美在线视频 | 波多野结衣 黑人 | 一区二区传媒有限公司 | 久9re热视频这里只有精品 | 成人精品天堂一区二区三区 | 亚洲va中文字幕无码久久不卡 | 亚拍精品一区二区三区探花 | 成人三级无码视频在线观看 | 精品无码国产自产拍在线观看蜜 | 无码毛片视频一区二区本码 | 无码av中文字幕免费放 | 亚洲爆乳大丰满无码专区 | 99久久精品无码一区二区毛片 | 自拍偷自拍亚洲精品被多人伦好爽 | 日韩欧美群交p片內射中文 | 国产香蕉97碰碰久久人人 | 一个人免费观看的www视频 | 99久久无码一区人妻 | 在线观看国产一区二区三区 | 婷婷综合久久中文字幕蜜桃三电影 | 亚洲日本va午夜在线电影 | 精品一区二区三区波多野结衣 | 天海翼激烈高潮到腰振不止 | 久久久久亚洲精品男人的天堂 | 偷窥日本少妇撒尿chinese | 性生交大片免费看l | 国产精品对白交换视频 | 大色综合色综合网站 | 精品国产一区二区三区四区在线看 | 无码精品人妻一区二区三区av | 在线播放无码字幕亚洲 | 97精品人妻一区二区三区香蕉 | 亚洲の无码国产の无码步美 | 啦啦啦www在线观看免费视频 | 久久久国产精品无码免费专区 | 精品久久久久香蕉网 | 国产成人亚洲综合无码 | 97久久超碰中文字幕 | 荫蒂被男人添的好舒服爽免费视频 | 国产尤物精品视频 | 国精产品一区二区三区 | 日本护士xxxxhd少妇 | 最近免费中文字幕中文高清百度 | 亚洲一区二区三区含羞草 | 97人妻精品一区二区三区 | 日本肉体xxxx裸交 | 久久久久亚洲精品男人的天堂 | 免费国产成人高清在线观看网站 | 国产福利视频一区二区 | 欧美日本精品一区二区三区 | 久久国语露脸国产精品电影 | 丰满人妻一区二区三区免费视频 | 久久99国产综合精品 | 国产午夜无码视频在线观看 | 日本丰满护士爆乳xxxx | 精品一区二区三区无码免费视频 | 人人妻人人澡人人爽人人精品浪潮 | 在线亚洲高清揄拍自拍一品区 | 欧美国产日韩久久mv | 久久久中文字幕日本无吗 | 日日干夜夜干 | 激情内射亚州一区二区三区爱妻 | 日本爽爽爽爽爽爽在线观看免 | 中国女人内谢69xxxx | 少妇激情av一区二区 | 婷婷丁香五月天综合东京热 | 东京一本一道一二三区 | 在线精品亚洲一区二区 | 欧美日韩视频无码一区二区三 | 5858s亚洲色大成网站www | 性生交片免费无码看人 | 久久久精品人妻久久影视 | 真人与拘做受免费视频 | 久久久www成人免费毛片 | 午夜福利不卡在线视频 | 中文无码精品a∨在线观看不卡 | 免费播放一区二区三区 | 女人色极品影院 | 中文字幕久久久久人妻 | 熟女少妇人妻中文字幕 | 熟妇激情内射com | 久久久久se色偷偷亚洲精品av | 亚洲 高清 成人 动漫 | 亚洲日韩精品欧美一区二区 | 国产午夜福利100集发布 | 丰满妇女强制高潮18xxxx | 天干天干啦夜天干天2017 | 成人精品一区二区三区中文字幕 | 性史性农村dvd毛片 | 一个人看的www免费视频在线观看 | 久久国产精品偷任你爽任你 | 麻豆成人精品国产免费 | 欧美高清在线精品一区 | 99精品久久毛片a片 | 99久久久无码国产精品免费 | 高清不卡一区二区三区 | 熟妇人妻无码xxx视频 | 亚洲日本一区二区三区在线 | 无码国内精品人妻少妇 | 国产麻豆精品一区二区三区v视界 | 宝宝好涨水快流出来免费视频 | 天天做天天爱天天爽综合网 | 国产成人无码av片在线观看不卡 | 婷婷五月综合缴情在线视频 | 激情内射日本一区二区三区 | 玩弄人妻少妇500系列视频 | 一个人看的www免费视频在线观看 | 曰韩少妇内射免费播放 | 少妇性俱乐部纵欲狂欢电影 | 亚洲欧美色中文字幕在线 | 免费男性肉肉影院 | 亚洲午夜福利在线观看 | 午夜时刻免费入口 | 97精品国产97久久久久久免费 | 亚洲一区av无码专区在线观看 | 奇米影视7777久久精品人人爽 | 老熟女重囗味hdxx69 | 蜜桃视频韩日免费播放 | 午夜精品久久久久久久 | 亚洲日本va午夜在线电影 | 亚洲の无码国产の无码影院 | 未满小14洗澡无码视频网站 | 成人精品视频一区二区三区尤物 | 激情内射亚州一区二区三区爱妻 | 成人欧美一区二区三区 | 国产精品人人妻人人爽 | 国产另类ts人妖一区二区 | 成 人影片 免费观看 | 无遮挡啪啪摇乳动态图 | 国产精品人人爽人人做我的可爱 | 少妇被粗大的猛进出69影院 | 夜夜夜高潮夜夜爽夜夜爰爰 | 成人性做爰aaa片免费看不忠 | 精品国产一区二区三区av 性色 | 精品成在人线av无码免费看 | 中文精品无码中文字幕无码专区 | 国产精品久久久久久无码 | 无码乱肉视频免费大全合集 | 欧美日本免费一区二区三区 | 蜜桃视频韩日免费播放 | 中文字幕人妻无码一夲道 | 久久这里只有精品视频9 | 麻豆av传媒蜜桃天美传媒 | 国产亚av手机在线观看 | 国产亚洲精品久久久ai换 | 东京无码熟妇人妻av在线网址 | 亚洲精品www久久久 | 老司机亚洲精品影院 | 久久精品国产99久久6动漫 | 国内少妇偷人精品视频 | 伊人久久大香线蕉午夜 | 特级做a爰片毛片免费69 | 国产精品毛多多水多 | 亚洲va欧美va天堂v国产综合 | 婷婷色婷婷开心五月四房播播 | 亚洲中文字幕在线无码一区二区 | 久9re热视频这里只有精品 | 乱码av麻豆丝袜熟女系列 | 国产精品va在线观看无码 | 99久久久无码国产精品免费 | 两性色午夜视频免费播放 | 一个人看的视频www在线 | 国产一精品一av一免费 | 中国女人内谢69xxxx | 日韩欧美中文字幕公布 | 精品一区二区三区无码免费视频 | 成人免费视频视频在线观看 免费 | 久久久久亚洲精品中文字幕 | 人人爽人人爽人人片av亚洲 | 秋霞成人午夜鲁丝一区二区三区 | 大屁股大乳丰满人妻 | 精品一区二区不卡无码av | 夜精品a片一区二区三区无码白浆 | 久久久精品欧美一区二区免费 | 亚洲高清偷拍一区二区三区 | 初尝人妻少妇中文字幕 | 成在人线av无码免观看麻豆 | 中文字幕无码日韩欧毛 | 国产精品久久国产三级国 | 美女黄网站人色视频免费国产 | 国产熟女一区二区三区四区五区 | 国产精品.xx视频.xxtv | 亚洲乱码中文字幕在线 | 国产高潮视频在线观看 | 国产精品久久久一区二区三区 | 六十路熟妇乱子伦 | 国产乱人伦app精品久久 国产在线无码精品电影网 国产国产精品人在线视 | 国产一区二区三区精品视频 | 国产午夜亚洲精品不卡下载 | 中文字幕精品av一区二区五区 | 午夜福利试看120秒体验区 | 蜜臀av无码人妻精品 | 激情综合激情五月俺也去 | 日韩av无码一区二区三区 | 人妻插b视频一区二区三区 | 丰满少妇熟乱xxxxx视频 | 亚洲精品美女久久久久久久 | 久久人人爽人人爽人人片av高清 | 久久久久成人精品免费播放动漫 | 天海翼激烈高潮到腰振不止 | 伊在人天堂亚洲香蕉精品区 | 成年美女黄网站色大免费视频 | 久久久久久久女国产乱让韩 | 中文字幕亚洲情99在线 | 一区二区三区乱码在线 | 欧洲 | 一个人看的www免费视频在线观看 | 中文字幕+乱码+中文字幕一区 | 高潮喷水的毛片 | 色婷婷综合中文久久一本 | 无码人妻精品一区二区三区下载 | 久久久亚洲欧洲日产国码αv | 人人妻人人澡人人爽人人精品浪潮 | 亚洲熟妇色xxxxx亚洲 | 午夜性刺激在线视频免费 | 久久综合给合久久狠狠狠97色 | 日日摸夜夜摸狠狠摸婷婷 | 国产精品福利视频导航 | 久久99精品国产麻豆 | 国产精品人妻一区二区三区四 | 欧美国产日韩久久mv | 精品国产一区二区三区四区 | 狠狠噜狠狠狠狠丁香五月 | 性史性农村dvd毛片 | 精品人妻av区 | 国产无av码在线观看 | 真人与拘做受免费视频一 | 青青久在线视频免费观看 | 国产熟妇另类久久久久 | 国产 浪潮av性色四虎 | 国产一区二区三区精品视频 | 午夜福利电影 | 夜夜夜高潮夜夜爽夜夜爰爰 | 亚洲人成网站色7799 | 一区二区三区高清视频一 | 成人欧美一区二区三区黑人免费 | 欧美黑人巨大xxxxx | 亚洲日韩乱码中文无码蜜桃臀网站 | 性欧美熟妇videofreesex | 性开放的女人aaa片 | 波多野结衣高清一区二区三区 | 性做久久久久久久久 | 强伦人妻一区二区三区视频18 | 超碰97人人做人人爱少妇 | 少妇的肉体aa片免费 | 日日麻批免费40分钟无码 | 日日天干夜夜狠狠爱 | 国产肉丝袜在线观看 | av无码久久久久不卡免费网站 | 国产人妻精品一区二区三区不卡 | 人人爽人人爽人人片av亚洲 | √天堂资源地址中文在线 | 夫妻免费无码v看片 | 久久精品一区二区三区四区 | 丰满护士巨好爽好大乳 | 三级4级全黄60分钟 | 国产人妻久久精品二区三区老狼 | 扒开双腿疯狂进出爽爽爽视频 | 精品一区二区三区波多野结衣 | 国产女主播喷水视频在线观看 | 久久精品国产一区二区三区肥胖 | 欧美猛少妇色xxxxx | 国产99久久精品一区二区 | 国产综合久久久久鬼色 | 日本精品少妇一区二区三区 | 久热国产vs视频在线观看 | 精品厕所偷拍各类美女tp嘘嘘 | 高清国产亚洲精品自在久久 | 网友自拍区视频精品 | 午夜成人1000部免费视频 | 中文字幕乱码人妻二区三区 | 精品水蜜桃久久久久久久 | 东京热男人av天堂 | 亚洲の无码国产の无码步美 | 久久综合九色综合97网 | 精品偷自拍另类在线观看 | 捆绑白丝粉色jk震动捧喷白浆 | 久久人妻内射无码一区三区 | 欧美激情一区二区三区成人 | 免费无码午夜福利片69 | 久久久久久a亚洲欧洲av冫 | 少妇久久久久久人妻无码 | 亚洲热妇无码av在线播放 | 无码一区二区三区在线 | 亚洲 另类 在线 欧美 制服 | 中文字幕无码免费久久99 | 极品尤物被啪到呻吟喷水 | 国产一区二区三区日韩精品 | 人人澡人人透人人爽 | 亚洲成a人片在线观看无码3d | 国产性生交xxxxx无码 | 欧美 日韩 亚洲 在线 | 亚洲日本一区二区三区在线 | ass日本丰满熟妇pics | 色综合久久中文娱乐网 | 久久久中文字幕日本无吗 | 国产特级毛片aaaaaa高潮流水 | 久久久久免费精品国产 | 精品久久综合1区2区3区激情 | 午夜免费福利小电影 | 激情爆乳一区二区三区 | 97精品人妻一区二区三区香蕉 | 丰满少妇高潮惨叫视频 | 无码国产乱人伦偷精品视频 | 久久人妻内射无码一区三区 | 中文无码精品a∨在线观看不卡 | 久久精品丝袜高跟鞋 | 国产偷国产偷精品高清尤物 | 强辱丰满人妻hd中文字幕 | 一二三四社区在线中文视频 | 久久久久国色av免费观看性色 | 免费国产黄网站在线观看 | 亚洲高清偷拍一区二区三区 | 成人无码精品一区二区三区 | 女人色极品影院 | 欧美变态另类xxxx | 久久久久亚洲精品中文字幕 | 最新国产乱人伦偷精品免费网站 | 一个人免费观看的www视频 | 中文字幕无码乱人伦 | 精品夜夜澡人妻无码av蜜桃 | 熟妇人妻无码xxx视频 | 丰满少妇弄高潮了www | 成熟妇人a片免费看网站 | 蜜臀av在线播放 久久综合激激的五月天 | 国产suv精品一区二区五 | 久久人人爽人人爽人人片av高清 | 日日天干夜夜狠狠爱 | 国产国产精品人在线视 | 嫩b人妻精品一区二区三区 | 亚洲国产精品成人久久蜜臀 | 高清无码午夜福利视频 | 国产成人精品必看 | 国产又粗又硬又大爽黄老大爷视 | 狠狠色噜噜狠狠狠7777奇米 | 无码午夜成人1000部免费视频 | 55夜色66夜色国产精品视频 | 狂野欧美激情性xxxx | 欧美兽交xxxx×视频 | 国产亚洲视频中文字幕97精品 | 一本大道伊人av久久综合 | 玩弄少妇高潮ⅹxxxyw | www成人国产高清内射 | 亚洲国产精华液网站w | 5858s亚洲色大成网站www | 高潮毛片无遮挡高清免费 | 亚洲第一无码av无码专区 | 亚洲精品美女久久久久久久 | 国产在线精品一区二区高清不卡 | 国产色xx群视频射精 | 无码播放一区二区三区 | 精品国产成人一区二区三区 | 人人妻人人澡人人爽欧美一区九九 | 福利一区二区三区视频在线观看 | 久激情内射婷内射蜜桃人妖 | 成人三级无码视频在线观看 | 久久午夜无码鲁丝片 | 中文字幕无码av激情不卡 | 人人妻人人澡人人爽人人精品浪潮 | 国产av人人夜夜澡人人爽麻豆 | 一本无码人妻在中文字幕免费 | 日欧一片内射va在线影院 | 九九综合va免费看 | 国产99久久精品一区二区 | 国内少妇偷人精品视频 | 在线成人www免费观看视频 | 无码帝国www无码专区色综合 | 国产热a欧美热a在线视频 | 日本精品久久久久中文字幕 | 中国女人内谢69xxxx | 国产两女互慰高潮视频在线观看 | 狠狠躁日日躁夜夜躁2020 | 成在人线av无码免观看麻豆 | 亚洲国产精华液网站w | 日本大乳高潮视频在线观看 | 扒开双腿吃奶呻吟做受视频 | 动漫av一区二区在线观看 | 色诱久久久久综合网ywww | 色综合视频一区二区三区 | 福利一区二区三区视频在线观看 | 国产精品美女久久久久av爽李琼 | www成人国产高清内射 | 亚洲精品午夜无码电影网 | 人人妻人人澡人人爽人人精品浪潮 | 高清国产亚洲精品自在久久 | 国产精品人人爽人人做我的可爱 | 久久久婷婷五月亚洲97号色 | 99久久人妻精品免费一区 | 天堂а√在线地址中文在线 | 久久国产精品精品国产色婷婷 | 丰满少妇高潮惨叫视频 | 2019nv天堂香蕉在线观看 | 丁香花在线影院观看在线播放 | 性欧美牲交在线视频 | 国产成人亚洲综合无码 | 日本熟妇大屁股人妻 | 久久亚洲日韩精品一区二区三区 | 国产亚洲人成在线播放 | 欧美丰满老熟妇xxxxx性 | 大乳丰满人妻中文字幕日本 | 妺妺窝人体色www在线小说 | 欧美黑人性暴力猛交喷水 | 蜜臀av无码人妻精品 | 久久综合香蕉国产蜜臀av | 天干天干啦夜天干天2017 | 久久亚洲精品成人无码 | 色一情一乱一伦 | 久久久久免费精品国产 | 性欧美疯狂xxxxbbbb | 老司机亚洲精品影院 | 美女极度色诱视频国产 | 国产av久久久久精东av | 在线播放亚洲第一字幕 | 国产成人无码a区在线观看视频app | 亚洲中文字幕av在天堂 | 欧美人与禽猛交狂配 | 又大又硬又黄的免费视频 | 少妇性俱乐部纵欲狂欢电影 | 18无码粉嫩小泬无套在线观看 | 伊人色综合久久天天小片 | 久久精品人人做人人综合试看 | 无遮挡国产高潮视频免费观看 | 亚洲自偷精品视频自拍 | 国产精品18久久久久久麻辣 | 中文无码成人免费视频在线观看 | 亚洲男女内射在线播放 | 又粗又大又硬又长又爽 | 亚洲精品综合五月久久小说 | 日本精品少妇一区二区三区 | 色情久久久av熟女人妻网站 | 国产性生大片免费观看性 | 欧美一区二区三区视频在线观看 | 婷婷六月久久综合丁香 | аⅴ资源天堂资源库在线 | 国产熟妇高潮叫床视频播放 | 色五月丁香五月综合五月 | 国内揄拍国内精品少妇国语 | 亚洲日本一区二区三区在线 | 四虎4hu永久免费 | 丰满少妇高潮惨叫视频 | 51国偷自产一区二区三区 | 精品水蜜桃久久久久久久 | 国内精品一区二区三区不卡 | 夜夜夜高潮夜夜爽夜夜爰爰 | 少妇久久久久久人妻无码 | 日本一区二区更新不卡 | 蜜桃臀无码内射一区二区三区 | 欧美猛少妇色xxxxx | 无码av最新清无码专区吞精 | 高清无码午夜福利视频 | 牲欲强的熟妇农村老妇女视频 | 亚洲欧美精品aaaaaa片 | av无码电影一区二区三区 | 99久久婷婷国产综合精品青草免费 | 5858s亚洲色大成网站www | 人妻尝试又大又粗久久 | 中文字幕无码乱人伦 | 国产成人一区二区三区别 | 国产精品久久久 | 无遮挡国产高潮视频免费观看 | 久久这里只有精品视频9 | 国产精品a成v人在线播放 | 亚洲精品国产品国语在线观看 | 中文字幕无码免费久久9一区9 | 亚洲成a人片在线观看无码3d | 亚洲天堂2017无码中文 | 免费网站看v片在线18禁无码 | 日韩欧美群交p片內射中文 | 中文字幕无码热在线视频 | 国产色视频一区二区三区 | 午夜精品一区二区三区在线观看 | 国产精品国产自线拍免费软件 | 性生交大片免费看l | 在线观看国产一区二区三区 |