E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
框架源码分析
Android
框架源码分析
——RxJava功能操作符
一、功能操作符:辅助被观察者(Observable)在发送事件时实现一些功能性需求二、功能操作符按照使用功能,大致分类:订阅:subscribe()线程调度:subscribeOn()、observeOn()延迟:delay()do操作:do()错误处理:onErrorReturn()、onErrorResumeNext()、onExceptionResumeNext()、retry()、retr
Alex@W
·
2018-05-06 15:24
Android
框架源码分析
——RxJava组合操作符
1、简介:上篇文章中已经介绍了每种组合操作符的简单使用了,相信已经感受到功能的强大之处了,但上面的每个例子都是简单的更能演示,下面我们看看RxJava在实际开发中是如何大显神通的吧。获取数据一般我们在获取服务器数据时,拿到数据后会做缓存处理,所以当再次请求时会先查看缓存或磁盘中是否有相关的内容,即查询顺序为:查询内存中是否有缓存查询硬盘上是否有缓存从服务器获取代码演示:StringmemoryCa
Alex@W
·
2018-05-05 23:12
Android
框架源码分析
——RxJava变换操作符
1、简介RxJava的作用之强大相信每个用过的同学都深有体会,在介绍基本的创建操作符之后,我们继续来看变换操作符,正是因为变换操作符的存在,RxJava的才可以满足不同场景的功能。变换操作符的作用:对事件序列中的事件/整个事件序列进行加工处理(即变换),使得其转变成不同的事件/整个事件序列2、操作符类型map()flatMap()ConcatMap()buffer()3、使用介绍map(1)被观察
Alex@W
·
2018-05-03 09:41
Android 输入法
框架源码分析
总结(1)
1IMF主要包含三个部分1.InputmethodMethodManager(IMM)运行于客户端进程--InputMethodManager(IMM)是负责管理其他部分交互的中心,以client-sideAPI的形式存在于每一个应用上下文中,同时和InputMethodManagerService(IMMF)进行通信,用来沟通管理所有进程间交互的全局系统服务,可以通过Context.getSys
Ghost_tal
·
2018-04-28 16:54
android开源
框架源码分析
:Okhttp
一请求与响应流程1.1请求的封装1.2请求的发送1.3请求的调度二拦截器2.1RetryAndFollowUpInterceptor2.2BridgeInterceptor2.3CacheInterceptor2.4ConnectInterceptor2.5CallServerInterceptor三连接机制3.1建立连接3.2连接池四缓存机制4.1缓存策略4.2缓存管理在Android刀耕火种的
切切歆语
·
2018-04-03 21:25
Android
Android开源
框架源码分析
:Okhttp
原文链接:http://www.cnblogs.com/zhangqie/p/8681308.html一请求与响应流程1.1请求的封装1.2请求的发送1.3请求的调度二拦截器2.1RetryAndFollowUpInterceptor2.2BridgeInterceptor2.3CacheInterceptor2.4ConnectInterceptor2.5CallServerIntercepto
weixin_30666401
·
2018-04-03 21:00
yii2
框架源码分析
系列(1)之入口
写在开始用了yii2框架也有一年的时间了,挺喜欢yii2的,期间也根据工作需要看过一些源码,在此写一个系列的文章,主要是剖析下yii2框架的启动流程和内部核心的一些代码,借此做下笔记回顾一下,加深对yii2的理解。yii2-basic和yii2-advanced核心部分的原理和代码基本一致,偷个懒使用简单版的yii2-basic作为剖析对象。入口yii2也是单入口框架,入口文件是/basic/we
killtl
·
2018-03-15 22:27
Android
框架源码分析
——RxJava 操作符使用
概述:上篇文章简单的介绍了Rxjava中Observable的创建操作符的使用和其代表的意义,因为比较简单所以写的比较粗略,本文将继续介绍一些关于类型变换的操作符,变换操作符的强大支出在于不需要额外的处理,可以快速的将数据进行处理和转换,得到需要的类型且代码和逻辑清晰易懂,引用网上的一张图片:Map()map():实现对发送的数据按照一定的规则进行转换,达到输出不同的类型Observable.ju
Alex@W
·
2018-02-05 13:17
Android
框架源码分析
——RxJava 操作符使用介绍
RxJava因为功能强大和代码结构简单深受程序员的亲睐,之前的学习也使用过可是有的操作符还是会遗忘,为了自己的总结和复习,接下来的几篇会针对RxJava的一些操作符的使用,进行简单的归纳:1、基本用法:Observable.create(newObservableOnSubscribe(){@Overridepublicvoidsubscribe(ObservableEmittere)throws
Alex@W
·
2018-02-02 10:47
Java集合
框架源码分析
- RandomAccess
在JDK的源码里有一个RandomAccess接口,这个接口没有任何方法需要实现,那么它是干什么用的呢?publicinterfaceRandomAccess{}官方文档解释如下:接口RandomAccess被List实现用来指示它们支持快速的(通常是恒定的)随机访问。此接口的主要目的是允许通用算法改变其行为,以便在应用于随机或顺序访问列表时提供良好的性能。用于处理随机访问列表(如ArrayLis
feigeswjtu
·
2018-01-31 21:07
Java集合框架源码分析
RandowAccess
二分查找
Java
Java集合
框架源码分析
- Collection接口
Collection是所有列表类容器的顶层接口,在Collection框架的位置如下图所示,没有类直接实现Collection接口的,Collection和真正的实现类中间会有其他接口或者抽象类存在,后面我们一个一个的讲。Collection接口作为Collection框架的顶层接口,几乎声明了所有Collection型容器的所有方法,是否重复List和Set接口对它进行了补充,我们看下Colle
feigeswjtu
·
2018-01-31 16:44
Java
Volley
框架源码分析
1.Volley框架的使用RequestQueuequeue=Volley.newRequestQueue(this);StringRequestrequest=newStringRequest("http://www.baidu.com",newcom.android.volley.Response.Listener(){@OverridepublicvoidonResponse(Stringr
懒癌患者2018
·
2017-12-08 16:26
流行
框架源码分析
(16)-Decorator装饰模式
主目录见:Android高级进阶知识(这是总目录索引) 今天要讲装饰模式其实跟之前的代理模式实现上有点相似,但是在使用上会有些不同,在我理解上呢,代理侧重对被代理对象的功能修改,同时限制了其他类对被代理对象的访问。然而装饰模式更侧重被装饰对象功能的嵌套增强且不限制其他类对被装饰对象的访问,为什么这么说呢?在等会要讲的IO流你就知道,为了增强功能,IO流可以嵌套多层来增强功能而且可以单独使用。这里我
ZJ_Rocky
·
2017-11-01 15:58
流行
框架源码分析
(15)-Strategy策略模式
主目录见:Android高级进阶知识(这是总目录索引) 策略模式应该说应用也是非常广泛,而且很容易使用。有的人可能用到了但是没有意识到,那么我们今天会让大家意识到而且能在特定的场景中使用到他。我们这里先来看看他的定义:策略模式定义了一些列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变换。这里的算法意思不是传统的算法,其实就是一个action,就是
ZJ_Rocky
·
2017-10-30 13:29
流行
框架源码分析
(14)-Proxy代理设计模式
主目录见:Android高级进阶知识(这是总目录索引) 今天要讲这个代理设计模式,真的是印象深刻,在好多年前在学校接触java的时候就对这个模式了解过,当初还想着Spring里面的AOP机制是不是就是用代理实现的呀。到现在插件化的hook大量用到代理设计模式。包括等会要讲的retrofit也是用到了代理设计模式。而且Framework的AIDL里面也是用到了代理模式。这些个例子足以证明了你学这个设
ZJ_Rocky
·
2017-10-27 14:10
流行
框架源码分析
(12)-Observer观察者设计模式
主目录见:Android高级进阶知识(这是总目录索引)这篇文章我们会来讨论另外一个设计模式观察者设计模式,这个设计模式应该来说好理解很多,这个设计模式在我们平常的框架编写中也是可能会被用到的,我们同样的,来看看它的定义:观察者模式:定义了对象之间的一对多依赖,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新。这个定义也不抽象,所谓的定义对象之间的一对多依赖这个很好理解,就是说一个被观察者
ZJ_Rocky
·
2017-10-25 13:05
流行
框架源码分析
(7)-Volley源码解析
主目录见:Android高级进阶知识(这是总目录索引) 这是我们第一篇讲解网络请求相关的框架,前面我们的所有讲解都是跟网络请求没有关系,如果大家对Http协议的原理等还不熟悉,希望大家自己复习一下,毕竟还是要知其然知其所以然,首先为了大家对[Volley]有个整体的认识,我们先贴个图:Volley原理图这是官网的一个原理图,大家看着这个应该能对整体的原理有个把握,思路还是非常清晰的,看图可以看出蓝
ZJ_Rocky
·
2017-10-17 15:00
流行
框架源码分析
(6)-多进程的sharedprefrence解决方案DPreference
主目录见:Android高级进阶知识(这是总目录索引) 我们都知道sharedpreference在使用的时候是不支持多进程操作数据的,不同进程间操作数据的读取,存取或者并发操作数据都会出现问题,所以我们需要自己去控制跨进程操作,现在我们看看官方文档对shareprefrence中MODE_MULTI_PROCESS的描述:intMODE_MULTI_PROCESSThisconstantwasd
ZJ_Rocky
·
2017-10-16 12:10
流行
框架源码分析
(5)-butterknife源码分析(二)
主目录见:Android高级进阶知识(这是总目录索引) 昨天我们已经分析完butterknife的注解处理器的收集信息部分,如果还没有看的话可以先看[butterknife源码分析(一)],今天我们就要来解析我们的生成代码部分了,相信今天讲解完大家应该能有一个整体的认识,同时因为今天会用到javapoet,如果不熟悉的可以参考这篇[JavaPoet的基本使用]。我们都是java的人一.目标 今天的
ZJ_Rocky
·
2017-10-13 13:57
流行
框架源码分析
(4)-butterknife源码分析(一)
主目录见:Android高级进阶知识(这是总目录索引) 前面我们已经讲完[编译期注解的使用例子]大家应该对这个流程比较熟悉了,我们今天要讲的butterknife的源码其实也是用的这个,不过里面细节还是比较多的,我今天会尽量围绕着主干讲,对于一些lint检查,R2文件的生成(这个主要是用插件完成)这些暂时会不讲。一.目标对于butterknife,如果使用的好的话可以帮我们省了非常多的工作,而且我
ZJ_Rocky
·
2017-10-12 17:49
流行
框架源码分析
(3)-编译期注解的使用例子
主目录见:Android高级进阶知识(这是总目录索引) 我们在开发的时候为了提高效率往往会选择一个基于注解的框架,但是有时使用反射通常被认为是性能的收割机,所以我们会青睐编译期注解的使用,其实早在前面我们分析了[EventBus3.0源码解析]中我们就有看到,还有我们接下来要讲的ButterKnife也会用到,当然我今天要用来讲的例子[LRouter]这个项目也会使用这个。一.目标 现在编译期注解
ZJ_Rocky
·
2017-10-11 12:39
流行
框架源码分析
(2)-AsynTask源码分析
主目录见:Android高级进阶知识(这是总目录索引) 国庆的假期刚刚过去,今天就用一篇比较简单的文章来收收心,AsynTask相信大家已经非常熟悉了,而且用的也是溜溜地,但是他的源码还是非常值得一看的,今天我们就一起来领略他的风采吧。假期结束一.目标AsynTask内部简化了Thread+handler的使用,可以让我们在后台执行任务并更新UI,但是这个开源框架经过了几次改版,代码都有稍微变化,
ZJ_Rocky
·
2017-10-10 12:28
流行
框架源码分析
(1)-EventBus3.0源码解析
主目录见:Android高级进阶知识(这是总目录索引) 因为国庆放假的缘故,好几天没有写文章,今天抽空来写一篇,那我们就从我们平常用的比较熟悉的框架开始讲解,今天讲解一款比较熟悉的框架EventBus3.0,在实际项目用的也比较多,废话不多说,直接开始。国庆快乐一.目标今天写这篇主要是从源码角度来讲解一个流行框架的原理,使用方法我就不讲了,因为比较简单,那么我们今天的目标很明确:1.从源码角度了解
ZJ_Rocky
·
2017-10-03 19:55
Java集合
框架源码分析
之LinkedHashMap详解
LinkedHashMap简介LinkedHashMap是HashMap的子类,与HashMap有着同样的存储结构,但它加入了一个双向链表的头结点,将所有put到LinkedHashmap的节点一一串成了一个双向循环链表,因此它保留了节点插入的顺序,可以使节点的输出顺序与输入顺序相同。LinkedHashMap可以用来实现LRU算法(这会在下面的源码中进行分析)。LinkedHashMap同样是非
BridgeGeorge
·
2017-09-25 16:30
MJExtension
框架源码分析
iOS开发中经常会用到数据和模型的互相转换,大致有两种转换方式:1.手动写转换的代码,2.利用开源库进行转换。常用的开源库有:JSONModel、Mantle、MJExtension、YYModel等等,本文主要介绍一下MJExtension的底层实现,看一看小码哥如何设计这个轻量级的数模转换框架。本着面向应用的角度,我觉得还是从一个字典转模型的例子入手,来详细介绍一下MJExtension的转换
飞鱼湾
·
2017-07-20 11:43
iOS
Android
框架源码分析
——Glide详解(基础篇)
一、概述对于每个安卓程序猿来说,图片的加载是最常见问题,不管是简单的单一图片还是炫酷的gif图片,大家都应注意的问题OOM,当然对于有点经验的人来说,在开发阶段就会注意这个问题了,解决措施也很简单,利用缓存策略LruCache和DisLruCash,在内存不足时清除缓存,当然这个方法需要自己去写一些ImageLoader,现在没人回自己去写这个了,因为有大神的杰作,就是本文的主人公Glide;二、
Alex@W
·
2017-04-18 13:41
JAVA学习路线
2.熟悉Java排序工具类使用java.uti.Arrays.sort()java.util.Collections.sort()3.常用集合
框架源码分析
,Arraylist
单刀解牛角
·
2017-04-17 12:23
学习路线
Java 集合
框架源码分析
(一)——ArrayList
简介ArrayList中是平常比较常用的一个集合类,经常帮助我们封装一些实体Bean的List集合。典型使用场景如下:ListbookList=newArrayList(); bookList.add(book1); bookList.add(book2); ...ArrayList位于java.util 属于Java集合框架的一部分。层次关系如下。java.util 类ArrayList jav
zhuguorong11
·
2016-08-21 20:00
Java 集合
框架源码分析
(四)——LinkedHashMap
介绍 今天我们继续Java集合框架探究之旅,来看LinkedHashMap。和HashMap相比,LinkedHashMap实际使用频率要低点,但并不意味它不重要,其实LinkedHashMap是实现LRU缓存的首选方案,在《AndroidLruCache实现原理解析》一文中,简单分析了LruCache利用LinkedHashMap实现内存缓存的原理。当然只知道怎么用肯定对于我们来说是不够的,下
ylyg050518
·
2016-08-13 00:00
java
源码
android
框架
缓存
Java 集合
框架源码分析
(三)——HashMap
介绍HashMap是Java集合框架中重要的组成部分,也是平常使用频率很高的一个集合类,典型使用方式如下:Mapmap=newHashMap 继承者java.util.HashMap HashMap是基于哈希表实现的,每一个元素都是一个key-value对,其内部通过单链表解决冲突问题,容量不足(超过了阈值)时,同样会自动增长。HashMap是非线程安全的,只是用于单线程环境下,多线程环境下可以采
ylyg050518
·
2016-08-12 00:00
java
源码
框架
HashMap
MINA
框架源码分析
(三)
我们接着上一篇继续分析;在addNow方法执行结束之后,我们已经为当前NioProcessor里面所有的NioSocketSession对应的SocketChannel注册了OP_READ事件,接下来继续查看Processor的run方法,源码在上一篇中有,执行到第49行,判断如果selected大于0执行第52行的process方法,selected的值其实就是Selector的select方法
她说巷尾的樱花开了
·
2016-08-10 17:39
android
Java 集合
框架源码分析
(二)——LinkedList
介绍LinkedList也是Java集合框架的重要组成部分。其中类层次结构如下。java.lang.Object继承者java.util.AbstractCollection继承者java.util.AbstractList继承者java.util.AbstractSequentialList继承者java.util.LinkedListLinkedList直接继承于AbstractSequent
ylyg050518
·
2016-08-08 21:00
java
源码
框架
继承
LinkedList
Java 集合
框架源码分析
(一)——ArrayList
简介ArrayList中是平常比较常用的一个集合类,经常帮助我们封装一些实体Bean的List集合。典型使用场景如下:ListbookList=newArrayList(); bookList.add(book1); bookList.add(book2); ...ArrayList位于java.util属于Java集合框架的一部分。层次关系如下。java.util类ArrayListjava.l
ylyg050518
·
2016-08-08 15:00
java
源码
框架
ArrayList
SimpleNet网络
框架源码分析
项目介绍 SimpleNet是何红辉开源的一个http网络请求库。该库借鉴了volley的实现思路,但为了更易于理解,裁掉了一些模块。整体适合学习http网络框架原理使用,难易度恰到好处。在此基础上再去读volley源码,会体悟更深刻一些。特点支持httpclient、httpurlconnection两种方式支持成功的回调请求:支持多种格式的请求:Json、String、小文件支持多种协议的网
a910626
·
2016-06-27 16:00
android-----Volley框架使用ImageLoader加载图片源码分析
上一篇我们分析了Volley框架的源码,知道了使用Volley框架的三个步骤,如果你对此还不是很熟,建议能看看上一篇博文:android-----Volley
框架源码分析
,这篇我们将首先使用
hzw19920329
·
2016-06-02 15:00
android
Volley框架
ImageLoader加载图片
Volley加载图片源码
android-----Volley
框架源码分析
作为Google的亲儿子,Volley框架从诞生之日起就受到极大推崇,他简单且适用于异步环境下的频繁网络操作,但是对于上传文件或者想要post一些较大数据的场合,显然他是束手无策的,这篇博文我会从源码角度带大家看看Volley框架到底是怎么个执行流程; 平常我们使用Volley的标准步骤是: (1)创建一个RequestQueue队列; (2)创建
hzw19920329
·
2016-05-31 16:00
android
Volley
Volley框架源码
Android之Volley
框架源码分析
临近毕业,各种事情各种忙。我也没有认真专注写过博客,最近仔细看了Volley框架的使用及其源码,思前想后,想挑战一下自己,还是写一篇博客来分享,如有错误,欢迎吐槽。Volley简介网络请求是一个App很重要的一部分,android系统只是提供了一个平台,而android应用则是基于这个平台上进行展示数据,起到与用户进行交互的作用,数据来源于服务端,而二者之间必须通过互联网进行传输数据,在Andro
HanDong_
·
2016-05-08 14:35
android
Android之Volley
框架源码分析
临近毕业,各种事情各种忙。我也没有认真专注写过博客,最近仔细看了Volley框架的使用及其源码,思前想后,想挑战一下自己,还是写一篇博客来分享,如有错误,欢迎吐槽。Volley简介网络请求是一个App很重要的一部分,android系统只是提供了一个平台,而android应用则是基于这个平台上进行展示数据,起到与用户进行交互的作用,数据来源于服务端,而二者之间必须通过互联网进行传输数据,在Andro
kongchengjiumenghx
·
2016-05-08 14:00
android
Android Small插件化框架解读——Activity注册和生命周期[阿里工程师分享]
通过对嵌入式企鹅圈原创团队成员degao之前发表的《AndroidSmall插件化
框架源码分析
》的学习,对Android使用的插件化技术有了初步的了解,但还是有很多需要认真学习的地方,特别是大部分知识都需要结合虚拟机和
yueqian_scut
·
2016-04-20 22:00
Binder
activitymanager
ActivityThread
Small插件
startActivity流程
EventBus
框架源码分析
开源项目上周又手动撸了一遍EventBus实现,同时上传EventBus的中文注释源码到Github上,欢迎大家fork&star.EventBusAnalysisEventBus基础概念EventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化Android事件传递.事件传递既可以用于Android四大组件间的通讯,也可以用于用户异步线程和主线程间通讯等.传统的事件传递方
zinss26914
·
2016-04-12 16:00
github
源码
框架
EventBus
【目录】集合框架目录
集合
框架源码分析
框架目录如下1.【集合框架】Java集合框架综述2.【集合框架】JDK1.8源码分析之HashMap(一)3.【集合框架】JDK1.8源码分析之LinkedHashMap(二)4.
leesf
·
2016-04-01 16:00
Android Small插件化
框架源码分析
AndroidSmall插件化
框架源码分析
目录概述 Small如何使用 插件加载流程 待改进的地方一、概述Small是一个写得非常简洁的插件化框架,工程源码位置:https://github.com/wequick
吴跃前
·
2016-03-31 12:00
[置顶] Android Small插件化
框架源码分析
AndroidSmall插件化
框架源码分析
目录概述Small如何使用插件加载流程待改进的地方一、概述Small是一个写得非常简洁的插件化框架,工程源码位置:https://github.com/wequick
yueqian_scut
·
2016-03-31 12:00
android插件化
插件框架
插件加载
small插件化
[置顶] android-async-http
框架源码分析
async-http使用地址android-async-http仓库:gitclone https://github.com/loopj/android-async-http源码分析我们在做网络请求的时候经常通过下面的方式实例化AsyncHttpClientclient=newAsyncHttpClient();然后通过系统内置的请求发送请求,通过async内部的请求去做真正的网络请求。首先得到的
xiangzhihong8
·
2016-03-30 11:00
Volley
框架源码分析
Volley框架分析Github链接Volley框架分析Volley源码解析为了学习Volley的网络框架,我在AS中将Volley代码重新撸了一遍,感觉这种照抄代码也是一种挺好的学习方式.再分析Volley源码之前,我们先考虑一下,如果我们自己要设计一个网络请求框架,需要实现哪些事情,有哪些注意事项?我的总结如下:需要抽象出request请求类(包括url,params,method等),抽象出
zinss26914
·
2016-03-27 15:00
github
源码
android
Volley
网络框架
CI
框架源码分析
这几天,把ci源码又看了一遍,于是有了新的收获。明白了在application目录下core文件夹的作用,就是用来写ci核心文件的扩展的,而且需要在配置文件中添加类前缀MY_。 CI框架整体是但入口文件,入口文件是Index.php在该文件中定义了一些系统变量,比如BASEPATH和APPPATH等,最后加载ci框架的核心文件CodeIgniter文件,该文件位于system文件夹
拾贝壳的小男孩
·
2016-03-09 22:00
yii
框架源码分析
之创建contr…
原文地址:yii
框架源码分析
之创建controller分析作者:silentime使用yii框架的url路径一般形如hostname/?
senlin1202
·
2016-03-04 09:00
Android网络
框架源码分析
一---Volley
转载自 http://www.jianshu.com/p/9e17727f31a1?utm_campaign=maleskine&utm_content=note&utm_medium=mobile_author_hots&utm_source=recommendation 公司最近新起了一个项目,对喜欢尝鲜的我们来说,好处就是我们可以在真实的项目中想尝试一些新技术,验证想法。新项目对网络框架的选
LOVE SHARE
·
2016-02-02 14:00
携程DynamicAPK插件化
框架源码分析
携程DynamicAPK插件化
框架源码分析
Author:莫川插件核心思想1.aapt的改造分别对不同的插件项目分配不同的packageId,然后对各个插件的资源进行编译,生成R文件,然后与宿主项目的R文件进行
NUPTboyZHB
·
2016-01-17 14:00
ClassLoader
插件
携程
Android网络
框架源码分析
一---Volley
前言公司最近新起了一个项目,对喜欢尝鲜的我们来说,好处就是我们可以在真实的项目中想尝试一些新技术,验证想法。新项目对网络框架的选取,我们存在三种方案:1.和我们之前的项目一样,使用Loader+HttpClient+GreenDao+Gson+Fragment,优点是可定制性强,由于使用Google家自己的Loader和LoaderManager,代码健壮性强。缺点是整套代码学习成本较高,使用过程
楚云之南
·
2016-01-03 23:35
上一页
1
2
3
4
5
6
7
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他