Android开发手册

目录

Material Design. 2

SharesPrefs存储... 3

手机内部文件存储... 5

SQLite数据存储... 6

Litepal 8

MVP. 9

RxJava. 10

Retrofit 11

Realm... 12

Glide. 13

Relativelayout: 14

常用对齐方式... 15

各种Layout的特有属性... 16

android布局属性详解... 19

android:inputType. 21

时间,日期选择控件... 23

Toast 25

SwipeListView.. 26

Intent 27

android.util.Log. 29

隐藏原生状态栏... 30

Android之网络图片加载的5种基本方式... 31

存储单位... 35

eclipse最有用快捷键整理... 36

 

 

 

Material Design

SharesPrefs存储

SharedPreferences:对应sp文件接口

用来存储单一的小数据,用来存取用户名密码等

存储数据类型:boolean,float,int,long,String

数据保存的路径:/data/data/packageName/shared_prefs/yyy.xml

设置的数据只能是当前应用读取,其他与应用不可以

应用卸载时数据会被删除

方法:context.getSharedPreferences(String name,int mode):得到SP对象

Edit sp.edit():得到Editor对象

XXX sp.getXXX(name,defaultVaule):根据name得到对应的数据

Editor:能更新sp文件的接口

Editor put(name,value);保存一个键值对,没有真正保存到文件中

Editor remove(name)

Commit():提交,数据真正保存到文件中

查看保存的数据

点击右下角decice FileExplorer,进入/data/data/所属应用包名packageName/shared_prefs/yyy.xml

 

存入键值对

读取键值对:

手机内部文件存储

保存较大的数据或图片

/data/data/projectPackage/files

设置的数据只能是当前应用读取,其他与应用不可以

应用卸载时数据会被删除

手机内部读取文件

SQLite数据存储

存入有一定数据结构的数据

文件类型:db

数据保存的路径:/data/data/projectPackage/database/xxx.db

默认情况下其他应用不能访问,当前应用可以通过ContentProvider提供其他应用操作

应用下载时会删除此数据

 

SQLiteOpenHelper:数据库操作的抽象数据类

adb shell  进入系统根目录

cd data/data/…/databases : 进入包含数据库文件的文件夹下

sqlite3 contacts2.db : 使用sqlite3命令连接指定的数据库文件, 进入连接模式

 .help : 查看命令列表

.tables : 查看所有表的列表

执行insert/delete/update/select语句

.exit : 退出数据库连接模式

Ctrl + C : 直接退出sell模式

Sqlite支持的数据类型与Mysql相似, 常用的数据类型

    • INT/INTEGER : 整数
    • FLOAT/DOUBLE : 小数
    • CHAR/VARCHAR/TEXT : 字符串文本
    • BLOB : 文件
    • DATE/ DATETIME : 日期/日期时间

Sqlite操作数据库的sql语句基本与mysql一样,  但需要注意下面2个点:

    • 最大的不同在于创建表时可以不用指定字段类型, Sqlite可以适时的自动转换, 但除varchar类型外最好指定类型
    • Sqlite中的主键最名称建议使用_id
  • create table employee (
  •        _id integer primary key autoincrement, /*主键,自增长*/
  •        name varchar,                /*字符串*/
  •        salary double,                                /*小数*/
  •        birthday date                                /*日期, 可直接插入日期格式字符串*/
  • )
  • /*插入*/
  • INSERT INTO employee (name,salary,birthday) VALUES('Tom', 8000, '1988-09-21');
  • /*删除*/
  • DELETE FROM employee WHERE _id=2
  • /*更新*/
  • UPDATE employee SET name='Jack',salary=salary+1000 WHERE _id=1
  • /*查找*/
  • SELECT * FROM employee where _id=3

Litepal

 

MVP

RxJava

Retrofit

Realm

Glide

Relativelayout:

1、基本属性

    gravity :设置容器内组件的对齐方式

    ignoreGravity : 设置该属性为true的组件,将不受gravity属性的影响

 

2、根据父容器定位

    layout_alignParentLeft : 左对齐

    layout_alignParenRight : 右对齐

    layout_alignParentTop : 顶部对齐

    layout_alignParentButtom : 底部对齐

    android:layout_centerHorizontal :水平居中

    android:layout_centerVertical : 垂直居中

    android:layout_centerInParent : 中间位置

 

