这一篇介绍一下Android Studio的快捷键。我会通过实际的操作来介绍,而不是单纯的列出来所有的按键。
首先做一个假设,按着我之前的文章你应该有了一个hello world 的项目,并且也配置好了Android Studio的外观,已经code的字体,文字的大小这些。
接下来我们创建一个Activity

接下来我们试着写个简单的解析JSON的功能,直接写在Activity即可。刚好也来展示一下Android Studio的好处。

首先来看我们在libs下面没有添加任何的jar文件,但是在Activity中却可以直接使用v7包中的类了


关键点就是我们在app/build.gradle下面添加了

compile 'com.android.support:appcompat-v7:22.2.0'

这样在点击如下按钮之后,gradle就会去帮我们管理依赖库了。今后如果项目中依赖了github上的第三方库也就是直接添加一句代码就可以了。具体的包名和版本号都会在各自的README.md中说明的。


现在我们在libs下面添加一个gson的jar文件。再次点击如上图的按钮,gson也就添加到了项目中,这样就可以在Activity中使用Gson了。

接下来创建一个名字问User的实体类,只要空的累就行。就像是这样的

public class User{

}

Android Studio插件安装

Android Studio中有很多使用的小插件可以使用。比如json转实体类,view的依赖注入等等。

首先打开Setting界面,在左侧找到Plugins,按着下图的方式操作



也可以通过离线的方式,这里就不多介绍了。安装过后重启Android Studio,接着我们打开User.java

按下快捷键Alt+Insert


上图的第一个选项是添加了json插件之后才有的。我们点击第一项,在弹出框中放上一段JSON

{
    "name": "张",
    "age": "12"
}

之后点击确认,就能看到生成的字段和setter,getter方法

public class User {


    /**
     * name : 张
     * age : 12
     */
    private String name;
    private String age;

    public void setName(String name) {
        this.name = name;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getName() {
        return name;
    }

    public String getAge() {
        return age;
    }
}

项目可能会遇到报错的时候,通过F2快速跳转到错误位置。如果想要同时修改多行文本,可以按下Alt然后长按鼠标左键上下移动选中,类似下图


项目中会用到一些资源文件,我们可以直接在代码中写好类似R.string.text1这样的引用代码,然后通过Alt+Enter直接在string.xml中生成这样的文字内容。Alt+Enter是Android Studio的万能键,可以给出多种提示。

设置代码模版

开发中我们总是会写一些重复性的代码,比如Adapter的基本用法总是有getView和ViewHolder。这时候可以通过设置Live Templates模版来简化操作。

首先打开设置界面,找到Live Templates。新建一个组叫做Android,之后创建一个Adapter模版示例。如下图操作步骤


在Android组下面添加一个Live Templates,名字叫做myadapter,把下面的代码粘贴进去

public abstract class AppBaseAdapter<T> extends BaseAdapter {

    public List<T> list = new ArrayList<T>();
    public LayoutInflater inflater;
    public Activity mContext; 
    public Resources mResource;

    public AppBaseAdapter(Activity context) {
        this.mContext = context;
        inflater = LayoutInflater.from(mContext);
        mResource = context.getResources();
    }


    @Override
    public int getCount() {
        return list.size();
    }

    @Override
    public T getItem(int position) {
        return list.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        return convertView;
    }

    public void refreshAdapter(List<T> arrayList) {
        if (arrayList != null && !arrayList.isEmpty()) {
            list.addAll(arrayList);
            notifyDataSetChanged();
        }

    }


    public void clear() {
        list.clear();
        notifyDataSetChanged();
    }

    public void remove(int index) {
        list.remove(index);
        notifyDataSetChanged();
    }

    public void remove(Object obj) {
        list.remove(obj);
        notifyDataSetChanged();
    }

    public List<T> getList() {
        return list;
    }

    public void setList(List<T> list) {
        this.list = list;
    }


    public void update(int index, T bean) {
        list.remove(index);
        list.add(index, bean);
        notifyDataSetChanged();
    }
}

接着点击底部的define


勾选上Java如下图


最后勾选上下图中的设置,点击OK即可

现在让我们回到Activity中,然空白地方尝试输入myadapter就能看到如下效果


点击回车就能快速生成一个adapter模版代码,之后就是按着你的需求改动了