首页 文章 精选 留言 我的

精选列表

搜索[工具模块],共10000篇文章
优秀的个人博客,低调大师

开发工具总结(6)之Android Studio模板配置详解(提高开发效率必备技能)

版权声明:本文为博主原创文章(部分引用他人博文,已加上引用说明),未经博主允许不得转载。https://www.jianshu.com/p/1fe87050c1ff 转载请标明出处:https://www.jianshu.com/p/1fe87050c1ff 本文出自 AWeiLoveAndroid的博客 2017年最后一天了,首先祝贺大家元旦快乐,2018工作顺利,天天开心。 本文同步发表在github,欢迎观看,guithub地址:https://github.com/AweiLoveAndroid/The-pit-of-the-Android-Studio 【前言】Android Studio模板相信大家应该多少都有接触过吧,如果用的少也没关系,花30分钟看看这篇博客就会用了,我会带领大家快速入门。使用了模板之后能大大的提高开发效率,建议大家收藏本文,忘记的时候再回来看看。 目录 一、工程目录模板二、Live Templates (活动模板)三、File and Code Templates(文件和代码模板),这里讲一下自定义注释模板四、自定义UI模板,新建project或者module的时候,右键可以快速生成模板,比如点击新建Activity,可以选择EmptyActivity等。。 一、工程目录模板 Android Studio 新建一个 project 时并没有将 Android 开发中常用的文件目录全部生成,比如默认只生成了一个 drawable文件夹,常用的 drawable-hdpi等文件夹需要我们自己去创建。再比如values目录下的dimens.xml,res目录下的anim文件夹都是没有的,需要我们手动去创建。这样一来,自己创建浪费时间,同时创建的目录名字错了,编译肯定会报错。所以为了效率和安全起见,我们需要把工程目录模板进行修改,达到创建 project 时就可以生成完整的目录结构,不再手动去创建的目的。 (一)新建module的时候自动生成dimens.xml. 操作方式:进入 Android Studio 安装目录,依次进入 plugins --> android --> lib --> templates --> gradle-projects --> NewAndroidModule --> root --> res --> values,在values文件夹下创建 dimens.xml 文件夹,写入以下内容,保存: <?xml version="1.0" encoding="utf-8"?> <resources> </resources> (二)这里有3个需要变更的地方。 (1)新建module时,自动添加v4依赖,并且指定v4,v7包依赖版本。 (2)新建module时自动生成不同分辨率的drawable文件夹。 (3)指定dimens.xml的路径。 操作方式:进入 Android Studio 安装目录,依次进入 plugins --> android --> lib --> templates --> gradle-projects --> NewAndroidModule,然后用编辑器打开 recipe.xml.ftl文件,并加入以下配置,如下图红色框框所示 说明: (1)dependency 这个意思是配置依赖库的url,默认的只有一个v7包,我这里新增了一个v4包的依赖。 (2)v7或者v4后面的25.3.1是对应的版本号,比如你想用24的版本,你可以替换成你的sdk里面对应的版本号(不知道sdk版本号的可以查看 Android studio常用设置和快捷键)。 (3)mkdir 意思是创建目录 (4)解释一下以下这段代码的意思: <instantiate from="root/res/values/dimens.xml" to="${escapeXmlAttribute(resOut)}/values/dimens.xml" /> //意思是把 模板的root/res/values/demins.xml 这个路径里面的dimens.xml拷贝到创建的项目资源目录下面的values/dimens.xml (三)新建module的时候想让module的build.gradle里面的编译指定某一个版本。比如我想要的结果是这样的: android { compileSdkVersion 25 buildToolsVersion "25.0.3" defaultConfig { minSdkVersion 25 targetSdkVersion 25 ... } ... } 重点要设置的有4个:compileSdkVersion、buildToolsVersion、minSdkVersion、targetSdkVersion,下面讲一下操作方法: 操作方式:进入 Android Studio 安装目录,依次进入 plugins --> android --> lib --> templates --> gradle-projects --> NewAndroidModule --> root,然后用编辑器打开build.gradle.ftl,修改配置如下图所示: 说明:先把这个文件备份,再去做修改。免费出问题了还可以还原回来。 4. 新建一个project看看效果如何: 二、Live Templates 活动模板(暂且翻译为 灵活的模板 比较好) (一)打开方法: 点击菜单File --> 点击Settings --> 选择Editor --> Code Style --> Live Templates,这里面配置了常用代码,比如log,System.out.println,for循环等 由于太多,下面只列举开发中经常用到的:(后面写注释“//修改了快捷键名称” 表示修改了快捷键名称,不再使用默认的快捷键,没修改的是默认的快捷键) (1)Android 安卓有关的 const 常量 fbc findViewById fore 创建foreach循环 //修改了快捷键名称 gone 设置View为gone //修改了快捷键名称 IntentView 用ACTION_VIEW创建一个Intent key 结果是 private static final String KEY_$value$ = "$value$"; newInstance 使用参数创建一个新的Fragment实例 co 生成构造方法 //修改了快捷键名称 cop 私有构造方法 //修改了快捷键名称 rgS 从资源文件getString(R.string.XXX) rouiT 生成runOnUIThread sbc 生成方格状注释代码块 Sfmt 格式化String String.format(XXX) starter 创建一个静态的start(...)方法来启动一个Activity toal 创建一个长时间的Toast //新增 toas 创建一个Toast //修改了快捷键名称 vi 设置View为visible //修改了快捷键名称 (2)AndroidComments 安卓组件 fix 添加 // FIXME //修改了快捷键名称 do 添加 // TODO //修改了快捷键名称 (3)AndroidLog 安卓打log有关的 logd Log.d(TAG, String) loge Log.e(TAG, String) logi Log.i(TAG, String) logm 打印方法名称及其参数,Log.d(TAG,XXX) logr 打印方法的结果 tag 根据当前的类名生成一个静态logtag //修改了快捷键名称,修改了内容,描述改为“根据当前类生成一个TAG” private static final String TAG = $className$.class.getSimpleName(); logw Log.w(TAG,String,Exception) logf Log.wtf(TAG, String, Exception) //修改了快捷键名称 (4)iterations 快速生成循环和迭代器代码块 for 示例:for (int i = 0; i < ; i++) {} //修改了快捷键名称 fora 示例:遍历数组 //修改了快捷键名称 for (int i = 0; i < Array.length; i++) { int i1 = Array[i]; } forc 示例:使用iterator遍历一个容器变量 //修改了快捷键名称 for (Iterator iterator = collection.iterator(); iterator.hasNext(); ) { Object next = iterator.next(); }//这个是遍历一个容器变量的,直接让容器返回一个iterator进行遍历 whe 示例:while循环遍历枚举内容 //修改了快捷键名称 while (枚举类.hasMoreElements()) { Object nextElement = 枚举类.nextElement(); } iter 示例:遍历选中状态下的set //修改了快捷键名称 for (int i : FOCUSED_STATE_SET) {...} whi 示例:while循环使用iterator进行遍历 //修改了快捷键名称 while (iterator.hasNext()) { Object next = iterator.next(); }//获取到了迭代器对象后,对迭代器进行遍历操作 forl 示例:遍历list对象里面的内容 //修改了快捷键名称 for (int i = 0; i < list.size(); i++) { Object o = list.get(i); } foraa 示例:倒叙遍历数组 //修改了快捷键名称 for (int i = Array.length - 1; i >= 0; i--) { int i1 = FOCUSED_STATE_SET[i]; } //以下这两个用的少,只是把快捷键改了一下,方便使用 fors 对StringTokenizer遍历 //修改了快捷键名称 forv 对Vector遍历 //修改了快捷键名称 (5)Other 其他的 geti 获取到当前的实例 示例: public static MainActivity getInstance() { return ; } ifn 生成if null代码块 示例: if (某变量 == null) {....} inn 生成if not null代码块 示例:if (某变量 != null) {....} inst 判断某变量是不是某个类的实例对象 示例: if ($EXPR$ instanceof $TYPE$) { $TYPE$ $VAR1$ = ($TYPE$)$EXPR$; $END$ } lazy 执行延迟初始化,就是对象直到用的时候才进行初始化操作 示例: if (savedInstanceState == null) { savedInstanceState = new Bundle(); } st 获取数组最后一个元素 示例: arr[arr.length - 1] mn 比较两个变量较小值 Math.min(var2,var3); mx 比较两个变量较大值 Math.max(var2,var3); main 生成一个main()函数的代码块 public static void main(String[] args){ 。。。。 } //修改了快捷键名称 toar 把collection的对象存储到一个数组里面 示例:something.toArray(new collection[something.size()]) (6)plain 关于修饰符 psf public static final psfi public static final int psfs public static final String St String thr throw new (7)surround 代码块被什么包裹。。 I 被迭代器包裹 默认的是: for (Object o :) { } (8)output(我改成了SystemOut) //修改了组的名称 sysr 示例: System.err.println("example") //修改了快捷键名称 sysf 示例: System.out.printf("example") //修改了快捷键名称 syso 示例: System.out.println("example") //修改了快捷键名称 sysom 打印当前类的当前方法名, 示例:System.out.println("MainActivity.onCreate"); //修改了快捷键名称 sysop 打印当前方法的所有参数列表及其值, 示例: System.out.println("savedInstanceState = [" + savedInstanceState + "]"); //修改了快捷键名称 sysov 打印一个变量值, 示例:System.out.println("arr = "+ arr); //修改了快捷键名称 (二)自定义活动模板 我自定义了几个常用功能,放在lzw组下面,如图所示: han: 自动生成一个类继承Handler swi 自定义switch/case选择语句 toli 把数组转成集合(自定义的,后面会讲解怎么自定义的) zs:注释模板 具体操作方式如下: (1)点击右边的“+” 加号,选择 Template Group,创建一个组,输入一个组名,点OK (2)找到刚创建的组,点击右边的“+” 加号,选择 Live Template,创建一个模板 (3)Abbreviation后面的输入框输入一个快捷键名称,Description后面的输入框输入描述 (4)点击下方的Define,勾选java前面的复选框 (5)Template text 输入自定义模板的代码内容 (6)点击右边的Edit variables,编辑指定的变量名 具体如下图所示: 三、File and Code Templates 文件和代码模板,这里讲一下自定义注释模板 (一) 类注释 从编程规范来讲:编写完成每个类都要有一个头部注释,标注类的功能描述,作者,联系方式和修改日期等。对自己的代码负责。 头部注释的添加有以下两种方式: (1)第一种方式,可以在AS中,Settings → Editor → File and Code Templates → Includes → File Header,输入: /** * 描述:添加类的描述 * @author yourName * @e-mail XXX@XX.com * @time ${DATE} */ 这样便可在每次新建类的时候自动加上该头注释,如下图所示: (2)第二种方式,在Settings → Editor → Live Templates中配置,如下图所示: 关于这里的 ,点击右边的Edit variables,属性配置成date() 这种方式是配置模板和对应的快捷键,比如我的配置完成后在类的开头输入 lzw 回车就会自动生成对应的注释模板: (二) 方法注释 每一个成员方法(包括自定义成员方法、覆盖方法、属性方法)的方法头都必须做方法头注释。 操作方式:在方法前一行输入 /** + 回车 或者设置 Fix doc comment(Settings → Keymap → Fix doc comment) 快捷键,AS便会帮你生成模板,我们只需要补全参数即可。 四、自定义UI模板,新建project或者module的时候,右键可以快速生成模板,比如点击新建Activity,可以选择EmptyActivity等。。 【说明】这个我也没做太多研究,以后有时间我研究一下,把它写到这篇博客里面来。有兴趣的的可以参考这篇文章 AndroidStudioTemplate。该文章对应的github地址是: AndroidStudioTemplate 另外:我看简书里面也有前辈写了相关文章,也可以去看看。 《android studio的自定义工程模板详解》 https://www.jianshu.com/p/c76facb61d69 《网易 Android 工程模板化实践》https://www.jianshu.com/p/4076b71f18a4 本文同步发表在github,欢迎观看,guithub地址:https://github.com/AweiLoveAndroid/The-pit-of-the-Android-Studio 到此为止,Android Studio的模板配置基本讲完了,有疑问的欢迎在下面留言。 【好消息】我的微信公众号正式开通了,关注一下吧! 关注一下我的公众号吧

