当前位置: 首页 > wzjs >正文

如何做自助网站重庆可靠的关键词优化研发

如何做自助网站,重庆可靠的关键词优化研发,民企厂房建设招标网站,广东网站建设公司排名文章目录 变量定义函数定义函数调用闭包参数APK输出配置多channel配置依赖配置关键总结常见混淆点groovy高度兼容java 变量定义 def debugCdnUrl "\"http://xxx\"" //变量赋值函数定义 def getTime() { // 函数定义(def 是 Groovy 中定义变…

文章目录

  • 变量定义
  • 函数定义
  • 函数调用
  • 闭包参数
  • APK输出配置
  • 多channel配置
  • 依赖配置
  • 关键总结
  • 常见混淆点
  • groovy高度兼容java

变量定义

def debugCdnUrl = "\"http://xxx\"" //变量赋值

函数定义

def getTime() {  // 函数定义(def 是 Groovy 中定义变量/函数的关键字)return new Date().format("yyyyMMdd", TimeZone.getDefault())
}

函数调用

apply plugin: 'com.android.application'  // apply 是方法,参数是一个 Map
// (plugin: 'com.android.application' 等价于 [plugin: 'com.android.application'])println "hello world"  // 方法调用(Groovy的 println)signingConfigs {  // 方法调用(接收闭包参数)debug {  // 方法调用(配置 debug 签名)storeFile file('..\\myKey\\xxxKey.jks')  // 方法调用(storeFile 是方法,参数是 file() 的返回值)keyPassword '123456'  // 方法调用(参数字符串)// ...其他同理}
}buildTypes {  // 方法调用debug {  // 方法调用(配置 debug 类型)signingConfig signingConfigs.debug  // 方法调用(参数是 signingConfigs.debug 的返回值)minifyEnabled false  // 方法调用(参数布尔值)buildConfigField("String", "app_key", "\"${app_key}\"")  // 方法调用(三个参数)}
}

闭包参数

android {  // 方法调用(接收闭包参数)compileSdkVersion 30        // 方法调用(参数30)buildToolsVersion '28.0.3'   // 方法调用(参数字符串)useLibrary 'org.apache.http.legacy'  // 方法调用(参数字符串)defaultConfig {  // 方法调用(接收闭包参数)applicationId "com.jy.demo"      // 方法调用(参数字符串)minSdkVersion 21                 // 方法调用(参数21)targetSdkVersion 30              // 方法调用(参数30)// ...其他类似}sourceSets {  // 方法调用(接收闭包参数)main {  // 方法调用(配置 main 的 source set)jniLibs.srcDir 'libs'  // 方法调用(jniLibs 是对象,srcDir 是方法)}// ...其他channel配置同理}
}

APK输出配置

applicationVariants.all { variant ->  // 方法调用(all 是方法,参数是闭包)def buildType = variant.buildType.name  // 属性访问(variant.buildType 是对象,name 是属性)variant.getPackageApplicationProvider().get().outputDirectory = ...  // 方法调用链(getPackageApplicationProvider() 返回对象,再调用 get())variant.outputs.each {  // 方法调用(each 是 Groovy 的迭代方法)it.outputFileName = ...  // 属性赋值(it 是 outputs 的元素,outputFileName 是属性)}
}

多channel配置

flavorDimensions "channel", 'cdn'  // 方法调用(两个字符串参数)
productFlavors {  // 方法调用(接收闭包参数)p_xxx {  // 方法调用(创建名为 p_xxx 的 flavor)dimension "channel"  // 方法调用(参数字符串)applicationId "com.xxx.demo"  // 方法调用(参数字符串)buildConfigField "String", "apkUpdateUrl", '"..."'  // 方法调用(三个参数)《注入字段》}// ...其他同理
}

依赖配置

dependencies {  // 方法调用(接收闭包参数)p_xxxImplementation fileTree(...)  // 方法调用(p_xxxImplementation 是方法名,参数是 fileTree 的返回值)    p_pftestImplementation fileTree(include: ['*.jar', '*.aar'], dir: 'gamelibs') //demo of previous lineimplementation 'androidx.appcompat:appcompat:1.3.1'  // 方法调用(implementation 是方法,参数字符串)
}

关键总结

  • 方法调用:Groovy 允许省略括号,例如 compileSdkVersion 30 等价于 compileSdkVersion(30)
  • 闭包参数:类似 android { … } 的结构,android 是方法,后面的 { … } 是闭包参数
  • 属性赋值:当代码直接形如 key = value 时(例如 it.outputFileName = …),这是真正的属性赋值。
  • DSL 魔法:Gradle 通过 Groovy 的 methodMissing 和 propertyMissing 机制,将未定义的方法/属性转换为配置项。

常见混淆点

// buildConfigField:看似是属性,实则是方法,接受三个参数(类型、字段名、值)。// manifestPlaceholders:是方法调用(manifestPlaceholders = [ ... ]),参数是一个 Map。// jniLibs.srcDir 'libs':jniLibs 是对象,srcDir 是方法,参数是路径。

groovy高度兼容java

  • 在 build.gradle 文件中,可以直接使用 Java 代码的语法,因为 Groovy(Gradle 的默认 DSL 语言)与 Java 高度兼容。
  • 总的来说:可以使用java语法、调用java库;但是更推荐优先使用groovy语法和gradle的DSL特性。
http://www.dtcms.com/wzjs/440621.html

相关文章:

  • 美食网站建设策划书百度一下你就知道啦
  • 大什么的网站建设公司好四川整站优化关键词排名
  • 客户端建站朋友圈广告推广代理
  • 做民宿上几家网站好百度热词搜索指数
  • 个人怎么做优惠券网站天津百度推广开户
  • icp备案 网站服务内容网站服务费一年多少钱
  • 电子商务网站建设项目互动营销案例分析
  • 私人网站怎么注册网络营销的平台有哪些
  • 威宁住房和城乡建设局网站人工智能培训机构哪个好
  • 长沙网站设计多少钱一个月seo网站优化培训公司
  • 主机怎么做网站服务器青海百度关键词seo
  • app网站建设手机APP软件开发发文章用哪个平台比较好
  • 西安做酒店用品的网站宁波seo推广费用
  • wordpress 批量替换网站优化推广是什么
  • 做购物网站要多少钱十大管理培训课程
  • 模板网站建设公司seo百度刷排名
  • 济南做网站哪好找客源免费用哪个软件好
  • 网站建设三剑客关键词seo资源
  • 基于html5设计的网站建设网站外链工具
  • 有好点的网站建设公司吗广州今日新闻最新消息
  • 专注做蔬菜的网站湖南靠谱关键词优化
  • 做家乡网站刷百度指数
  • 淘宝网站建设方式seo怎么才能做好
  • Java怎么自己做网站软文营销方法有哪些
  • 阿里巴巴怎么做不花钱的网站查域名网站
  • 网络科技公司起名大全免费搜索引擎优化seo
  • 做网站建设的工资高吗株洲seo优化公司
  • 网站建设运行维护合同长沙专业seo优化推荐
  • 海报模板网站有哪些各平台推广费用
  • 佛山哪里有网站开发网站seo优化是什么