3、根据兄弟组件定位

    layout_toLeftOf : 参考组件的左边

    layout_toRightOf: 参考组件的左边

    layout_above : 参考组件的上方

    layout_below : 参考组件的下方

    layout_alignTop :对齐参考组件的上边界

    layout_alignBottom : 对齐参考组件的下边界

    layout_alignLeft: 对齐参考组件的左边界

    layout_alignRight : 对齐参考组件的右边界

 

4、margin(偏移)

    设置组件与父容器的边界

    layout_margin 设置组件上下左右的偏移量

    layout_marginLeft 设置组件离左边的偏移量

    layout_marginRight 设置组件离右边的偏移量

    layout_marginTop 设置组件离上面的偏移量

    layout_marginButtom 设置组件离下面的偏移量

 

5、padding(填充)

    设置组件内部元素间的边距(比如TextView里的字体位置)

    android:padding 往内部元素的上下左右填充一定边距

    paddingLeft 往内部元素的左边填充一定边距

    paddingRight 往内部元素的右方填充一定边距

    paddingTop 往内部元素的上方填充一定边距

paddingBottom 往内部元素的下发填充一定边距

常用对齐方式

android:layout_above 将该控件的底部至于给定ID的控件之上

android:layout_below 将该控件的顶部至于给定ID的控件之下

android:layout_toLeftOf 将该控件的右边缘和给定ID的控件的左边缘对齐

android:layout_toRightOf 将该控件的左边缘和给定ID的控件的右边缘对齐

 

android:layout_alignBaseline该控件的baseline和给定ID的控件的baseline对齐

android:layout_alignBottom 将该控件的底部边缘与给定ID控件的底部边缘

android:layout_alignLeft 将该控件的左边缘与给定ID控件的左边缘对齐

android:layout_alignRight 将该控件的右边缘与给定ID控件的右边缘对齐

android:layout_alignTop 将给定控件的顶部边缘与给定ID控件的顶部对齐

 

 

android:layout_alignParentBottom如果该值为true,则将该控件的底部和父控件的底部对齐

android:layout_alignParentLeft如果该值为true,则将该控件的左边与父控件的左边对齐

android:layout_alignParentRight如果该值为true,则将该控件的右边与父控件的右边对齐

android:layout_alignParentTop如果该值为true,则将空间的顶部与父控件的顶部对齐

 

android:layout_centerHorizontal如果值为真,该控件将被至于水平方向的中央

android:layout_centerInParent如果值为真,该控件将被至于父控件水平方向和垂直方向的中央

android:layout_centerVertical 如果值为真,该控件将被至于垂直方向的中央

各种Layout的特有属性

2.1 FrameLayout

作为最简单的Layout,只具备基础属性:

 

layout_width & layout_height

layout_margin+方位 & padding+方位

layout_gravity & gravity

2.2 AbsoluteLayout

除了基础属性外,AbsoluteLayout还具备:

 

layout_x:指定控件的x坐标

layout_y:指定控件的x坐标

上述属性的取值均为固定值。

 

2.3 TableLayout

除了基础属性外,由于TableLayout的行TableRow是一个横向的(horizontal)的LinearLayout,所以具备LinearLayout的属性

 

2.4 LinearLayout

除了基础属性,还会有:

 

orientation

1.作用:设置布局内控件的排列方式

2.取值:vertical(垂直排列-默认值)、horizontal(水平排列)

android:orientation="vertical"; 

 //android:orientation="horizontal"; 

 

layout_weight

1.定义:是线性布局(Linelayout)的一个独特比例分配属性

2.作用:使用此属性设置权重,然后按照比例对界面进行空间的分配,公式计算是:控件宽度=控件设置宽度+剩余空间所占百分比宽幅

 具体可以参考这篇文章,讲解得非常详细

2.5 RelativeLayout

RelativeLayout的属性算是最多的了,除了基本属性外,还有:

a. 相对于父空间

 

XML属性       说明

layout_alignParentBottom   当前控件底端与父控件的底端对齐

layout_alignParentLeft  当前控件左端与父控件的左端对齐

layout_alignParentRight       当前控件右端与父控件的右端对齐

layout_alignParentTop  当前控件上端与父控件的上端对齐

layout_centerHorizontal       当前控件位于父控件的横向中间位置(水平方向上的中间)