优秀的个人博客,低调大师

MaxCompute Studio使用心得系列6——一个工具完成整个Python UDF开发

2017/12/20 北京云栖大会上阿里云MaxCompute发布了最新的功能Python UDF,万众期待的功能终于支持啦,我怎么能不一试为快,今天就分享如何通过Studio进行Python udf开发。 前置条件 了解到,虽然功能发布,不过还在公测阶段,如果想要使用,还得申请开通:https://page.aliyun.com/form/odps_py/pc/index.htm。这里我就不介绍申请开通具体流程了。 环境准备 MaxCompute Studio支持Python UDF开发,前提需要安装python, pyodps和idea的python插件。 安装Python:可以Google或者百度搜索下如何安装。 安装pyodps:可以参考python sdk文档的安装步骤。即,在 Python 2.6 以上(包括 Python 3),

优秀的个人博客,低调大师

用啥工具?往哪里去?

今天我主要是从两个方面去探讨DevOps,由于大部分的同学可能更多的是看到了运维这个层面,所以我更多侧重的是Dev这个层面,也就是从Dev到运维,因为正好是整个全流程走到这里,我们看到了一些实践,也看到了将来的一些机会和趋势,所以今天会谈一谈我们公司近两年做的过程,也就是我们怎么做DevOps。 一、从业务、系统发展看问题 从业务和系统的发展,我们来看当时面临的问题和解决的措施,有一些总结性和思考性的东西。就像程永新老师在企业级运维三板斧所说的,未来不是DevOps,关注方向的可能是AIOps这个层面,也就是说DevOps更要关注的是ADPaas平台,而在运维侧则更多的是AIOps,就像谷歌的系统是自治的,不需要人为介入,所以运维侧是要受到很大挑战的。 这是我当时加入公司时的一个基础组织架构,跟所有互联网公司,或者一些创业已经过了风险期

