【译】移动应用开发:如何创建自定义Android代码模板

这篇教程会为你展示如何创建属于你自己的代码模板。大多数的Android开发者都至少一次使用过Android代码模板来新建工程。但是你有没有尝试过创建自己的Android代码模板? 在这篇教程中,我们将会为你展示可用于从Android Studio IDE生成包含Google Analytics配置的Android工程模板。

源码

在这里下载源码原文链接

代码生成过程图解


具体创建步骤

要创建自己的模板,请确保:

  1. 你已经了解上述代码生成过程图解;
  2. 你有一些关于FreeMarker的知识;
  3. 你有一些关于Android IDE模板格式的知识,你可以在这里查看相关文档。

第一步:创建Google Analytics应用程序文件夹

这是你的模板目录,在Windows上,${android studio 安装路径}/plugins/android/lib/templates/,其他平台Linux,Mac OS请自行查找; 在GoogleAnalyticApplication文件夹中创建根文件夹和其他文件,如下所示:


第二步:创建template.xml文件

每个模板目录必须包含一个template.xml文件,这其中包含有关模板的一些元数据,包括名称,描述,类别和用户可见参数这些IDE将作为选项呈现给用户。 文件中还会在指明FreeMarker处理的recipe文件名称和全局变量文件,如果除了模板参数值之外还有全局变量应该对所有FreeMarker处理的文件可见。 Template.xml


	
	
	
	
	
	
	
	
	
	
		
		template_google_analytics.png
	
	
	
 

其中的一些参数比如: activityClass, layoutName, classApplication, googleAnalyticID, dispatchPeriod, autoActivityTracking,将在创建项目时显示在弹出窗口中。


第三步:创建globals.xml.ftl文件

这是一个可选的文件,里面包含全局变量的定义,用于此模板的所有FreeMarker处理任务。 globals.xml.ftl


        
    
        

第四步:在root文件夹中创建相关文件和文件夹

root文件夹中包含模板源代码


1.创建AndroidManifest.xml.ftl


    
        
        
        
            
                
                
            
        
    

其中的packageName,classApplication是在template.xml文件中定义的。

2.创建Application.java.ftl文件

package ${packageName};
import android.app.Application;
import com.google.android.gms.analytics.GoogleAnalytics;
import com.google.android.gms.analytics.Tracker;
/**
 * Created by TungDX on 5/29/2015.
 */
public class ${classApplication} extends Application {
    private static GoogleAnalytics analytics;
    private static Tracker tracker;
    @Override
    public void onCreate() {
       analytics = GoogleAnalytics.getInstance(this);
       tracker = analytics.newTracker("${googleAnalyticID}");
    }
    public static GoogleAnalytics getGoogleAnalytics() {
       return analytics;
    }
    public static Tracker getTracker() {
        return tracker;
    }
}

其中的packageName,googleAnalyticID是在template.xml文件中定义的。

3.创建MainActivity.java.ftl文件

package ${packageName}.activities;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import ${packageName}.${classApplication};
import ${packageName}.R;
public class MainActivity extends ActionBarActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
    @Override
    protected void onStart() {
        super.onStart();
        ${classApplication}.getGoogleAnalytics().reportActivityStart(this);
    }
    @Override
    protected void onStop() {
        super.onStop();
        ${classApplication}.getGoogleAnalytics().reportActivityStop(this);
    }
}

其中的packageName,classApplication是在template.xml文件中定义的。

4.创建activity_main.xml.ftl文件

    

5.创建strings.xml.ftl文件

    
    ${escapeXmlString(activityTitle)}
    
	Google Analytic is ready!

6.创建dimens.xml文件

    
    16dp
    16dp

7.创建recipe.xml.ftl文件

recipe.xml文件中包含了从该模板生成代码时应执行的各个命令。比如,你可以复制某些文件或目录,或者通过FreeMarker运行源文件,并要求IDE在代码生成后打开一个文件。











 






       
    
    

8.检查依赖


9.检查AndroidManifest.xml.ftl


10.检查Application.java.ftl

https://robusttechhouse.com/wp-admin/post.php?post=6937&action=edit&message=10#

11.检查MainActivity.java.ftl



12.检查analytics_global_config.xml.ftl


13.从模板中生成 activity_main.xml, dimens.xml, strings.xml文件


14.工程创建成功后打开对应文件

如果你的Android Studio IDE运行,请重新启动它看到自己的模板如下图


如果从模板生成项目时遇到此错误:AssertionError: Wrong line separators: ‘…plication;rnrnimport…’ at offset 29: 请检查模板中所有文件的行分隔符是否正确,请确保使用正确的行分隔符在对应的的计算机的操作系统中。

原文链接

稀土掘金责编内容来自:稀土掘金 (源链) | 更多关于

阅读提示:酷辣虫无法对本内容的真实性提供任何保证,请自行验证并承担相关的风险与后果!
本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 移动开发 » 【译】移动应用开发:如何创建自定义Android代码模板

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录