layout_centerVertical    当前控件位于父控件的纵向中间位置(平面上的正中间)

layout_centerInParent   当前控件位于父控件的纵横向中间位置(垂直方向上的中间)

上述所有属性的取值皆为boolean属性:true、false。

 

b. 相对于给定控件

 

XML属性       说明

layout_above 使当前控件位于给出id控件的上方

layout_below 使当前控件位于给出id控件的下方

layout_toLeftOf     使当前控件位于给出id控件的左侧

layout_toRightOf   使当前控件位于给出id控件的右侧

layout_alignBottom      使当前控件与给出id控件的底部部重合

layout_alignLeft     使当前控件与给出id控件的左边重合

layout_alignRight  使当前控件与给出id控件的右边重合

layout_alignTop    使当前控件与给出id控件的顶部重合

layout_alignBaseline     使当前控件的BaseLine与给出id控件t的BaseLine重合

上述所有属性的取值皆为给定控件的id名,如下例子

 

//文本控件@+id/tab_textview在控件@+id/tab_imageview的下方

android:id="@+id/tab_textview"   

android:layout_below="@+id/tab_imageview"   

android:layout_width="wrap_content"   

android:layout_height="wrap_content"     

/>

3. 选择器selector.xml的属性

3.1 作用

通过设置selector.xml可使得控件在不同操作下(默认、点击、焦点等)的显示不同样式

 

3.2 属性

 

XML属性       说明

android:drawable  放一个drawable资源

android:state_pressed  按下状态,如一个按钮触摸或者点击。

android:state_focused  取得焦点状态,比如用户选择了一个文本框。

android:state_hovered  光标悬停状态

android:state_selected  选中状态

android:state_enabled  能够接受触摸或者点击事件

上述所有属性的取值皆为boolean属性:true、false。

 

3.3 实例说明

在drawable添加selector.xml资源文件。

 

button_selector.xml:

 

< selector xmlns:android="http://schemas.android.com//res/android">

 

 < !-- 指定按钮按下时的图片 -->

 

       android:drawable="@drawable/start_down"

 />

 

 < !-- 指定按钮松开时的图片 -->

 

       android:drawable="@drawable/start"

 />

 

< /selector>

android布局属性详解

RelativeLayout用到的一些重要的属性: 

 

    第一类:属性值为truefalse 
    android:layout_centerHrizontal 
水平居中 
     android:layout_centerVertical  
垂直居中 
    android:layout_centerInparent   
相对于父元素完全居中 
    android:layout_alignParentBottom
贴紧父元素的下边缘 
    android:layout_alignParentLeft  
贴紧父元素的左边缘 
    android:layout_alignParentRight 
贴紧父元素的右边缘 
    android:layout_alignParentTop   
贴紧父元素的上边缘 
    android:layout_alignWithParentIfMissing 
如果对应的兄弟元素找不到的话就以父元素做参照物 

    第二类:属性值必须为id的引用名“@id/id-name” 
    android:layout_below     
在某元素的下方 
    android:layout_above     
在某元素的的上方 
    android:layout_toLeftOf  
在某元素的左边 
    android:layout_toRightOf 
在某元素的右边 

    android:layout_alignTop   本元素的上边缘和某元素的的上边缘对齐 
    android:layout_alignLeft 
本元素的左边缘和某元素的的左边缘对齐 
    android:layout_alignBottom
本元素的下边缘和某元素的的下边缘对齐 
    android:layout_alignRight 
本元素的右边缘和某元素的的右边缘对齐 

第三类:属性值为具体的像素值,如30dip40px 
    android:layout_marginBottom             
离某元素底边缘的距离 
    android:layout_marginLeft                  
离某元素左边缘的距离 
    android:layout_marginRight                
离某元素右边缘的距离 
    android:layout_marginTop                  
离某元素上边缘的距离

  android:layout_marginStart="110dp"   离某元素开头的距离

 


EditTextandroid:hint 

设置EditText为空时输入框内的提示信息。 

android:gravity  
android:gravity
属性是对该view 内容的限定.比如一个button 上面的text.  你可以设置该text view的靠左,靠右等位置.以button为例,android:gravity="right"button上面的文字靠右 

android:layout_gravity 
android:layout_gravity
是用来设置该view相对与起父view 的位置.比如一个button linearlayout里,你想把该button放在靠左、靠右等位置就可以通过该属性设置.以button为例,android:layout_gravity="right"button靠右 

