Structure结构

上面有说, 可以通过 Alt + 7 快捷键 调出来。

个人觉得, 这个对于查看代码结构,还是很方便的。直接可以看到代码的大体结构。

我们以 android-23 的 View 类,为例

右侧2个箭头

Paste_Image.png

【箭头向下 指向横线】

选中后, 我们点击左侧,具体的类 或者 接口。 我们发现右侧会跟着移动

Paste_Image.png

取消选择以后,可以发现不会跟着移动

Paste_Image.png

【箭头向下 指向横线】,表示随着左侧点击,右侧自己查找类和方法

【横线指出 向下箭头】

选中后, 我们点击右侧, 具体代码位置。 发现也会到对应的位置。

Paste_Image.png

同理, 取消后,就不存在了

【横线指出 向下箭头】,表示随着右侧点击,左侧查找所在类和方法

或者总体自己理解

横线,表示代码。 一个是选择后,去找代码。 一个是从代码,去找位置

展开合并

Paste_Image.png

我们【点击Expand All,展开全部】

Paste_Image.png

可以发现,左侧全部展开了

【点击 Collapse All, 合拢全部】

Paste_Image.png

可以发现,左侧全部合拢了

这2个,表示左侧 全部合拢, 全部展开

匿名类

显示匿名类

Paste_Image.png

显示继承

Paste_Image.png

选择之前,是这样的

Paste_Image.png

选择之后,可以发现,浅灰色的方法,都是继承自父类的(双击,可以进入父类查看)

Paste_Image.png

显示非公开

Paste_Image.png

点击前,我们可以看见左边有一些类

Paste_Image.png

点击后,我们可以发现, 一些private等的类,也可以看见了

Paste_Image.png

这里,我们可以看见 DeclaredOnClickListener 私有静态类

(都说反射效率低, 但是可以发现 很多底层的类, 都大量运用反射)

Paste_Image.png

取消点击后, 我们在左边就看不见对应的类了

显示属性

这里f , 就是 field的意思, 也就是 属性, 当然,我觉得理解成 字段 也挺好。

Paste_Image.png

点击前,我们只能看见 类,接口和方法

点击后,我们可以看见对应的属性

Paste_Image.png

按属性排列

这里P,是 Property。

自己 理解 Property属性, 和 Field的区别。

(Property是对外的, 通常是为了让外面知道,通常有setter或getter)

(Field 不存在对不对外, 类中需要存储, 都属于Field)

(自己参考:Properties and fields are the same, except a property is a settable/gettable field)

Paste_Image.png

我们拿android-23的View 的 setOnClickListener() 方法举例。

我们调整成, Autoscroll from Source

也就是,【横线指出 向下箭头】, 通过源码去移动左侧的标记

Paste_Image.png

当我们点击【P】的时候

Paste_Image.png

我们可以发现,左侧 把对应的方法

放置到了 属性 onClickLister: OnClickListener 下面

这样, 我们可以按 Property属性去了解作者的代码想法

按实现归类

Paste_Image.png

这个符合,自己看不太清楚, 感觉 像一个【I】,也就是 Interface的意思

Paste_Image.png

我们可以发现, View 实现 3个接口, 2个类的内部接口Callback, 一个公开接口AccessibilityEventSource

拿 KeyEvent的内部接口为例:

Paste_Image.png

onKeyDown 方法 是经常用的

我们在View中, 找到实现

Paste_Image.png

这个时候,左侧方法是单独排列的。

当我们点击 【I】的时候,

Paste_Image.png

我们可以发现,是按接口类型, 排列

这样, 当一个类实现多个接口的时候

可以清楚看出哪些方法是实现哪个接口

按字母顺序排序

按字母顺序排列, 这个比较好理解

Paste_Image.png

点击后,就按字母顺序排列

Paste_Image.png

按是否可见排列

要按可见度排序, 要先打开 show non-public【显示非公开】

Paste_Image.png

我们以装载 OnClickLister的 静态内部类 ListenerInfo 举例(没有修饰符,是不可见的)

这个时候,我们没点击 可见度排序 前

我们发现 ListenerInfo 是按 代码排序的, 比较靠前

Paste_Image.png

点击后:

Paste_Image.png

就按可见度排序,排到后面了

其他表示

访问权限

访问权限修饰符修饰成员变量和方法

public:表明该成员变量和方法是共有的,能在任何情况下被访问。

protected:必须在同一包中才能被访问。

friendly:在一个包中或者子类中才能被访问。(可以不写)

private: 只能在本类中访问。

我们看见在【m】后面(当然,类和接口后都有)

Paste_Image.png

有这4中,也就是分别代表上面的四种修饰符

public:

Paste_Image.png

protected:

Paste_Image.png

friendly:

Paste_Image.png

private:

Paste_Image.png

其他1

Field:字段属性

Paste_Image.png

Method:方法

Paste_Image.png

Class:类

Paste_Image.png

Interface:接口

Paste_Image.png

