实战——Android.mk常用模板实例

实战——Android.mk常用模板实例,第1张

LOCAL_PATH :=$(call my-dir)  :编译目录

include $(CLEAR_VARS)  :清理环境变量

LOCAL_JAVA_LIBRARIES :=                 #指定依赖的共享Java类库

LOCAL_STATIC :=    #指定依赖的静态Java类库

#指定源码列表。 这里使用系统定义的函数搜寻 src目录下的文件形式的列表

LOCAL_SRC_FILE :=$(call all-java-files-under,src)

LOCAL_MODULE_TAGS := optional    #指定模块的标签

LOCAL_CERTIFICATE    := shared    乎樱    #指定模块的签名方式

LOCAL_PACKAGE_NAME :=testapk    #指定模块的名称

include $(BUILD_PACKAGE) 

#-----------------------------------------------------------------------------------

LOCAL_PATH :=$(call my-dir)

include $(CLEAR_VARS)

LOCAL_SRC_FILES := $(call  all-java-files-under,src)

LOCAL_MODULE_TAGS :=optional         #指定模块的标签

LOCAL_MODULE := javadynamiclib        #指定模块的名称

include $(BUILD_JAVA_LIBRARY) 

#-----------------------------------------------------------------------------------

LOCAL_PATH :=$(call my-dir)

include $(CLEAR_VARS)

LOCAL_SRC_FILES := $(call all-java_files-under,src)

LOCAL_MODULE :=javastaticlib             #指定模块的名称

include $(BUILD_STATIC_JAVA_LIBRARY)

#-----------------------------------------------------------------------------------

LOCAL_PATH :=$(call my-dir)

include $(CLEAR_VARS)

LOCAL_NO_STANDARD_LIBRARIES := true                    #指定依赖的静态Java类库

LOCAL_PACKAGE_NAME := javareslib                            #定义模块名

LOCAL_CERTIFICATE  :=platform                                    #指定签名类型

LOCAL_APPT_FLAGS := -x                    岁历丛            烂春               #定义aapt工具参数

LOCAL_MODULE_TAGS := user                                       #指定模块的安装路径

LOCAL_MODULE_PATH := $(TARGET_OUT_JAVA_LIBRARIES)

LOCAL_EXPORT_PACKAGE_RESOURCES := true              #值为ture时,其他的apk模块能引用本模块的资源

include $(BUILD_PACKAGE)  #apk

#-----------------------------------------------------------------------------------

LOCAL_PATH :=$(call my-dir)

include $(CLEAR_VARS)

LOCAL_SRC_FILES:=service.cpp  hello.c

LOCAL_SHARED_LIBRARIES :=libutils libbinder             #指定模块需要链接的动态库

ifeq ($(TARGET_OS),linux)                                            

            LOCAL_CFLAGS += -DXP_UNIX                           

#定义编译标志

endif

LOCAL_MODULE := service                                              #指定模块的名称

include $(BUILD_EXECUTABLE)

#-----------------------------------------------------------------------------------

LOCAL_PATH :=$(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional                          #指定模块的名称

LOCAL_MODULE :=libnativedynamic                       #指定模块的源文件 

LOCAL_SRC_FILES := \

nativedynamic.cpp 

LOCAL_SHARED_LIBRARIES := \                                #指定模块需要链接的动态库

libcutils \

libutils 

LOCAL_SHARED_LIBRARIES := libnativestatic           #指定模块依赖的静态库

LOCAL_C_INCLUDES  += \                                         #指定头文件的查找路径

$(JNI_H_INCLUDE) \

$(LOCAL_PATH)/../include 

LOCAL_CFLAGS += -O                                                #定义编译标志

include $(BUILD_SHARED_LIBRARY)  

#-----------------------------------------------------------------------------------

LOCAL_PATH :=$(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE_TAGS := optional            #指定模块的标签

LOCAL_MODULE :=libnativestatic               #指定模块的名称

LOCAL_SRC_FILES :=\                                   #指定模块的源文件

 nativestatic.cpp

LOCAL_C_INCLUDES +=                               #定义编译标志

LOCAL_CFLAGS +=-O

include $(BUILD_STATIC_LIBRARY)

#-----------------------------------------------------------------------------------

首先,找到创建File Template的位置,依次打开File ==>Setting ==>Editor ==>File and Code Templates

File Templates Settings

之后点击 +号添加一个File Template,这里需要填写 File Template的名称和代码。在本次案例中,我们将创建一个实现了部分方法的RecyclerViewAdapter的File Template。因此就取名叫RecyclerViewAdapter

RecyclerViewAdapter

之后你就可以在下方的代码区域粘贴或型宴锋者编写你的模板代码了。这里有几个预置的变量可以使用,当文件被创建的时候,这些预置的变量将会被 将会被对应的值替代,变量如下:

${NAME} 选祥蔽择的文件的文件名

${PACKAGE_NAME} 包名

${DATE} 系统当前的时间

当然,你也可以自定义变量,在本案例中,我们需要提供ViewHolder类和集合List的类型,所以自定义变量分别为${VIEWHOLDER_CLASS}和${ITEM_CLASS}

那么现在就来编写用于创建模板的代码,代码如下:

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

import android.content.Context

import android.support.v7.widget.RecyclerView

import android.view.LayoutInflater

import android.view.View

import android.view.ViewGroup

import java.util.List

#parse("File Header.java")

public class ${NAME} extends RecyclerView.Adapter<${VIEWHOLDER_CLASS}>{

 private final Context context

 private List<${ITEM_CLASS}>items

 public ${NAME}(List<${ITEM_CLASS}>items, Context context) {

   this.items = items

   this.context = context

 }

 @Override

 public ${VIEWHOLDER_CLASS} onCreateViewHolder(ViewGroup parent, int viewType) {

   View v = LayoutInflater.from(parent.getContext()).inflate(R.layout.${LAYOUT_RES_ID}, parent, false)

   return new ${VIEWHOLDER_CLASS}(v)

 }

 @Override

 public void onBindViewHolder(${VIEWHOLDER_CLASS} holder, int position){

   ${ITEM_CLASS} item = items.get(position)

   //TODO Fill in your logic for binding the view.

 }

 @Override

 public int getItemCount() {

   if (items == null){

     return 0

   }

   return items.size()

 }

}

当你想要使用这个文件模板时,会提示你提供相关变量的值,比如${VIEWHOLDER_CLASS}和${ITEM_CLASS},填写的值会自动替换对应的变量,非常的方便。

要使用已经定义好的File Template,只需要选中要创建位置的文件夹,然后点击鼠标右键,再点“New”,你就可以在列表卜晌中看到刚创建的File Template的名字

Selecting custom template

点击RecyclerViewAdapter后填写相关变量的值

Fill In Custom  Template Variables

填写完后点击"OK",之后你就可以看到自动生成的代码了

Generated Class From Template

1、在android

studio中进行打开一个项目的文件,然后在java的文件下进行创建一个activity的文件,进行选中目录文件。

2,进行点击android

studio软件菜单的“file”的选项。

3、d出了下拉的菜单中,进行选择菜单中的“new”的选项

4、点击完new的选项,就会d出了下一级的菜单中进行选择一个为“activity”的选项。

5、在activity中提供了多个activity的模板的文件,可以进行使用这些模板进行创建activity的文件穗槐。

6、就会d出了一个activity的窗口的,在activity

name的名称猜察友中进行输入昵称,然后直接进行点击“finish”的选项。

7、这样在项目中的activity的没袜创建成功了,这个activity的登录界面就创建成功了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/8214430.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存