在Android Studio中,如果你不小心在一个文件前面加了一个数字标签,可以按照以下步骤去掉它:
这样,你就成功去掉了文件前面的数字标签。
在Android Studio中,重构功能可以帮助开发者轻松地修改代码、文件名等,提高开发效率。
但是对这方面的介绍的文章还是有点少,我其实写的也不怎么样,但是起码集思广益,互相提高吧。...语法树的每一个节点都代表着程序代码中的一个语法结构,如类型、修饰符、运算符等。经过这个步骤后,编译器就基本不会再对源码文件进行操作了,后续的操作都建立在抽象语法树之上。...而对于Android Lint来说,它本质上就是AST抽象语法树,通过语法树获取到所有代码的节点,之后对其进行自定义的逻辑判断,举个例子,当前类是不是符合了特定标准,比如是不是一个构造器,是不是一个方法...在Android Studio 3.0和lint-api 25.4.0版本中,Lint工具将PSI替换为UAST,同时推荐使用新的UastScanner。...举个例子,我之前在使用埋点的时候我不小心给字符串前面加了个空格,我这个时候就会反思,是不是可以通过静态扫描的方式去搞,但是这个时候api不熟悉怎么办呢?? 谁家代码不是抄呀,哈哈哈。
但是对这方面的介绍的文章还是有点少,我其实写的也不怎么样,但是起码集思广益,互相提高吧。...语法树的每一个节点都代表着程序代码中的一个语法结构,如类型、修饰符、运算符等。经过这个步骤后,编译器就基本不会再对源码文件进行操作了,后续的操作都建立在抽象语法树之上。...Android Lint 而对于Android Lint来说,它本质上就是AST抽象语法树,通过语法树获取到所有代码的节点,之后对其进行自定义的逻辑判断,举个例子,当前类是不是符合了特定标准,比如是不是一个构造器...在Android Studio 3.0和lint-api 25.4.0版本中,Lint工具将PSI替换为UAST,同时推荐使用新的UastScanner。...举个例子,我之前在使用埋点的时候我不小心给字符串前面加了个空格,我这个时候就会反思,是不是可以通过静态扫描的方式去搞,但是这个时候api不熟悉怎么办呢?? 谁家代码不是抄呀,哈哈哈。
有没有这样的场景:你在Android Studio打开了一个图片文件(或者别的文件),想在资源浏览器里面查看这图片;在Eclipse里面我想大部分的人是Alt + Enter进入文件属性复制地址,然后在系统资源管理器里面打开...在Android Studio里面,这是内建支持的!而且还不止如此!比如你想看看某个文件在包的哪个目录,通常是不是点击Project View上面的那个小圆坐标;用这个快捷键鼠标就能搞定。...有时候看代码的时候,看到某个变量想知道哪里使用了它;你还在用肉眼查找吗?或者你杀鸡用牛刀Find Usgae?其实你的需求就是把这个变量全部给我打个标签,我想直观的知道它在哪。...记得之前提到过一个万能重构键, 有关重构的一切操作都可通过它完成。那么Android Studio这么快捷键,这么多功能,臣妾怎么可能都记住!要是有万能钥匙就好了!That’s it!...使用这个快捷键,你想到什么功能,打开它搜索就可以了;打个比方,我想看看Java的for each循环和普通的for循环底层是不是同一个实现;那么我就需要看虚拟机字节码了;我记得有这个功能但是不知道快捷键是啥
其实对于我们开发者而言,我们都只是调用他的api,对我们的影响不大??!可是人性的习惯,还是比较不那么容易改变的。现在我就来说说我遇到的一些坑吧。话说还是很严重。不知道androidx的请自行百度。...我们都知道,这个是在support的design里。那么我们还是把它添加进去, 注意:studio3.5后添加包会有点不一样 右键你的项目,选中Open Module Setting ?...个人觉得的是因为studio3.5优化的太好了,不会随便你帮我们rebuild项目,也不知道是不是bug;这个时候点击build — Rebuild Project,项目。...build.gradle显示的还是support的包,怎么办 额外注意:就如上面说的那个类似bug的问题,假如此时你再build.gradle去掉了这个依赖,如果按之前的操作,我们都会点击Sync Projec...正确做法还是需要,在去掉依赖后,继续点击下Rebuild Project,这时候才会正常。
在 Android Studio 底栏 Run 非 LogCat; 网络请求怎么写? 接口数据如何解析的? 如何一进页面就请求接口? 网络图片怎么显示?...ListView 官网介绍的 Item 是通用的,如何定制? 跳转页面如何传参?传参后怎么用? 等等,遇到一个问题,消灭一个。...源码 源码地址 https://github.com/WuXiaolong/flutter_movie ,该项目起始页面在 lib/main.dart,注意的点我也都加了注释,去吧,学习还是要靠自己...最后 还是被 Flutter 惊艳到了,重拾当初学习 Android 的热情,却一不小心,我的肩痛又开始了; Flutter UI 全是代码写的,不是 XML,复杂的 UI 实现有难度; Flutter...联想功能较弱,需要先导入相应的包,才有相应的类联想; 新建了一个 package,将 dart 文件拖入,相关联包的路径会相应修改,但是我改了package 名,就无法相应修改,bug?
我就是一个 追(喜)求(欢)高(偷)效(懒) 的开发人员,正好趁着国庆假期,把平日用到的一些 Android Studio开发插件 整理了一下,分享给大家。 ...有这样的 有这样的:全部是文字,没图片,杂乱,类型不知道,哪个好用也不知道,还要自己一个一个的去下载试试看。 ?...,仅作为了解) 使用:鼠标在布局文件右键,在弹出来的菜单当中选择Convert Android layout xml,然后它会弹出一个面板,如下所示。...各种右键,各种菜单栏都找了,找不到使用方式,找了半天最后在导航栏有个蓝色的H符号,太坑了,官方也没有讲解怎么使用。 ?...文件,并且调整Android布局XML文件属性顺序,并且会将默认属性调整到前面,并在行的末尾使用自定义属性。
,网上资料会让你在 Android 标签内加个 signingConfigs, 然后在它里面进行各种配置,比如 storeFile, keyAlias 等等之类的。...还有其他类似这种情况,比如当需要打包时,在哪个地方加个什么标签再对它进行各种配置之类的。...不知道你们会不会也跟我一样会有这样的疑问,这个标签名怎么来的,为什么要放在这个位置,它里面有哪些属性可以进行配置?...最后在前面的基础上,对 build.gradle 里面的代码进行分析讲解,比如介绍说都有哪些标签,哪里去找这些标签等等。 好了,废话就唠叨到这,下面就开始正文。...,当然还有其他取值,后面博客会介绍 apply plugin: 'com.android.application' //这里是在as里引入一个retrolambda插件,具体我也不大懂,可以看看这篇博客
目前,谷歌在 Android Studio 3.6 Canary 11 及更高版本中加入了新的视图绑定方式ViewBinding。...在gradle文件中开启ViewBinding功能后,编译器就会为此模块下的每个布局文件都产生一个对应的绑定类。...:XML布局文件名去掉下划线,下划线首字母大写,最后加上Binding。...,例如不小心将一个TextView错误的赋值给一个Button变量,都会报错,这一错误很容易出现,关键在错误还出现在运行时,而不是编译时!...就是在我们访问那个View的时候它不存在。为什么会出现这种情况呢?例如不小心使用了错误的Id,或者访问的时候那个view还不存在。
我就是一个 追(喜)求(欢)高(偷)效(懒) 的开发人员,正好趁着国庆假期,把平日用到的一些 Android Studio开发插件 整理了一下,分享给大家。...有这样的 有这样的:全部是文字,没图片,杂乱,类型不知道,哪个好用也不知道,还要自己一个一个的去下载试试看。 ?...(5) 生成的类名不规范,比如我的xml是activity_main2.xml,生成的Activity名字是ActivityMain2Activity,这显然是多此一举,应该把前面那个Activity去掉...各种右键,各种菜单栏都找了,找不到使用方式,找了半天最后在导航栏有个蓝色的H符号,太坑了,官方也没有讲解怎么使用。 ?...Android布局XML文件属性顺序,并且会将默认属性调整到前面,并在行的末尾使用自定义属性。
目前,谷歌在 Android Studio 3.6 Canary 11 及更高版本中加入了新的视图绑定方式ViewBinding。...在gradle文件中开启ViewBinding功能后,编译器就会为此模块下的每个布局文件都产生一个对应的绑定类。...:XML布局文件名去掉下划线,下划线首字母大写,最后加上Binding。...就是在我们访问那个View的时候它不存在。为什么会出现这种情况呢?例如不小心使用了错误的Id,或者访问的时候那个view还不存在。...例如我们在手机横屏和竖屏的时候分别使用一套XML layout文件,假设横屏中包含了一个竖屏中没有的view,那么在屏幕从横屏旋转到竖屏的时候,NullPointer问题就出现了。
自动整理常用色 Sketch 和 Figma 都在拾色器上加了一个常用色板,方便取色。...Sketch 干脆去掉了画布的滚动条,虽然看起来是简洁了,但我有时候会不小心滑到一个偏离很远的地方,然后就不知道怎么回去了。...这时我只好画一个图形,从位置数据判断目前所在位置,然后不停地拖动画布,直至找回原来的位置…… 而 Figma 则不会有这个问题,因为它的画布有滚动条,不论我不小心到哪里去了,都可以通过滑动条轻易找回去!...圆角设置 我刚开始使用 Sketch 时,一开始不知道怎么给矩型设置不同的圆角,甚至不确定有没有这个功能。 无意尝试了双击 后 选中一个角,才 发现 用法。...而 Figma 在圆角设置附近有一个看起来像四个角的图标,一眼就知道怎么用。 14.jpg 当然,用熟练之后,可能会发现 Sketch 可以一次输入多个角的数据可能还更方便一些。
| 导语 Android Studio是一个很强大的IDE,有些很牛逼的功能却不太为人所知,这里总结了一些我所知道的进阶调试技巧。 以下内容基于Android Studio 3.5! 一....就会自动收折,控制台显示如下: 1.png 留意一下这里,除了我们这次新增的关键字外,前面还有一大堆已经帮我们加好的关键字,不出意外的话,平时在控制台看到的系统log里有些是自动收折的,...自动编译出包,Android Studio会自动定位到出包的文件夹下,分析图如下: 1.png 这里可以看到dex和资源最终在压缩包里的大小和占比。...Suspend 即线程挂起规则,如果平时没操作过这里,或者不知道有这个选项,其默认选项就是Thread,即断点到达时,当前线程会挂起,这符合App的运行原理,想象你在一个子线程阻塞了,并不会影响其他线程的运行...,如下: 1.png 这里选的是分类管理,即同个类的断点会显示在一起,前面两个分别是分包和分文件管理,可以自己根据需要选择。
另外,Kotlin 的官方源码里还有一个 inline 的另类用法:在函数里直接去调用 Java 的静态方法: ? 用偷天换日的方式来去掉了这些 Java 的静态方法的前缀,让调用更简单: ?...所以当你要把一个这样的参数当做对象使用的时候,Android Studio 会报错,告诉你这没法编译: ? 那……我如果真的需要用这个对象怎么办?加上 noinline: ?...很简单,比 inline 还要简单:你不用判断,Android Studio 会告诉你的。...不过这就又会导致前面说过的「不一致」的问题,比如如果我在这个 Lambda 里加上一句 return: ? 它结束的是谁?...但其实和 noinline 一样,你并不需要亲自去判断,只要在看到 Android Studio 给你报错的时候把它加上就行了。
Android Studio 模板是个提高生产力的好东西,使用过 MVPArms 的朋友,都应该使用过我提供的配套模板,使用该套模板,一键即可生成整个页面需要的所有文件,甚至还可以一键生成整个 Module...Templates 不知道大家了解过一键生成 Module 的 Android Stuidio 模板吗,这种类型的模板我在网上没搜到有相关的开源库和文章,所以我就自己研究了一段时间,在去年就开源给了...但是我可以告诉大家,在你没有足够经验的情况下,最好不要这样做,因为这个文件夹中包含着 Android Studio 创建 Android Module 所需要的所有文件和代码,里面比较复杂,有很多判断条件...formfactor 标签,在 NewAndroidModule 中,formfactor 标签的值为 Mobile,最开始我也和它一样,将值赋为 Mobile,结果发现无法生成文件,我想可能是 Android...Studio 只允许存在一个 Android 的 Module 模板,我又试着改成了 TV、Glass、Wear ...
这里有一篇旧文-Mac下安装配置Android Studio 2.x和3.x并配置使用adb可供参考....C++ 来看看项目都多了什么, 先切换到Android标签下, 多了cpp目录(ps: 注意, 这里就算切换到Project标签, 依旧是cpp哈), 一些头文件, 和native-lib.cpp,..., 这个CMakeLists.txt就特别惹眼了, 我把里面大段注释都去掉, 然后贴出代码. .externalNativeBuild文件夹: 用于存放cmake编译好的文件, 包括支持的各种硬件等信息...其实看到前面的.也知道是系统管理的了. ?...Empty 新建JNI目录, 发现在Android标签下是cpp, 到了Project标签下又是jni, 我一直很想知道谷歌是怎么实现这一点的. ? JNI ?
我想我们要管家做事,也要下达我们的命令,我们必须知道这些命令和管家的喜好才能跟他相处和谐,不然你不知道它的脾性下错命令,那后果可是很严重的。...在Gradle众多工程是通过工程树表示的,相当于我们在Android Studio看到的Project和Module概念一样。...根工程相当于Android Studio的Project,一个根工程可以有很多自工程,也就是很多Module,这样就和Android Studio定义的Module概念对应上了。 ?...最后在Android Studio的Terminal移动到相应的文件夹中运行task。...其实这个任务的执行就是可以删除生成的Build文件的,跟Android Studio的clean是一个道理。
reflog 是一个非常实用的命令,你可以使用这个命令去找回无意间删除的代码,或者去掉一些刚刚添加的却把仓库里的代码弄坏的内容。...当我 commit 完然后跑测试的时候,经常突然发现忘了在等于号前面加空格。虽然可以把修改过的代码再重新 commit 一下,然后 rebase -i 将两次揉在一起,不过上面的方法会比较快。...我不小心把本应在新分支上的内容 commit 到 master 了!...我不小心 commit 到错误的分支上了! 也有很多人推荐了 cherry-pick 的解决方案,所以选哪个就看你心情了。...我执行了 diff 但是啥也没出现 Git 不会给通过 add 加入到 staging 区域里面的文件做 diff ,除非你加了 --staged 的标签,别怀疑了这是一个 feature 不是一个
背景 最近遇到一个Dialog问题,在6.0的手机上才可以重现,但是我们的工程已经是targetsdk=28了,点击Dialog的引用,只能看见28的class文件,现在我也越来越懒了,以前针对这种问题...支持 Android 官网文档查看和方法定位 支持 Native 方法源码查看 具体可以看截图: 正当我满心欢喜的开启debug时,发现studio无法识别该代码,原因是作者的思路是在类名前面加版本号...我的想法时,我找到studio跳转源码的配置文件,将原本跳到28的jar包的配置,修改成23,这样不就完美了,于是我又开启了搜索大法,网上都说,修改jdk-table.xml,可以达到我的目的,然而...亲测不可以;不论我怎么修改,都没有反应; 于是我又想到了idea的缓存,果然功夫不负有心人,我找到了这么个文件: .idea/libraries/Gradle__android_android_28...总结 现在国内网上很多文章,都是复制的,我也不知道为啥;像我搜到的jdk-table.xml,根本没法用,可能它只是对新项目生效的,有可能是studio版本升级导致,总之,这个文章的原作者也是很辛苦的
/ reflog 是一个非常实用的命令,你可以使用这个命令去找回无意间删除的代码,或者去掉一些刚刚添加的却把仓库里的代码弄坏的内容。.../ 当我 commit 完然后跑测试的时候,经常突然发现忘了在等于号前面加空格。虽然可以把修改过的代码再重新 commit 一下,然后 rebase -i 将两次揉在一起,不过上面的方法会比较快。...04 / 我不小心把本应在新分支上的内容 commit 到 master 了!...05 / 我不小心 commit 到错误的分支上了! / 也有很多人推荐了 cherry-pick 的解决方案,所以选哪个就看你心情了。...06 / 我执行了 diff 但是啥也没出现 / Git 不会给通过 add 加入到 staging 区域里面的文件做 diff ,除非你加了 --staged 的标签,别怀疑了这是一个 feature
不过,在这之前需要先给大家介绍一个Android Studio2.2提供的神器:Analyze APK。 ?...如图,我们只需要将要分析的APK拖入到Android Studio中,通过该工具我们可以清楚的观察到我们的APK中各个部分所占的比重是多少,而且通过目录索引我们可以快速定位出导致APK变大的是哪些文件从而加快我们的...就拿JOOX项目的一个需求来说,UI给的图片统一PNG格式,整个文件夹包含15张切图,大小2.88M…这要直接放进去别说leader要砍我了,赶紧跑路才是真的。...不过找出的大图在WebP化的过程需要注意一点哦,像JOOX Android端最低支持4.1的系统,就要小心转换之后的图片包含alpha通道,所以需要先将图片转JPG去掉alpha通道,然后在转换成WebP...第二点: JOOX在持续集成平台上集成了大文件监控报警机制,如果在提交SVN之后编译出来的包大小相对于上一个包的大小超出了相应的阈值,将会进行报警以及生成相应的BUG单给对应的开发人员进行提醒,开发人员在收到
领取专属 10元无门槛券
手把手带您无忧上云