android:layout_alignParentRight 

使当前控件的右端和父控件的右端对齐。这里属性值只能为truefalse,默认false 

android:scaleType 
android:scaleType
是控制图片如何resized/moved来匹对ImageViewsizeImageView.ScaleType / android:scaleType值的意义区别: 

CENTER /center  按图片的原来size居中显示,当图片长/宽超过View的长/宽,则截取图片的居中部分显示 

CENTER_CROP / centerCrop  按比例扩大图片的size居中显示,使得图片长()等于或大于View的长(

CENTER_INSIDE / centerInside  将图片的内容完整居中显示,通过按比例缩小或原来的size使得图片长/宽等于或小于View的长/ 

FIT_CENTER / fitCenter  把图片按比例扩大/缩小到View的宽度,居中显示 

FIT_END / fitEnd   把图片按比例扩大/缩小到View的宽度,显示在View的下部分位置 

FIT_START / fitStart  把图片按比例扩大/缩小到View的宽度,显示在View的上部分位置 

FIT_XY / fitXY  把图片不按比例扩大/缩小到View的大小显示 

MATRIX / matrix 用矩阵来绘制,动态缩小放大图片来显示。 

  android:inputType

//文本类型,多为大写、小写和数字符号,(数字符号)

    android:inputType="none"//输入普通字符(英语)

    android:inputType="text"//输入普通字符(汉字)

    android:inputType="textCapCharacters"//输入普通字符

    android:inputType="textCapWords"//单词首字母大小

    android:inputType="textCapSentences"//仅第一个字母大小

    android:inputType="textAutoCorrect"//前两个自动完成

    android:inputType="textAutoComplete"//前两个自动完成

    android:inputType="textMultiLine"//多行输入

    android:inputType="textImeMultiLine"//输入法多行(不一定支持)

    android:inputType="textNoSuggestions"//不提示

    android:inputType="textUri"//URI格式

    android:inputType="textEmailAddress"//电子邮件地址格式

    android:inputType="textEmailSubject"//邮件主题格式

    android:inputType="textShortMessage"//短消息格式

    android:inputType="textLongMessage"//长消息格式

    android:inputType="textPersonName"//人名格式

    android:inputType="textPostalAddress"//邮政格式

    android:inputType="textPassword"//密码格式

    android:inputType="textVisiblePassword"//密码可见格式

    android:inputType="textWebEditText"//作为网页表单的文本格式

    android:inputType="textFilter"//文本筛选格式

    android:inputType="textPhonetic"//拼音输入格式

    //数值类型

    android:inputType="number"//数字格式

    android:inputType="numberSigned"//有符号数字格式

    android:inputType="numberDecimal"//可以带小数点的浮点格式

    android:inputType="phone"//拨号键盘

    android:inputType="datetime"//日期+时间格式

    android:inputType="date"//日期键盘

android:inputType="time"//时间键盘

时间,日期选择控件

 

                android:id="@+id/et_data"

                android:layout_gravity="center"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:calendarViewShown="false"

                android:datePickerMode="spinner">

           

                android:id="@+id/et_time"

                android:layout_gravity="center"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:calendarViewShown="false"

                android:timePickerMode="spinner"/>

  int h=etTime.getCurrentHour();

        int m=etTime.getCurrentMinute();

DatePicker:

android:calendarViewShown:是否显示日历。

android:startYear:设置可选开始年份。

android:endYear:设置可选结束年份。

android:maxDate:设置可选最大日期,以mm/dd/yyyy格式设置。

android:minDate:设置可选最小日期,以mm/dd/yyyy格式设置。

  DatePicker的方法而言,除了常用获取属性的setter、getter方法之外,还需要特别注意一个初始化的方法init()方法,用于做DatePicker控件的初始化,并且设置日期被修改后,回调的响应事件。此方法的签名如下:

 

   init(int year, int monthOfYear, int dayOfMonth, DatePicker.OnDateChangedListener onDateChangedListener)

 

  从上面的init()方法可以看到,DatePicker被修改时响应的事件是DatePicker.OnDateChangedListener事件,如果要响应此事件,需要实现其中的onDateChanged()方法,其中参数从签名即可了解意思,这里不再累述。

 

   onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth)

 

 

 

  作为一个时间选择控件来说,TimePicker需要与时间相关的getter、setter方法之外,还需要有时间被修改够,回调的响应事件。

 

  TimePicker常用方法有如下几个:

 