其他2

这里比较多, 就拿 方法m 来举例子:

final:

Paste_Image.png

static:

Paste_Image.png

android studio左边选择渠道,AndroidStudio简单使用(二):左侧Structure相关推荐

  1. Android studio游戏开发就是这么简单:卡牌杀系列(核心UI篇:SufaceView的核心用法)

    Android studio游戏开发就是这么简单:卡牌杀系列(核心UI篇:SufaceView的核心用法) Android studio五年经验教你如何:花费了2周快速开发卡牌杀系类游戏,核心思路分享 ...

  2. 基于Android Studio的蓝牙通信的简单应用与开发

    实现基于Android Studio的蓝牙通信的简单应用与开发 实现蓝牙通信 界面展示 核心文件 部分代码展示 总结 实现蓝牙通信 通过权限申请与代码实现,完成蓝牙通信的简单应用与开发. 界面展示 核 ...

  3. android studio ddms 打开空白,AndroidStudio中如何打开DDMS-AndroidStudio打开DDMS的教程 - 河东软件园...

    Android Studio是余款Android的集成开发工具,作用类似于Eclipse软件.而DDMS则是一款调试工具,全称为:Dalvik Debug Monitor Service.它在Andr ...

  4. android studio自定义类,为AndroidStudio设置自定义类注释

    我们在使用eclipse的时候,只要在类上面输入/**再按enter,就会出现类注释. package com.demo; /** * * @author chenjunxu * */ public ...

  5. 基于Android Studio的五子棋游戏的简单设计

    [摘要]: 随着时代的发展,现代科技的飞跃,我们的日常娱乐生活变得丰富多彩.而手机游戏被业内人士称为继通信之后的有一座"金矿",手机休闲娱乐应用将成为PC休闲娱乐之后又一重要业务增 ...

  6. Android studio连接MySQL并完成简单的登录注册功能

    近期需要完成一个Android项目,那先从与数据库交互最简单的登陆注册开始吧,现记录过程如下: 此篇文章的小demo主要涉及数据库的连接,以及相应信息的查找与插入. 我已将源码上传至GitHub: h ...

  7. Android Studio+百度地图API实现简单gis移动端App

    实习说明: 由于很多内容网上都是详细说明,但是我在帮助同学们解决问题过程遇到许多奇怪的问题,花了很多时间去解决,网上查不到,所以值得我记录下来,让后面的学弟学妹节省大部分时间!!同时我也会将该文章发布 ...

  8. Android之如何解决Android Studio左边的的project不见了

    今早上一打开Android studio,尼玛,我的project跑哪里去了,郁闷了,如下图 本来是要去问我师傅的,但是一想这么简单的问题也去问,弱爆了,如果在网上找不到解决问题的办法再去问吧,果然找 ...

  9. android studio 新建工程慢,关于AndroidStudio新建与编译项目速度慢解决办法

    android第一次新建项目是,相关依赖包需要下载很久,至少半小时,因为网速问题,还会多次下载失败. 解决办法如下: 1.通过镜像将gradle-5.4.1-all.zip下载到本地:解压到文件夹:D ...

最新文章

  1. Azure Logic Apps正式发布
  2. struts2 过滤器和拦截器
  3. visual c++ for .net(新语法)
  4. MyEclipse6.0下代码提示(alt+/)无法使用的解决方法
  5. 硬件安全系列 逻辑电路基础知识介绍(二)
  6. postman测试工具,如何对参数使用md5加密
  7. 操作系统之文件管理:7、文件的系统层次
  8. php获取时间计算时间差
  9. 基金销售“号”令天下,蚂蚁财富未来要颠覆东方财富?
  10. cad 选择框不是矩形 解决方法
  11. Windows的截图快捷方式
  12. 浏览器上不去网络。需要进入ie点开Internet选项,网络中,局域网(LAN)设置,可以勾选上自动检测设置
  13. 透过全球首个知识增强千亿大模型,看到中国AI差异化发展之路
  14. Codeforces Gym 100015G Guessing Game 差分约束
  15. 年会抽奖程序:200行HTML+JavaScript写个桌面程序
  16. [游戏安全] Unity3D游戏无意中的发现
  17. 招聘网站分析-智联招聘网的爬虫设计与实现
  18. Java web----多表查询
  19. 什么是m叉树_品读 | 记忆深处那些树
  20. Python Diary - Day 15 模块、异常和文件

热门文章

  1. WPF ViewModel与多个View绑定后如何解决的问题
  2. Python学习---深浅拷贝的学习
  3. JSP的优势与劣势浅析
  4. Git 版本控制 在 WIN 下的一些使用方法
  5. Cocos2d-x——导入Cocostudio资源
  6. [转载] python中bool啥意思_Python中的bool类型
  7. quatus ii------调试利器 SignalTap II简介(基于TIGER BOARD 板子)
  8. Vue.js 学习笔记 一
  9. NLP(三) 预处理
  10. python json格式和csv文件转换