优秀的个人博客,低调大师

新书内容连载(3):Android SDK中常用命令行工具(一)

本文为原创,如需转载,请注明作者和出处,谢谢! 本文为新书《Android/OPhone 开发完全讲义》的内容连载。《Android/OPhone开发完全讲义》一书现已出版,敬请关注。 购买: 互动网 (china-pub) 《Android/OPhone 开发完全讲义》目录 源代码下载 上一篇: 新书内容连载(2):Android Activity的生命周期 1.启动和关闭ADB服务(adb start-server和adb kill-server) 经作者测试,模拟器在运行一段时间后,adb服务有可能(在Windows进程中可找到这个服务,该服务用来为模拟器或通过USB数据线连接的真机服务)会出现异常。这时需要重新对adb服务关闭和重启。当然,重启Eclipse可能会解决问题。但那比较麻烦。如果想手工关闭adb服务,可以使用下面的命令。 adb kill-server 在关闭adb服务后,要使用如下的命令启动adb服务。 adb start-server 2查询当前模拟器/设备的实例(adb devices) 有时需要启动多个模拟器实例,或启动模拟器的同时通过USB数据线连接了真机。在这种情况下就需要使用如下的命令查询当前有多少模拟器或真机在线。 adb devices 执行上面的命令后,会输出如图1所示的信息。 图1 其中第1列的信息(emulator-5554、HT9BYL904399)表示模拟器或真机的标识。emulator-5554表示模拟器,其中5554表示adb服务为该模拟器实例服务的端口号。每启动一个新的模拟器实例,该端口号都不同。HT9BYL904399表示通过USB数据线连接的真机。如果在运行Android程序时有多个模拟器或真机在线,那么会出现一个选择对话框。如果选择在真机运行,ADT会直接将程序安装在手机上。输出信息的第2列都是device,表示当前设备都在线。如果该列的值是offline,表示该实例没有被连接到adb上,或实例没有响应。3. 安装、卸载和运行程序(adb install、adb uninstall和am) 在Eclipse中运行Android程序必须得有Android源码工程。那如果只有apk文件(Android应用程序的发行包,相当于Windows中的exe文件)该如何安装和运行呢?答案就是adb命令。假设我们要安装一个ebook.apk文件,可以使用如下的命令。 adb install ebook.apk 假设ebook.apk中的package是net.blogjava.mobile.ebook,可以使用如下的命令卸载这个应用程序。 adb uninstall net.blogjava.mobile.ebook 关于package的概念在以后的学习中会逐渐体会到。现在只要知道package是Android应用程序的唯一标识即可。如果在安装程序之前,该程序已经在模拟器或真机上存在了,需要先使用上面的命令卸载这个应用程序,然后再安装。或使用下面的命令重新安装。 adb install -r ebook.apk 在卸载应用程序时可以加上-k命令行参数保留数据和缓冲目录,只卸载应用程序。命令如下所示。 adb uninstall -k net.blogjava.mobile.ebook 如果机器上有多个模拟器或真机实例,需要使用-s命令行参数指定具体的模拟器或真机。例如,下面的命令分别在模拟器和真机上安装、重新安装和卸载应用程序。 在emulator-5554模拟器上安装ebook.apk adb -s emulator-5554 install ebook.apk 在真机上安装ebook.apk adb -s HT9BYL904399 install ebook.apk 在emulator-5554模拟器上重新安装ebook.apk adb -s emulator-5554 install -r ebook.apk 在真机上重新安装ebook.apk adb -s HT9BYL904399 install -r ebook.apk 在emulator-5554模拟器上卸载ebook.apk(不保留数据和缓冲目录) adb -s emulator-5554 uninstall net.blogjava.mobile.ebook 在真机上卸载ebook.apk(保留数据和缓冲目录) adb -s HT9BYL904399 uninstall -k net.blogjava.mobile.ebook 如果在模拟器和真机上成功安装ebook.apk,将会分别输出如图2和图3所示的信息。 图2 图 3 如果想在模拟器或真机上运行已安装的应用程序,除了直接在模拟器或真机上操作外,还可以使用如下的命令直接运行程序。 在emulator-5554模拟器上运行ebook.apk adb -s emulator-5554 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main 在真机上运行ebook.apk adb -s HT9BYL904399 shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main 其中Main是ebook.apk的主Activity。相当于Windows应用程序的主窗体或Web应用程序的主页面。am是shell命令。关于shell命令将在后成的部分详细介绍。 本文转自银河使者博客园博客,原文链接http://www.cnblogs.com/nokiaguy/archive/2010/07/05/1771125.html如需转载请自行联系原作者 银河使者