is24HourView():判断是否为24小时制。

setIs24HourView():设置是否为24小时制显示。

getCurrentXxx():获取当前时间。

setCurrentXxx():设置当前时间。

setOnTimeChangedListener():设置时间被修改的回调方法。

  TimePicker控件被修改的回调方法,通过setOnTimeChangedListener()方法设置,其传递一个TimePicker.OnTimeChangedListener接口,需要实现其中的onTimeChanged()方法。

Toast

Toast.makeText(context, "things happened", Toast.LENGTH_SHORT).show();

SwipeListView

 

            xmlns:swipe="http://schemas.android.com/apk/res-auto"

            android:id="@+id/example_lv_list"

            android:listSelector="#00000000"

            android:layout_width="fill_parent"

            android:layout_height="wrap_content"

            swipe:swipeFrontView="@+id/front"

            swipe:swipeBackView="@+id/back"

            swipe:swipeActionLeft="[reveal | dismiss]"

            swipe:swipeActionRight="[reveal | dismiss]"

            swipe:swipeMode="[none | both | right | left]"

            swipe:swipeCloseAllItemsWhenMoveList="[true | false]"

            swipe:swipeOpenOnLongPress="[true | false]"

            swipe:swipeAnimationTime="[miliseconds]"

            swipe:swipeOffsetLeft="[dimension]"

            swipe:swipeOffsetRight="[dimension]"

            />

swipeFrontView - Required - front view id. 即ListView Item正常显示的控件Id,且必须与Item的布局文件中的控件id一样

swipeBackView - Required - back view id.  手指滑动时显示的,隐藏在FrontView后面,且必须与item的布局文件中控件Id一样

swipeActionLeft - Optional - left swipe action Default: 'reveal'  左滑的动作,默认reveal,即显示BackView,还有dismiss,choice会触发响应的方法。

swipeActionRight - Optional - right swipe action Default: 'reveal' 同上

swipeMode - Gestures to enable or 'none'. Default: 'both' 设置左滑、右滑、都支持

swipeCloseAllItemsWhenMoveList - Close revealed items on list motion. Default: 'true' 当滚动listview时,关闭所有展开的Item,最好不要设置为false,由于item的复用,false存在一些问题。

swipeOpenOnLongPress - Reveal on long press Default: 'true' 长按时触发显示

swipeAnimationTime - item drop animation time. Default: android configuration 动画时间长度

swipeOffsetLeft - left offset 左偏移量

swipeOffsetRight - right offset 右偏移量

Intent

传值

Intent intent = new Intent(LoginActivity.this,UserActivity.class);

                intent.putExtra("extra_name",name);

                startActivity(intent);

       Intent intent =getIntent();

        String name = intent.getStringExtra("extra_name");

 

 

android.util.Log

1. Log.v()

这个方法用于打印那些最为琐碎的,意义最小的日志信息。对应级别verbose,是Android 日志里面级别最低的一种。

 

2. Log.d()

这个方法用于打印一些调试信息,这些信息对你调试程序和分析问题应该是有帮助的。对应级别debug,比verbose 高一级。

 

3. Log.i()

这个方法用于打印一些比较重要的数据,这些数据应该是你非常想看到的,可以帮你分析用户行为的那种。对应级别info,比debug 高一级。

 

4. Log.w()

这个方法用于打印一些警告信息,提示程序在这个地方可能会有潜在的风险,最好去修复一下这些出现警告的地方。对应级别warn,比info 高一级。

 

5. Log.e()

这个方法用于打印程序中的错误信息,比如程序进入到了catch 语句当中。当有错误信息打印出来的时候,一般都代表你的程序出现严重问题了,必须尽快修复。对应级别error,比warn 高一级。

Shift+F10查看打印信息

Log.d(当前类名,”打印的话”)

 

 

隐藏原生状态栏

   ActionBar actionBar = getSupportActionBar();

        if (actionBar != null) {

            actionBar.hide();

        }

Android之网络图片加载的5种基本方式

HttpURLConnection:

 

 

HttpClients

XUtils

 

 

OkHttp

 

 

 

 

Volley

 

存储单位

在计算机/通讯行业中,计算数据传送速度也使用每秒传送公制数据量来计算

