Android studio 使用技巧(1)—-文件模板(File Templates)

使用场景

举个例子,我们有个BaseActivity,里面定义了一些基础的方法,以后我们写的每个Activity都要继承这个基类,并且实现里面的方法,这是我们Android开发常用到的一种方法,但是这样就会有个问题,就是每次我们都要写很多重复的代码,这个时候我们就可以借助文件模板来实现这些重复的代码。

使用方法

比如说我有这样一个Activity,继承BaseActivity ,并且重写其getLayoutID(),onInitTitle(),onResolveIntent(),onInitFragment(),4个方法来初始化这个Activity,我们发现这个类的大部分代码都是死的,所以我们可以用文件模板来快速创建这样一个类。

package zuifan.hwj3747.com.zhuifan.ui.test2;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.Toast;

import zuifan.hwj3747.com.zhuifan.R;
import zuifan.hwj3747.com.zhuifan.base.BaseActivity;


public class TestActivity2 extends BaseActivity {

    public static TestActivity2 instance;

    public static void launch(Context context) {
        Intent intent = new Intent(context, TestActivity2.class);
        context.startActivity(intent);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    protected int getLayoutID() {
        return  R.layout.activity_test2;
    }

    @Override
    protected void onInitTitle() {
        instance=TestActivity2.this;
    }

    @Override
    protected void onResolveIntent(Intent intent) {

    }

    @Override
    protected void onInitFragment() {
        showContent(new TestActivityFragment2(),R.id.Layout);
    }
}

打开setting搜索file template,找到file and code template选项:

Paste_Image.png

点击加号,新建一个模板,在Name的地方写上模板的名字比如TestTemplates,又下角是一些系统常量的说明:

  • ${PACKAGE_NAME} 当前包名
  • ${NAME} 当前类名
  • ${USER} 当前用户名
  • ${DATE} 当前日期
  • ${YEAR} 当前年份
  • ${MONTH} 当前月份
    等等。
    并且我们也可以自定义一些变量,格式是${},比如${test},在新建模板的时候会让你填这些值。

那接下来我们就可以用系统常量加自定义的变量,把我们上面的Activity类模板写完了,如下:

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.Toast;

import ${BasePackage}.R;
import ${BasePackage}.base.BaseActivity;


public class ${NAME} extends BaseActivity {

    public static ${NAME} instance;

    public static void launch(Context context) {
        Intent intent = new Intent(context, ${NAME}.class);
        context.startActivity(intent);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    protected int getLayoutID() {
        return  R.layout.${layout_activity};
    }

    @Override
    protected void onInitTitle() {
        instance=${NAME}.this;
    }

    @Override
    protected void onResolveIntent(Intent intent) {

    }

    @Override
    protected void onInitFragment() {
        showContent(new ${fragment_name}(),R.id.${activity_id});
    }
}

把上面写好的模板填入TestTemplates,保存,接下来我们就可以快速创建Activity类了!我们在zuifan.hwj3747.com.zhuifan.ui.test这个包下新创建一个模板,如下:

Paste_Image.png

然后出现如下选择框,填入文件名,以及我们自定义的一些变量。点击完成。

Paste_Image.png

最后生成代码:

package zuifan.hwj3747.com.zhuifan.ui.test;

import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.KeyEvent;
import android.widget.Toast;

import zuifan.hwj3747.com.zhuifan.R;
import zuifan.hwj3747.com.zhuifan.base.BaseActivity;


public class TestActivity extends BaseActivity {

    public static TestActivity instance;

    public static void launch(Context context) {
        Intent intent = new Intent(context, TestActivity.class);
        context.startActivity(intent);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
    }

    @Override
    protected int getLayoutID() {
        return R.layout.activity_test;
    }

    @Override
    protected void onInitTitle() {
        instance = TestActivity.this;
    }

    @Override
    protected void onResolveIntent(Intent intent) {

    }

    @Override
    protected void onInitFragment() {
        showContent(new TestActivityFragment2(), R.id.test);
    }
}

测试通过,与要求的Activity类一样。这样一个文件模板就算是完成了!

IT文库 » Android studio 使用技巧(1)—-文件模板(File Templates)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址