Android Studio3.0简介

Android Studio 3.0.0

Android Studio 3.0.0 (2017年10月)是一个主要版本,包括各种新功能和改进 Android插件的Gradle 3.0.0 • 支持Android 8.0 • 支持Java 8库和Java 8语言功能(没有Jack编译器)

• 支持Android测试支持库1.0(Android测试实用程序和 Android测试编排器 • Kotlin支持 将Java文件转换为Kotlin(单击代码>将Java文件转换为Kotlin文件)或者使用New Project向导创建一个新的启用Kotlin的项目,可以将Kotlin合并到您的项目中 请阅读如何将Kotlin添加到您的项目。

APK分析器 您现在可以使用该apkanalyzer工具在命令行中使用APK分析器 。 APK分析器也进行了以下改进: • 对于使用ProGuard构建的APK,您可以加载ProGuard映射文件,以将功能添加到DEX查看器,其中包括: o 粗体节点表示在收缩代码时不应删除节点。 o 显示在收缩过程中被删除的节点的按钮。 o 恢复由ProGuard混淆的树视图中节点的原始名称的按钮。 • DEX查看器现在显示每个包,类和方法的估计尺寸的影响。 • 在顶部的新的过滤选项来显示和隐藏字段和方法。 • 在树视图中,未在DEX文件中定义的引用节点以斜体显示。 有关更多信息,请参阅使用APK分析器分析您的构建。 预览D8 DEX编译器 Android Studio 3.0包含一个名为D8的可选新DEX编译器。它最终将取代DX编译器,但现在可以选择使用新的D8编译器。 DEX编译直接影响您的应用程序的编译时间,.dex文件大小和运行时性能。当比较新的D8编译器和当前的DX编译器时,D8编译速度更快,输出更小的.dex文件,同时具有相同或更好的应用运行时性能。 要尝试它,请在项目gradle.properties文件中设置以下内容: android.enableD8=true 有关更多信息,请参阅关于D8编译器的博客文章。 Google的Maven存储库 Android Studio现在默认使用Google的Maven资源库,而不是依赖Android SDK管理器来获取Android支持库,Google Play服务,Firebase和其他依赖项的更新。这样可以使您的库更新更加容易,特别是在使用持续集成(CI)系统时。 现在,所有新项目默认包含Google Maven存储库。要更新您的现有项目,请添加顶层文件google()的repositories块build.gradle: allprojects { repositories { google() } } 在这里了解更多有关Google Maven仓库的信息。

?????App Instant Support

Android Studio基本使用 界面

设置编码 File=》Settings=》File Encodings,三处编码改为UTF-8

指定SDK和JAVA路径

Project Structure – 指定Module的SDK和Build Tools版本、Sign、Build Type、依赖!

配置android studio类注释 file --> settings --> File and Code Templates --> Includes --> File Header中设置

/**
*

  • @ProjectName: ${PROJECT_NAME}
  • @Package: ${PACKAGE_NAME}
  • @ClassName: ${NAME}
  • @Description: 一句话描述该类的功能
  • @Author: Alair
  • @CreateDate: {DATE}{TIME}
  • @UpdateUser: Alair
  • @UpdateDate: {DATE}{TIME}
  • @UpdateRemark: 说明本次修改内容
  • @Version: v1.0

*/

android studio设置永久显示行号 http://blog.csdn.net/hyr83960944/article/details/36684399

自动导包:file-setting-general-auto import

常用快捷键 文本编辑快捷键???

如何快速生成get、set、tostring、构造函数、Copyright等 ALT+Ins Code=>Generate

如何自动生成注释文档 方法一:“/*”后回车(但生成内容不够详细!) 方法二:自定义 1、主题。 File->Settings, 搜索Theme, 点开Appearance, 在右边面板的Theme中选择Darcula。 2、注释快捷键。 File->Settings,搜索keymap,点开Keymap,在右边面板上搜索,找到Other->Fix doc comment,双击,选择Add Keyboard Shortcut,按下你的快捷键。Eclipse中是alt + shift +J,但是在这里会冲突,所以我用了比较近的快捷键组合:alt + shift + K。在修改文档注释,如添加参数等方面,Android Studio的快捷键比Eclipse要智能多了。 3、成员变量前缀。 如果你命名成员变量习惯前面加一个m的前缀,但是生成getter和setter的时候,又不希望方法名中有这个m,可以如下设置。 File->Settings->Code Style->Java,然后在右边面板中选择Code Generation标签,Naming,Field这一行,对应的Name prefix中加上m. 4、方法排序。 如果你总是调整自己写的方法,以使互相调用或功能相关的方法能靠近,可以这样设置。 如第3条的步骤,在标签中选择Arrangment,勾住Keep dependent methods together,后面可以自己选择是按广度排序还是按深度排序。 5、新文件的注释模板。 File->Settings,搜索comment,找到File and Code Templates,右边面板,Templates->Class,然后修改编辑框里的内容。下面是接口(Interface)的注释模板。我的注释模板如下:

  1. #if ({PACKAGE_NAME} &&{PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
  2. /**
    • User: Geek_Soledad(msdx.android@qq.com)
    • Date: {YEAR}-{MONTH}-${DAY}
    • Time: {HOUR}:{MINUTE}
    • FIXME
  3. */
  4. public class ${NAME} {
  5. }

你也可以在Include标签中,备份一下原来的File Header,然后修改它。

http://www.xuebuyuan.com/2035619.html

另外:Eclipse自动补全功能和自动生成作者、日期注释等功能设置 http://www.eoeandroid.com/thread-178374-1-1.html

Gradle

build.gradle设置包依赖(jar) compile group: 'com.alibaba', module: 'fastjson', version: 'latest.integration'

可以简写成 compile 'com.alibaba:fastjson:latest.integration' 去掉重复依赖 compile 'com.alibaba.fastjson.latest.integration' { exclude module: 'annotations', group: 'com.google.android' }

其中latest.integration可以替换成具体的版本号

检查依赖关系 ..\gradlew -q dependencies

找到重复后,在build.gradle加入exclude来排除:

?????用Gradle构建android

Android API版本选择 compileSdkVersion buildToolsVersion minSdkVersion targetSdkVersion 1、Minimum Required SDK 最小需要的SDK,指定你所开发的应用的最低运行的SDK环境,如果指定API-11,则在API-10版本SDK的设备上根本不能安装成功。 2、Target SDK 目标SDK,你所开发的应用程序支持最高的SDK版本,每次SDK版本更新之后要在新版本上测试应用,修改为最近的SDK。 2、compile with 编译的SDK版本,个人理解,对于编译版本以下的SDK版本,有些新特性不支持,使用support libs进行向后兼容,对于大于compile版本的SDK,安卓本身是向前兼容的(兼容更高的版本)所以不需担心。

Android与Git

Project(项目)、Module(模块)的关系 AS的Project对应Eclipse的Workspace,Module对应Eclipse的Project。

每个Module有一个AmdroidManifest.xml文件

问题:从Project图可看出,AndroidManifest.xml文件可放在Application的src目录中任何位置,在何处指定???

AS中Project与Android有何区别

Project(完整显示项目所在的目录结构!)

Android(只Android相关,简化突出)

【TIP】AS要切换为Project(不要Android等!)这样才能出来真实的src/main/文件目录树

如何加入第三方库 JAR放入libs目录中,然后Add as Libraries

AS环境设置??? Setting File Encoding Setting设置为utf-8

Project setting指定SDK和JAVA路径 最好把SDK安装在D盘(除非C盘为固态盘、且足够大!)

Project Structure – 指定Module的SDK和Build Tools版本、Sign、Build Type、依赖!

AS常用快捷键 文本编辑快捷键???

如何快速生成get、set、tostring、构造函数、Copyright等 ALT+Ins Code=>Generate

如何自动生成注释文档 方法一:“/*”后回车(但生成内容不够详细!) 方法二:自定义 1、主题。 File->Settings, 搜索Theme, 点开Appearance, 在右边面板的Theme中选择Darcula。 2、注释快捷键。 File->Settings,搜索keymap,点开Keymap,在右边面板上搜索,找到Other->Fix doc comment,双击,选择Add Keyboard Shortcut,按下你的快捷键。Eclipse中是alt + shift +J,但是在这里会冲突,所以我用了比较近的快捷键组合:alt + shift + K。在修改文档注释,如添加参数等方面,Android Studio的快捷键比Eclipse要智能多了。 3、成员变量前缀。 如果你命名成员变量习惯前面加一个m的前缀,但是生成getter和setter的时候,又不希望方法名中有这个m,可以如下设置。 File->Settings->Code Style->Java,然后在右边面板中选择Code Generation标签,Naming,Field这一行,对应的Name prefix中加上m. 4、方法排序。 如果你总是调整自己写的方法,以使互相调用或功能相关的方法能靠近,可以这样设置。 如第3条的步骤,在标签中选择Arrangment,勾住Keep dependent methods together,后面可以自己选择是按广度排序还是按深度排序。 5、新文件的注释模板。 File->Settings,搜索comment,找到File and Code Templates,右边面板,Templates->Class,然后修改编辑框里的内容。下面是接口(Interface)的注释模板。我的注释模板如下:

  1. #if ({PACKAGE_NAME} &&{PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
  2. /**
    • User: Geek_Soledad(msdx.android@qq.com)
    • Date: {YEAR}-{MONTH}-${DAY}
    • Time: {HOUR}:{MINUTE}
    • FIXME
  3. */
  4. public class ${NAME} {
  5. }

你也可以在Include标签中,备份一下原来的File Header,然后修改它。

http://www.xuebuyuan.com/2035619.html

另外:Eclipse自动补全功能和自动生成作者、日期注释等功能设置 http://www.eoeandroid.com/thread-178374-1-1.html

shows method parameter hints on usage - How to disable it

改变主题

设置为鼠标滚轮来缩放Editor的字体大小

列出类树状结构:成员变量和方法(像ZendStudio那样!) Alt-F7

Windows:Ctrl + F12:在编辑类的时候使用热键查看类的结构:(倒数第二个菜单 File Structure)

查看类的继承关系Windows:Ctrl + H

快捷键 Windows:Ctrl + H

Android Studio 小技巧合集 http://blog.csdn.net/u010081661/article/details/50681753 Android Studio 技巧之【Delete Line】等 http://blog.csdn.net/markhulu/article/details/69388713 Android Studio 的 10 个你很有可能不知道的技巧 http://blog.csdn.net/PrototypeZ/article/details/51195462 Ctrl + Shift + A万能搜索框 如果你是 Windows/Linux 用户, 那么请按Ctrl + Shift + A, 如果你是 Mac 用户,那么请按Command + Shift + A,在这个万能的输入框内可以输入你想要执行的操作

你可能不知道的 Android Studio 小技巧之「多行编辑」 http://blog.csdn.net/googdev/article/details/52865094

测试

https://www.jianshu.com/p/011eb88f4e0d

http://blog.csdn.net/williamchew/article/details/52977006 条件断点 如下,若我们想在strings[i].equals("c")的时候暂停,就只需要右击我们的断点

日志断点 这类断点并不会使程序停止,但是可以输出更多的信息,首先我们不勾选Suspend的这个,接下来再log evaluated expression这里输出

异常断点 也就是哪里有异常,就会定位到异常抛出的地方

方法断点 可以观察方法里的参数,返回值 使用方法:直接在方法名的那一行点击,图标与其他的有所

属性断点 这个属性修改的时候程序会暂停,多用于调试多线程的时候。

Run模式中不必重新运行而进入调试模式:Attach Debug to android process

转载于:https://juejin.im/post/5a934ff95188257a6132583a

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/284084.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

嵌入式linux面试题解析(二)——C语言部分三

嵌入式linux面试题解析&#xff08;二&#xff09;——C语言部分三1、下面的程序会出现什么结果#include <stdio.h>#include <stdlib.h>#include <string.h>void getmemory(char *p){ p(char *) malloc(100); strcpy(p,”hello world”);}int main( ){…

什么是JavaBean、Bean? 什么是POJO、PO、DTO、VO、BO ? 什么是EJB、EntityBean?

前言&#xff1a; 在Java开发中经常遇到这些概念问题&#xff0c;有的可能理解混淆&#xff0c;有的可能理解不到位&#xff0c;特此花了很多时间理顺了这些概念。不过有些概念实际开发中并没有使用到&#xff0c;可能理解还不够准确&#xff0c;只能靠后续不断纠正了。 1、什么…

【GlobalMapper精品教程】037:构建泰森多边形(Thiessen Polygon)实例精解

泰森多边形是进行快速插值和分析地理实体影响区域的常用工具。例如,用离散点的性质描述多边形区域的性质,用离散点的数据计算泰森多边形区域的数据。泰森多边形可用于定性分析、统计分析和临近分析等。 文章目录 一、泰森多边形的概念二、泰森多边形的特点三、泰森多边形构建…

WPF 实现 Gitee 泡泡菜单「完」

WPF 实现 Gitee 泡泡菜单「完」气泡菜单「完」作者&#xff1a;WPFDevelopersOrg原文链接&#xff1a; https://github.com/WPFDevelopersOrg/WPFDevelopers框架使用大于等于.NET40&#xff1b;Visual Studio 2022;项目使用 MIT 开源许可协议&#xff1b;需要实现泡泡菜单需…

BZOJ 4516: [Sdoi2016]生成魔咒 [后缀自动机]

4516: [Sdoi2016]生成魔咒 题意&#xff1a;询问一个字符串每个前缀有多少不同的子串 做了一下SDOI2016R1D2&#xff0c;题好水啊随便AK 强行开map上SAM 每个状态的贡献就是\(Max(s)-Min(s)1\) 插入的时候维护一下就行了 #include <iostream> #include <cstdio> #i…

Fiddler抓包5-接口测试(Composer)

前言 Fiddler最大的优势在于抓包&#xff0c;我们大部分使用的功能也在抓包的功能上&#xff0c;fiddler做接口测试也是非常方便的。 对应没有接口测试文档的时候&#xff0c;可以直接抓完包后&#xff0c;copy请求参数&#xff0c;修改下就可以了。 一、Composer简介 点开右侧…

【GlobalMapper精品教程】038:模拟水位上升(洪水淹没分析)案例教程

基于数字高程模型 ( DEM )格网模型,实现给定水深情况下洪水淹没区的计算模型,讨论洪水淹没演进过程可视化实现的关键技术,以三维可视化方式,动态而形象地模拟在指定洪水水位下的洪水淹没演进过程。 文章目录 一、洪水淹没效果二、洪水淹没实现三、查询淹没区域面积参考教程…

【.NET6+Avalonia】开发支持跨平台的仿WPF应用程序以及基于ubuntu系统的演示

前言&#xff1a;随着跨平台越来越流行&#xff0c;.net core支持跨平台至今也有好几年的光景了。但是目前基于.net的跨平台&#xff0c;大多数还是在使用B/S架构的跨平台上&#xff1b;至于C/S架构&#xff0c;大部分人可能会选择QT进行开发&#xff0c;或者很早之前还有一款M…

SOA架构和MSA架构之间的关系

目录 一、传统架构&#xff1a;简单单体模式 二、分布式架构&#xff1a;面向服务架构&#xff08;SOA&#xff09; 1、服务与SOA 2、SOA战略 3、SOA的两大基石&#xff1a;RPC和MQ 三、分布式架构&#xff1a;微服务架构&#xff08;MSA&#xff09; 什么是微服务 微服…

Linux系统文件与目录权限管理

Linux文件目录权限管理 一、Linux文件属性及权限 1、Linux文件及目录权限及属性说明 &#xff08;1&#xff09;权限及属性说明 &#xff08;2&#xff09;文件权限说明 三种权限说明&#xff1a;r 读 read w 写 write x 执行 excute 2、修改文件属主及属组 &#xff08;1&am…

一个文本分词程序

WordMap类从分词库中读入分词 将分词存入unordered_map<std::string, int> 中 #pragma once #include<istream> #include<unordered_map> #include<string> #include<ctime> class WordMap { public:WordMap(const std::string& filename);…

scala学习手记28 - Execute Around模式

我们访问资源需要关注对资源的锁定、对资源的申请和释放&#xff0c;还有考虑可能遇到的各种异常。这些事项本身与代码的逻辑操作无关&#xff0c;但我们不能遗漏。也就是说进入方法时获取资源&#xff0c;退出方法时释放资源。这种处理就进入了Execute Around模式的范畴。 在s…

【时序数据库InfluxDB】Windows环境下配置InfluxDB+数据可视化,以及使用 C#进行简单操作的代码实例...

前言&#xff1a;如题。直接上手撸&#xff0c;附带各种截图&#xff0c;就不做介绍了。1、influxDB的官网下载地址 https://portal.influxdata.com/downloads/打开以后&#xff0c;如下图所示&#xff0c;可以选择版本号&#xff0c;以及平台。此处咱们选择windows平台。不过…

官宣 微软跨平台 UI 框架 .NET MAUI 6 正式发布

微软宣布 .NET MAUI 已正式 GA。 .NET MAUI (.NET Multi-platform App UI) 是一个跨平台 UI 框架&#xff08;前身是 Xamarin.Forms&#xff09;&#xff0c;用于通过 C# 和 XAML 创建原生移动和桌面应用。基于 .NET MAUI&#xff0c;开发者可在单个共享代码库中创建同时支持 A…

92. Reverse Linked List II

Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1->2->3->4->5->NULL, m 2 and n 4, return 1->4->3->2->5->NULL. Note:Given m, n satisfy the following condition:1 ≤ m ≤ n ≤ lengt…

Reset

在常用的代码中&#xff0c;我们使用AddForm.form.reset();或者AddForm.getForm().reset();来将FormPanel重置。 但是当页面增加和修改公用一个formpanel时&#xff0c;当先点击修改时&#xff0c;窗体修改显示出数据&#xff0c;关闭窗体后&#xff08;window.hide()&#xff…

《.NET物联网从零开始》系列

近日搞硬件网关时&#xff0c;那些残存的数电、模电和通信原理的记忆时常在脑海中萦绕&#xff1b;想起来多年前看张高兴的博客学会了.netcore树莓派进行物联网开发。使用dragonboard(龙板)搭载windows 10 iot系统&#xff0c;配合光电传感器和rfid实现了一个项目原型。碰巧逛g…

设计好接口的 36 个锦囊(原则)

目录 设计好接口的 36 个锦囊 | 接口参数校验 | 修改老接口时&#xff0c;注意接口的兼容性 | 设计接口时&#xff0c;充分考虑接口的可扩展性 | 接口考虑是否需要防重处理 | 重点接口&#xff0c;考虑线程池隔离 | 调用第三方接口要考虑异常和超时处理 | 接口实现考虑…

嵌入式第11次实验

嵌入式软件设计第11次实验报告 学号&#xff1a;140201236 姓名&#xff1a;沈樟伟 组别&#xff1a;第2组 实验地点&#xff1a;D19 一、实验目的&#xff1a; 1、了解短信AT指令的使用方法。 2、掌握使用短信AT指令驱动SIM900A发送和接收短信的方…

Linux文件系统之df

df用于查看当前挂载的文件系统-a 查看所有的文件系统可以自己指定容量单位&#xff0c;-BM -BG 但是还是h的选项好用-i 查看inode的使用信息-l(L) 显示本地文件系统--output 可以指定管理员想要看的列--outputField_List可用的字段有source fstype itotal iused iavail ipcent …