1 bit (b) = 0 or 1 = one binary digit 一个二进制位元

1 kilobit(kb)=10^3 bits = 1,000 bits 一千位元

1 Megabit(Mb)=10^6 bits = 1,000,000 bits 一百万位元

1 Gigabit(Gb)=10^9 bits = 1,000,000,000 bits 一万亿位元

根据进制规定,传送速度可以有两种表示方法 bps 和 Bps,但是他们是有严格区别。Bps中的 B 使用的是二进制系统中的Byte字节 ,bps中的 b 是十进制系统中的位元。

在我们常说的56K拨号,100M局域网都是bps计量,当用于软件下载时,下载工具一般又以Bps计算,所以它们之间有 8 bit=1 Byte 的换算关系,那么56Kbps拨号极限下载速度是 56Kbps/8=7KBps 每秒下载7K字节 。

在数据存储,容量计算中,一般又结合公制的进制和二进制的数据计算方法来计算

(二进制)

1 byte (B) = 8 bits (b) 字节=8个二进制位

1 Kilobyte(K/KB)=2^10 bytes=1,024 bytes 千字节

1 Megabyte(M/MB)=2^20 bytes=1,048,576 bytes 兆字节

1 Gigabyte(G/GB)=2^30 bytes=1,073,741,824 bytes 千兆字节

1 Terabyte(T/TB)=2^40 bytes=1,099,511,627,776 bytes吉字节

一些存储器厂家特别是硬盘厂家就更紧密结合十进制来计算,这就是为什么操作系统显示的容量与厂家标示的容量有些一些差异的原因

(十进制)

1 byte (B) = 8 bits (b)0

1 Kilobyte (K / KB) = 10^3 bytes = 1,000 bytes

1 Megabyte (M / MB) = 10^6 bytes = 1,000,000 bytes

1 Gigabyte (G / GB) = 10^9 bytes = 1,000,000,000 bytes

1 Terabyte (T / TB) = 10^12 bytes = 1,000,000,000,000 bytes

eclipse最有用快捷键整理

Ctrl+1 快速修复(最经典的快捷键,就不用多说了,可以解决很多问题,比如import类、try catch包围等)

Ctrl+Shift+F 格式化当前代码

Ctrl+Shift+M 添加类的import导入

Ctrl+Shift+O 组织类的import导入(既有Ctrl+Shift+M的作用,又可以帮你去除没用的导入,很有用)

Ctrl+Y 重做(与撤销Ctrl+Z相反)

Alt+/ 内容辅助(帮你省了多少次键盘敲打,太常用了)

Ctrl+D 删除当前行或者多行

Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)

Alt+↑ 当前行和上面一行交互位置(同上)

Ctrl+Alt+↓ 复制当前行到下一行(复制增加)

Ctrl+Alt+↑ 复制当前行到上一行(复制增加)

Shift+Enter 在当前行的下一行插入空行(这时鼠标可以在当前行的任一位置,不一定是最后)

Ctrl+/ 注释当前行,再按则取消注释

 

选择

Alt+Shift+↑ 选择封装元素

Alt+Shift+← 选择上一个元素

Alt+Shift+→ 选择下一个元素

Shift+← 从光标处开始往左选择字符

Shift+→ 从光标处开始往右选择字符

Ctrl+Shift+← 选中光标左边的单词

Ctrl+Shift+→ 选中光标又边的单词

 

移动

Ctrl+← 光标移到左边单词的开头,相当于vim的b

Ctrl+→ 光标移到右边单词的末尾,相当于vim的e

 

搜索

Ctrl+K 参照选中的Word快速定位到下一个(如果没有选中word,则搜索上一次使用搜索的word)

Ctrl+Shift+K 参照选中的Word快速定位到上一个

Ctrl+J 正向增量查找(按下Ctrl+J后,你所输入的每个字母编辑器都提供快速匹配定位到某个单词,如果没有,则在状态栏中显示没有找到了,查一个单词时,特别实用,要退出这个模式,按escape建)

Ctrl+Shift+J 反向增量查找(和上条相同,只不过是从后往前查)

Ctrl+Shift+U 列出所有包含字符串的行

Ctrl+H 打开搜索对话框

Ctrl+G 工作区中的声明

Ctrl+Shift+G 工作区中的引用

你可能感兴趣的:(安卓)