摘要:
什么是Head git中的head可以理解为一个指针,我们可以在命令行中输入 cat .git/HEAD查看当前的head指向哪儿,一般它指向当前工作目录所在分支的最新提交 Head游离状态的利与弊 HEAD 处于游离状态时,我们可以很方便地在历史版本之间互相切换,比如需要回到某次提交,直接 che 阅读全文
摘要:
创建一个任务和我们定义一个变量时一样的,变量名就是我们定义的任务名,类型是Task;和变量一样,要使用任务名操纵任务,必须先定义声明,因为脚本是顺序执行的 task ex36Hello { println 'dowLast1' } ex36Hello.doFirst{ println 'dowFir 阅读全文
摘要:
任务之间是可以有依赖关系的,这样我们就能控制哪些任务优先于那些任务先执行:哪些任务执行后,其他任务才能执行 比如我们在运行jar任务之前,complie任务一定要执行过,也就是jar依赖于compile;android的install任务一定要依赖package任务进行打包生成apk,然后才能ins 阅读全文
摘要:
task helloClosure println "${k} is ${v}" } } def eachMap(closure){ def map1 = ['name':'张三','age':18] map1.each{ closure(it.key,it.value) } } task helloDelegate closure){ ... 阅读全文
摘要:
字符串 运行结果 /gradlew printStringClass :printStringClass 单引号定义的字符串类型:java.lang.String 双引号定义的字符串类型:java.lang.String BUILD SUCCESSFUL Total time: 2.219 secs 阅读全文
摘要:
登录和授权的区别 登录:身份认证,即确认【你是你】的过程 授权:由身份或持有的令牌确认享有某些权限(例如获取用户信息)。登录过程的目的实际上也是为了确认权限 登录:身份认证,即确认【你是你】的过程 授权:由身份或持有的令牌确认享有某些权限(例如获取用户信息)。登录过程的目的实际上也是为了确认权限 因 阅读全文
摘要:
在Java程序中,我们拥有多种新建对象的方式。除了最为常见的new之外,我们还可以通过反射机制、反序列化、object.clone方法以及Unsafe.allocateInstance方法来新建对象 Object.clone方法和反序列化通过直接复制已有的数据,来初始化新建对象的实例字段。Unsaf 阅读全文
摘要:
全新定义view的尺寸和和修改尺寸的重要区别 需要在计算的同时,保证计算结果满足父view给出的尺寸限制 父view的尺寸限制 限制上限AT_MOST 不限制Unspecified 固定值EXACTLY 全新定义自定义view尺寸的方式 重写OnMeasure(),并计算出view的尺寸 使用res 阅读全文
摘要:
如何自定义属性 在res文件夹下的values目录,新建attrs.xml(如果没有此文件的话) 在attr.xml中定义属性,示例如下: <?xml version="1.0" encoding="utf-8"?> <resources> <declare-styleable name="MapV 阅读全文
摘要:
其中rootPath是外置sd卡的根目录,返回的是MB 阅读全文