优秀的个人博客,低调大师

移动平台自动化测试从零开始-MonkeyRunner工具使用 (第二节)

选自:http://yuedu.baidu.com/ebook/d4d8b6121eb91a37f0115c1d 第2节 MonkeyRunner 安装部署 如果您已经正确的安装部署了Android环境,那么在您的Android SDK 的“tools”目录下将会有一个名称为“monkeyrunner.bat”的批处理文件, 如:这个文件在我机器的位置是“E:\android-sdk\tools”目录下,如图1所示。 图1 “monkeyrunner.bat”文件位置相关信息 双击图1中“monkeyrunner.bat”文件,将出现图2所示界面信息。 图2 “monkeyrunner.bat”运行后的显示信息 如果没有出现图2所示的界面,则说明您之前的安装配置可能有一些问题,需要检查以下相关内容是否成功部署: 1.JDK是否正确安装并设置了对应的环境变量; 2.Android SDK是否正确安装部署,并将Android SDK的“platform-tools”和“tools”路径添加到了“PATH”环境变量中; 3.为了更好的对脚本进行调试,建议大家下载Python,您可以到“https://www.python.org/downloads/”下载相应的软件版本,这里我们下载其对应的Windows版本,这里我们下载目前的最新64位版本,因为我本机用的是64位的Win7操作系统,如图3所示,下载完成以后进行安装,并将“python.exe”所在路径添加到PATH环境变量中,这部分内容比较简单,请读者朋友自行完成。 图3 Python Windows相关版本下载信息 Python安装并设置了环境变量后,您可以运行控制台命令,输入“python”后,若出现图4所示界面,代表python成功已经安装并设置,您可以通过输入“quit()”或者按“CTRL+Z”退出python,回到命令行提示符。 图4 Python运行相关的显示信息 关于这部分环境部署的内容,网上也有大量的安装部署这部分内容的资料,这里不再赘述。 本文转自 fish_yy 51CTO博客,原文链接:http://blog.51cto.com/tester2test/1650276,如需转载请自行联系原作者

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册