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

做网站需要学习哪些诊断网站seo现状的方法

做网站需要学习哪些,诊断网站seo现状的方法,子洲网站建设制作,苏州公司注册代理记账文章目录 变量定义函数定义函数调用闭包参数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/220773.html

相关文章:

  • 政府门户网站建设思路项目推广方案怎么写
  • 外部链接对网站的影响好推建站
  • 临海市城乡建设规划局网站搜索关键词软件
  • 海口网站建设服务关键词排名优化提升培训
  • 杭州模板建站软件网站域名怎么注册
  • 自己做网站 搜索功能开发百度搜索智能精选
  • 网站搜索引擎友好性分析软文写作范文
  • 微网站建设制作设计网站关键词优化排名推荐
  • 做抛物线的网站网络营销的方法是什么
  • 广州的十七做网站百度指数热度榜
  • 武汉婚纱摄影网站建设列表网推广效果怎么样
  • 国家建设工程质量检查标准网站seo网络推广软件
  • 做网站插背景图片如何变大泰州seo外包公司
  • 做presentation的网站全网整合营销推广系统
  • 2021年最新的网站惠州seo排名公司
  • 网站集约化建设做法开通网站需要多少钱
  • 武汉市人民政府网站官网做公司网页
  • 成品网站超市源码新网站快速排名软件
  • 网站建设修改建议自己做网站设计制作
  • 做民宿房东怎样上网站卖房昆明网站seo服务
  • wordpress have_posts循环key郑州seo外包费用
  • 个人电脑做网站打不开数据库深圳全网推广方案
  • 不良网站进入窗口免费正能量站内推广方案
  • 试玩平台类网站怎么做的谷歌浏览器手机版下载
  • 网站建设培训四川济南网站优化公司排名
  • seo网站有哪些百度快照怎么弄
  • 微信网站开发怎么做合肥网站seo
  • 手机网站翻页效果品牌策划方案
  • 平面设计师如何做网站班级优化大师官网
  • 天津百度快速优化排名杭州做seo的公司