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学习
Android学习
笔记
一、Android四大组件精要1.Activity生命周期:onCreate()→onStart()→onResume()→onPause()→onStop()→onDestroy()重点场景:屏幕旋转:onSaveInstanceState()保存临时数据返回栈管理:launchMode(standard/singleTop/singleTask/singleInstance)页面跳转:Inte
LXR小朋友
·
2025-07-03 04:09
android
学习
笔记
Android学习
之响应式编程
本篇基于DeepSeek搜索结果修改。一、响应式编程基础认知1.1为什么需要响应式编程?在传统的Android开发中,我们经常会遇到以下痛点://传统方式处理数据变化button.setOnClickListener{//触发网络请求fetchDataFromNetwork{result->//更新UItextView.text=result//如果数据依赖其他状态,需要手动管理if(result
molong931
·
2025-05-13 01:26
Android开发
android
学习
2024年Android最全Android ANR 实现机制详解_android anr demo,阿里面试官是p几
最后想要了解更多关于大厂面试的同学可以点赞支持一下,除此之外,我也分享一些优质资源,包括:
Android学习
PDF+架构视频+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容
2301_82242326
·
2025-05-07 01:57
程序员
android
Android学习
总结之事件分发机制篇
一、事件分发三大核心方法的深度补充1.方法返回值对事件流向的影响dispatchTouchEvent返回true:事件被当前View(或ViewGroup)处理完毕,后续同序列事件(如MOVE、UP)会直接交给该View的onTouchEvent处理。返回false:事件未被处理,向上传递给父容器的dispatchTouchEvent,直至Activity或Window。源码关键逻辑(ViewGr
每次的天空
·
2025-05-05 09:41
Android学习知识总结
android
学习
Android学习
总结之设计场景题
设计图片请求框架的缓存模块核心目标是通过分层缓存策略(内存缓存+磁盘缓存)提升图片加载效率,同时兼顾内存占用和存储性能。以下是针对Android面试官的回答思路,结合代码注释说明关键设计点:一、缓存架构设计:分层缓存策略采用内存缓存(LRU)+磁盘缓存(持久化)+网络兜底的三级架构,优先从内存快速获取,其次从磁盘读取,最后网络加载,减少重复请求和资源消耗。二、内存缓存设计(LruCache)核心作
每次的天空
·
2025-05-01 16:26
android
学习
Android学习
总结之自定义view设计模式理解
面试题1:请举例说明自定义View中模板方法模式的应用考点分析此问题主要考查对模板方法模式的理解,以及该模式在Android自定义View生命周期方法里的实际运用。回答内容模板方法模式定义了一个操作的算法骨架,把一些步骤的实现延迟到子类。在Android自定义View中,View类提供了一系列生命周期方法,像onMeasure()、onLayout()、onDraw()等,这些构成了绘制View的
每次的天空
·
2025-05-01 16:26
Android学习知识总结
android
学习
设计模式
Android学习
总结之应用启动流程(从点击图标到界面显示)
一、用户交互触发:Launcher到AMS的跨进程通信1.Launcher处理点击事件(应用层)当用户点击手机桌面上的应用图标时,Launcher(桌面应用)首先捕获点击事件。每个图标对应一个启动Intent(通常是ACTION_MAIN+CATEGORY_LAUNCHER),Launcher通过这个Intent告诉系统“我要启动某个应用的主Activity”。//Launcher.javapub
每次的天空
·
2025-05-01 16:56
Android学习知识总结
android
学习
Android学习
总结之点击登录按钮流程
1.事件分发阶段1.1触摸事件产生当用户点击屏幕上的登录按钮时,触摸屏硬件会检测到触摸操作,并将触摸事件的相关信息(如触摸的坐标、触摸的时间等)传递给Android系统的InputManagerService。1.2Activity接收事件InputManagerService会将触摸事件传递给当前处于前台的Activity。Activity首先接收到事件,并调用其dispatchTouchEve
每次的天空
·
2025-05-01 16:56
android
学习
Android学习
总结之自定义View绘制源码理解
1.View重绘触发:requestLayout()如何启动绘制流程?当调用View.requestLayout()时,源码逻辑如下(基于Android13源码):View.java:publicvoidrequestLayout(){if(mMeasureCache!=null)mMeasureCache.clear();//清除测量缓存mLayoutRequested=true;//标记布局需
每次的天空
·
2025-04-28 02:45
Android学习知识总结
android
学习
python
Android学习
总结之协程对比优缺点(协程一)
进程是程序在操作系统中的一次执行过程,是系统进行资源分配和调度的基本单位;线程是进程中的一个执行单元,是CPU调度和分派的基本单位;而协程是一种比线程更加轻量级的并发编程方式,它可以在一个线程中实现多个任务的并发执行。协程比线程使用资源更少的原因栈空间小:线程的栈空间一般为几MB,而协程的栈空间通常只有几KB,大大减少了内存的占用。创建和销毁开销低:线程的创建和销毁需要操作系统内核的参与,涉及到系
每次的天空
·
2025-04-28 02:44
Android学习知识总结
android
学习
java
Android学习
总结之ANR问题
一、ANR基础概念与核心原理(必考题)1.什么是ANR?为什么会发生ANR?答案要点:定义:ANR(ApplicationNotResponding)即应用无响应,是Android系统检测到主线程(UI线程)长时间阻塞时触发的机制,用户会看到“等待/关闭应用”对话框18。根本原因:主线程被耗时操作(如IO、网络请求、复杂计算)阻塞,或因锁竞争、CPU资源不足导致无法及时处理输入事件或系统回调911
每次的天空
·
2025-04-28 02:44
Android学习知识总结
android
学习
Android学习
总结之扩展基础篇(一)
一、IdleHandler工作原理1.IdleHandler接口定义IdleHandler是MessageQueue类中的一个接口,定义如下:publicstaticinterfaceIdleHandler{/***当消息队列空闲时会调用此方法。*@return如果返回true,则该IdleHandler会保留在消息队列中,下次空闲时会再次调用;*如果返回false,则该IdleHandler会从
每次的天空
·
2025-04-26 08:17
Android学习知识总结
android
学习
java
Android ANR不会?这里有ANR全解析和各种案例!包教包会!
《
Android学习
笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》完整开源地址:https://docs.qq.com/doc/DSkNLaERkbnFoS0ZF结合应用日志,代码或源码等
2401_85122651
·
2025-04-22 02:32
android
360°深入了解Flutter,深度解析,值得收藏_flutter fresco
《
Android学习
笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》完整开源地址:https://docs.qq.com/doc/DSkNLaERkbnFoS0ZF5、简单工厂、工厂方法
2401_85121779
·
2025-04-21 13:21
flutter
Android学习
总结之算法篇七(图和矩阵)
有向图的深度优先搜索(DFS)和广度优先搜索(BFS)的示例,以此来模拟遍历GCRoot引用链这种有向图结构:一、深度优先搜索(DFS)importjava.util.*;publicclassGraphDFS{privatefinalintV;//顶点数量privatefinalLinkedList[]adj;//邻接表//构造函数GraphDFS(intv){V=v;adj=newLinked
每次的天空
·
2025-04-20 01:27
Android面试算法总结
android
学习
算法
Android学习
总结之OKHttp拦截器和缓存
深入理解OkHttp拦截器1.拦截器接口详解Interceptor接口是自定义拦截器的基础,它仅包含一个抽象方法intercept。以下是对该方法参数和返回值的详细解释:importokhttp3.Interceptor;importokhttp3.Request;importokhttp3.Response;importjava.io.IOException;publicclassCustomI
每次的天空
·
2025-04-11 20:33
android
学习
okhttp
2024年安卓最全Android识别模拟器,判断是模拟器还是真机,安卓面试题高级
内容包含:
Android学习
PDF+架构视频+面试文档+源码笔记,高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料这几块的内容。非常适合近期有面试和想在技术道路上继续精进的朋友。
2401_84544854
·
2025-04-10 14:49
程序员
android
Android学习
总结之自定义View实战篇
场景一:自定义进度条在很多应用中,我们会看到一些独特样式的进度条,接下来就实现一个简单的圆形进度条。实现思路继承View类。重写onDraw方法,在该方法里使用Canvas和Paint来绘制圆形进度条。提供更新进度的方法。示例代码importandroid.content.Context;importandroid.graphics.Canvas;importandroid.graphics.Co
每次的天空
·
2025-04-06 23:52
android
学习
Android学习
总结之Kotlin 协程
一、引言在Android开发中,异步任务处理是绕不开的话题。传统的线程、Handler、AsyncTask等方案要么过于繁琐,要么存在生命周期管理问题。Kotlin协程的出现,以优雅的语法和强大的结构化并发能力,成为解决异步编程难题的理想方案。本文将结合核心概念、使用场景和实战经验,带您全面掌握协程的精髓。二、协程核心概念:轻量级的异步处理首先要明确的是,协程不是线程。线程是操作系统调度的基本单位
每次的天空
·
2025-04-01 19:59
kotlin
开发语言
android
Android学习
总结之通信篇
一、Binder跨进程通信的底层实现细节(挂科率35%)高频问题:“Binder如何实现一次跨进程方法调用?”候选人常见错误:仅回答“通过Binder驱动传输数据”,缺乏对内存映射和线程调度的描述混淆Binder驱动与AIDL的角色满分答案:Binder的跨进程通信依赖于三层协作模型:1.用户空间与内核空间的交互:Client通过BinderProxy调用transact(),将请求封装为Parc
每次的天空
·
2025-03-31 03:51
android
学习
Android学习
总结之MMKV(代替SharedPreferences)
一、引言:存储革命的必然性在Android开发领域,SharedPreferences(SP)作为官方推荐的轻量级存储方案,曾是开发者的首选。然而,随着应用复杂度提升,SP的缺陷逐渐暴露:ANR风险、性能瓶颈、多进程灾难等问题频发。据统计,某头部应用因SP导致的ANR占比高达18%,而微信团队通过自研MMKV实现了零ANR的突破。本文将深度解析MMKV如何解决SP的"七宗罪",并揭秘其碾压级技术方
每次的天空
·
2025-03-29 08:26
android
学习
android学习
,android后端服务器的搭建
那么在市场紧缩以及大前端的趋势下,我们移动端程序员如何突破职业瓶颈,保持个人的核心竞争力呢?一、硬技能:专业的技术知识1.Java/Kotlin开发语言Java常用数据结构:ArrayList、Vector、CopyOnWriteArrayList、HaspMap、ConcurrentHashMap、HashTable等使用场景。JVM虚拟机包括Java内存管理,GC垃圾回收机制,类加载机制。推荐
2401_84413531
·
2025-02-24 04:12
程序员
android
学习
服务器
Android学习
14 -- VINF和兼容性矩阵
周末搞这玩意欲仙欲死,没办法只有看看。VINTF是供应商接口对象(VINTF对象),准确的说,这个是属于兼容性矩阵概念。。。有点想起了以前看过的一个电影,异次元杀阵。。。1基础这个是谷歌官方的图。本质上其实就是两部分,设备提供什么能力,系统需要什么能力。然后看两者能否兼容匹配上。这两者都是使用xml进行描述。主要是Android8之后,system和vendor分离,为了确保两者的兼容性搞出来的。
fanged
·
2025-02-07 00:04
Andorid学习
android
2017年你应该尝试的25个Android库
即使工作中用不上,对于
Android学习
也是相当有帮助的,最早是在知乎上面看到的,实在找不到原地址不过确实是干货我拿过来了。
刘争Stanley
·
2025-01-19 21:36
Android开发巅峰之路
Java编程深度挖掘
独立开发者
发布
工作
开源
android
Android-Jetpack架构组件(二)带你了解Lifecycle,给2021的移动开发一些建议
myPresenter.onResume();}@OverrideprotectedvoidonPause(){super.onPause();myPresenter.onPause();}}classMyPresenter{《
Android
flutter架构师
·
2024-09-10 17:06
程序员
面试
移动开发
android
Android学习
之RecyclerView快速添加头部布局
众所周知我们的ListView、GridView都可以增加头部布局;这样在遇到复杂的头部布局就不用增加视图类型了,不管是对于代码的可维护性还是整洁性;在Adapter中写又臭又长的代码,无论是自己看还是留给后来者都是痛苦的,而且你要是把代码都堆在getView中,ohno!我要分分钟切腹自尽…RecyclerView增加头部布局传统方式真的不是我懒,真的;传统方式我相信大家应该都会了,好吧我还是简
如果可以003
·
2024-09-08 04:05
Android
android
布局
Android学习
之-RecyclerView带刺的玫瑰
我的小鱼你醒了,还认识早晨吗?昨夜你曾经说,愿夜幕永不开启…上述小诗先逗比一下,接下来切入正题;自从RecyclerView的诞生起,人们就为她贴上了高贵的标签;她灵活华丽高度可定制,而另一边ListView确已是明日黄花;人们趋之若鹜的奔向了RecyclerView赞美她吹捧她似乎一切的一切都尽在他们的掌握中;各大技术论坛开始讲解RecyclerView是多么的好用;于是乎我也加入了使用Recy
如果可以003
·
2024-09-06 01:50
Android
android
recycle
view
Android学习
笔记
Android是一种廉价而又灵活的智能手机操作系统,它的普及使得人们可以拥有一款更加便捷的智能手机。Android系统的普及,提升了智能手机的使用价值,让人们的生活更加便捷。那么,如何学习Android呢?下面是一篇关于学习Android的文章,希望对初学者有所帮助。一、了解Android的基础知识在学习Android之前,我们需要了解Android系统的特点,包括其组件、运行机制、UI、API等
孙小小白
·
2024-02-20 11:13
android
android
android
studio
ide
Android学习
之路-----事件分发机制小结
Android事件分发在开发中很常见,以前总是搞不懂事件怎么传递啊~这两天上网查阅了很多资料也亲自动手学习了一次,现在来做个小结。。。Android事件分发机制的本质是要解决:点击事件由哪个对象发出,经过哪些对象,最终到达哪个对象并最终得到处理。这里的对象就是指Activity,ViewGroup,View。UI界面就是由这三者组成。分发的顺序是Activity,ViewGroup,View。事件
Parcelable
·
2024-02-07 14:38
Android学习之路代码笔记
Android学习
之路(27) ProGuard,混淆,R8优化
前言使用java编写的源代码编译后生成了对于的class文件,但是class文件是一个非常标准的文件,市面上很多软件都可以对class文件进行反编译,为了我们app的安全性,就需要使用到Android代码混淆这一功能。针对Java的混淆,ProGuard就是常用的混淆工具,且他不仅仅是混淆工具,它同时可以对代码进行压缩、优化、混淆。下面我们来简单介绍下ProGuard工作流程。ProGuard工作
星如雨グッ!(๑•̀ㅂ•́)و✧
·
2024-02-04 07:15
安卓
android
学习
Android学习
之路(29) Gradle初探
前言:大家回想一下自己第一次接触Gradle是什么时候?相信大家也都是和我一样,在我们打开第一个AS项目的时候,发现有很多带gradle字样的文件:setting.gradle,build.gradle,gradle.warpper,以及在gradle文件中各种配置,这些都是啥wy啊。。1.Gradle定义:很多开发喜欢把Gradle简单定义为一种构建工具,和ant,maven等作用类似,诚然Gr
星如雨グッ!(๑•̀ㅂ•́)و✧
·
2024-02-04 07:15
安卓
android
学习
Android学习
之路(26) ARouter APT技术详解
APT前置知识注解基础:1.元注解1.@Target:目标,表示注解修饰的目标ElementType.ANNOTIONS_TYPE:目标是注解,给注解设置的注解ElementType.CONSTRUCTOR:构造方法ElementType.FIELD:属性注解ElementType.METHOD:方法注解ElementType.Type:类型如:类,接口,枚举ElementType.PACKAGE
星如雨グッ!(๑•̀ㅂ•́)و✧
·
2024-02-04 07:15
安卓
android
学习
python
Android学习
之路(28) 进程保活组件的封装
前言远古时代,出现过很多黑科技,比如MarsDaemon,使用双进程守护的方式进行保活,在当时可谓风光无限,可惜在8.0时代到来就被废弃了。又比如后面出现的1像素Activity的保活方式,说他流氓一点不过分,如果每个人都使用这些操作,因为功耗的大大增加,会直接影响到手机使用寿命。因此各大手机厂商为了解决这一现象的发生,在系统层面对这些流氓行为做出了限制:后台进程即使你是要黑科技让进程优先级很高,
星如雨グッ!(๑•̀ㅂ•́)و✧
·
2024-02-04 07:43
安卓
android
学习
Android学习
笔记——获取SHA1证书指纹
当我们需要用到高德地图等三方技术时,需要我们提供SHA1用以注册。打开Androidstudio左下角的Terminal(或者你使用cmd控制台也行),进入keytool所在的对应路径,输入keytool指令读取jks文件(jks文件生成可以参考这里),如图即可获得证书指纹。代码里路径改为自己对应的。cdD:\DownloadSoft\AndroidStudio\jre\binkeytool.ex
Yimi-依米
·
2024-02-03 15:12
环境配置
Android
android
android
studio
SHA1
证书指纹
第三方
Android学习
笔记——签名应用并打包发布
当想要把做的安卓app发给别人安装时,需要签名应用并打包发布。首先需要生成jks文件。打开Androidstudio,选择Build>GenerateSignedBundle/APK…>APK>Next>Createnew…建立自己的新密钥,起个名字,设好密码,然后点OK>Next。按住ctrl点击debug和release,即两种版本的密钥都使用,然后点Finish。选择Build>BuildB
Yimi-依米
·
2024-02-03 15:11
环境配置
Android
android
android
studio
签名
打包发布
jks
Android学习
笔记——Keystore生成
Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份,可以使用Androidstudio安装包下的keytool工具自己生成。可以打开Androidstudio底部的Terminal,使用keytool命令生成证书。keytool-genkey-aliastestalias-keyalgRSA-keysize2048-validity3650
Yimi-依米
·
2024-02-03 15:41
Android
环境配置
android
android
studio
Keystore
发布
签名
(Note) Android-SparseArray
ThanksEmptyArray.javaArrayUtils.java面试必备:SparseArray源码解析SparseArray.javaGrowingArrayUtils.java
Android
CokeNello
·
2024-02-03 15:40
Android 跳转应用设置/热点界面或等常用操作
Android跳转应用设置/热点界面或等常用操作https://www.jianshu.com/p/ba7164126690
android学习
进阶——Settinghttps://blog.csdn.net
chezabo6116
·
2024-02-02 04:27
android
Android学习
中学质量评教系统我们觉得我们这一项目还是有做下去的必要的,首先我们这一项目的初衷是师生的交互,双方得互评。针对的是中学生,到目前为止初高中的学生并没有类似于大学的教务评价系统,初高中评价的时候都是用答题卡来进行的,并不方便(ー_ー)!!学生也不愿意去做,都得老师班干部三令五申,强制执行,费心费力,而我们的系统很好的解决了这个问题。而且我们的系统老师还可以对他所教的的班级进行评价,这个可以给班主任已
ecf5da30bc0b
·
2024-01-30 16:29
Android学习
之路(25) Theme和Style
1、官方详细解读样式和主题背景|Android开发者|AndroidDevelopers2、应用场景类似web设计中css样式。将应用设计的细节与界面的结构和行为分开。样式style:应用于单个View的外观。样式可以指定字体颜色、字号、背景颜色等属性主题theme:虽然他可以像style一样应用于某个view,但规范使用的话还是在整个app、单独的activity、某个视图层次结构layout3
星如雨グッ!(๑•̀ㅂ•́)و✧
·
2024-01-29 12:27
安卓
android
学习
火爆知乎的Android面试题-为什么Flutter能最好地改变移动开发?讲的明明白白!
具体如下:下面,我将带着上述几个问题,**详细讲解自身学习Android的方法和
Android学习
路径;**最后,还会结合前面内容,给出综合的具体执行学习Android的建议。
深圳之巅
·
2024-01-27 20:56
程序员
Android
记签名机制
首先将数据源通过摘要算法获取到数字摘要对数字摘要用私钥进行加密得到签名将原始消息以及签名发送给消息接收方接收方用公钥解密得到数字摘要用同样的摘要算法将原始消息进行计算比较得到的数字摘要与解密后的是否一致
Android
再吃1颗苹果
·
2024-01-27 08:42
android
Android学习
之路(22) 从模块化到组件化
从模块化到组件化一、从模块化到组件化Android应用项目,都存在一个应用模块(ApplicationModule),在build.gradle构建脚本中,第一个插件配置com.android.application,表明该Module编译打包后的输出是APK安装包;该项目可以直接运行;plugins{id'com.android.application'id'kotlin-android'}如果
星如雨グッ!(๑•̀ㅂ•́)و✧
·
2024-01-22 10:51
安卓
android
学习
Android学习
之路(22) ARouter原理解析
1.ARouter认知首先我们从命名来看:ARouter翻译过来就是一个路由器。官方定义:一个用于帮助AndroidApp进行组件化改造的框架——支持模块间的路由、通信、解耦那么什么是路由呢?简单理解就是:一个公共平台转发系统工作方式:1.注册服务:将我们需要对外暴露的页面或者服务注册到ARouter公共平台中2.调用服务:调用ARouter的接口,传入地址和参数,ARouter解析传入的地址和参
星如雨グッ!(๑•̀ㅂ•́)و✧
·
2024-01-22 10:51
安卓
android
学习
Android学习
之路(23)组件化框架ARouter的使用
一、功能介绍支持直接解析标准URL进行跳转,并自动注入参数到目标页面中支持多模块工程使用支持添加多个拦截器,自定义拦截顺序支持依赖注入,可单独作为依赖注入框架使用支持InstantRun支持MultiDex(Google方案)映射关系按组分类、多级管理,按需初始化支持用户指定全局降级与局部降级策略页面、拦截器、服务等组件均自动注册到框架支持多种方式配置转场动画支持获取Fragment完全支持Kot
星如雨グッ!(๑•̀ㅂ•́)و✧
·
2024-01-22 10:48
安卓
android
学习
Android学习
(五):常用控件
Android学习
(五):常用控件常用控件TextViewEditTextButtonRadioButtonImageView1、TextView控件1.1、简介TextView是用于显示文字(字符串)
阿标的博客
·
2024-01-21 06:15
Android学习
android
学习
2022年个人年度总结
1.
Android学习
琼珶和予
·
2024-01-18 08:42
Android学习
笔记:滚动控件ListView的基本使用方法
ListView是APP中的常用组件之一,它的使用方式与其他组件相比之下更复杂,但是功能更加强大。通常被用作菜单、列表等。一、ListView基本用法ListView的基本使用步骤:1、定义ListVIew布局2、创建ArrayAdapter对象3、将ArrayAdapter对象和ListView绑定新建项目ListViewTest,一切默认,编辑activity_main.xml文件,如下所示:
__椎名真白
·
2024-01-18 07:23
Android
Android
ListView
自定义ListView
ListView效率优化
Android学习
之发布应用到腾讯应用宝
一、打包apk(1)在app的build.gradle文件中设置如下:注意包名、versionCode、versionName。build.gradle的基础设置(2)签名设置①选择build->GenerateSignedAPK打开签名设置②选择Createnew...如果没有jks文件就新建一个,有的话直接选择就可以了。建立jks③构建jks文件,设置密码,项目名称等信息这里要注意记住密码和项
木子闲集
·
2024-01-16 19:24
【android】
Android学习
笔记之蓝牙连接相关
转:https://github.com/Mage-M/StudyAndroid/blob/master/%E6%9D%82%E7%AF%87/Android%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%E4%B9%8B%E8%93%9D%E7%89%99%E8%BF%9E%E6%8E%A5%E7%9B%B8%E5%85%B3.md###1.android蓝牙开发需要依
Yengi
·
2024-01-15 22:16
test
android
学习
笔记
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
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
其他