此处将为大家介绍关于AndroidStudio4.0NewClass新特性解析的详细内容,并且为您解答有关androidstudionewproject的相关问题,此外,我们还将为您介绍关于Andro
此处将为大家介绍关于Android Studio 4.0 New Class 新特性解析的详细内容,并且为您解答有关android studio new project的相关问题,此外,我们还将为您介绍关于Android Studio 2.2新特性、Android Studio 3.3 Canary 4 发布,引入新特性、Android Studio 3.6 新特性一览(推荐)、android studio 3.6.0 绑定视图新特性的方法的有用信息。
本文目录一览:- Android Studio 4.0 New Class 新特性解析(android studio new project)
- Android Studio 2.2新特性
- Android Studio 3.3 Canary 4 发布,引入新特性
- Android Studio 3.6 新特性一览(推荐)
- android studio 3.6.0 绑定视图新特性的方法
Android Studio 4.0 New Class 新特性解析(android studio new project)
Android studio 4.0 在5月底发布了,经过了这么长时间的深度使用,还是很稳定的, 新推出的功能特性也很nice。
但是在4.0前后,New class 这个功能是完全不一样的呈现方式,也困扰了我好久,终于在stack over flow上有大佬帮小弟解开了迷惑。研究了一下后,还是觉得写下来会好一些。
1、 在4.0之前,创建class 是直接给出一个如下的弹窗
通过这种方式,可以直接将类的名称、种类、父类、要实现的接口、包名、作用域等状态清晰的展示出来,仅需要傻瓜式的配置即可,而且会有代码提示。
2、更新到4.0之后,类的创建方式变成了根据文件模板的方式来创建
(1)要查看模板、查找自定义内容和修改模板,请按以下步骤操作:
- 对于 Windows 或 Linux,依次选择 File > Settings > Editor > File and Code Templates > Files。
- 对于 macOS,依次选择 Android Studio > Preferences > Editor > File and Code Templates > Files。
(2)Android官方提供了一部分文件模板,具体可以查看studio里的file template,或者访问:https://developer.android.com/studio/write/create-java-class#templates
(3) Create New Class 对话框中的内容填写
Android Studio 会将文件模板变量替换为生成的 Java 文件中的值。您需要在 Create New Class 对话框中输入这些值。模板包含以下可供您使用的变量:
IMPORT_BLOCK
- 以换行符分隔的列表,其中包含支持任何父类或接口所需的 Javaimport
语句,或为空字符串 (""
)。例如,如果您仅实现Runnable
接口而不扩展任何内容,则此变量将为"import java.lang.Runnable;\n"
。如果您实现Runnable
接口并扩展Activity
类,则此变量将为"import android.app.Activity;\nimportjava.lang.Runnable;\n"
。VISIBILITY
- 相应类是否具有公开访问权限。其值可以为PUBLIC
或PACKAGE_PRIVATE
。SUPERCLASS
- 单个类名称,或为空。如果存在,则新类名称后面将有一个extends ${SUPERCLASS}
子句。INTERFACES
- 以英文逗号分隔的接口列表,或为空。如果存在,则父类后面将有一个implements ${INTERFACES}
子句;如果没有父类,则类名称后面将有一个该子句。对于接口和注释类型,接口具有extends
关键字。ABSTRACT
- 相应类是否应为抽象类。其值可以为TRUE
或FALSE
。FINAL
- 相应类是否应为最终类。其值可以为TRUE
或FALSE
。
参考:
https://stackoverflow.com/questions/62259206/android-studio-4-0-new-class/62506705#62506705
https://developer.android.com/studio/write/create-java-class#variables
https://developer.android.com/studio/write/create-java-class#templates
Android Studio 2.2新特性
android studio 2.2
Android studio 2.2的提升包含三大要素:更快,更加智能,Android平台支持。开发更加迅速,例如新的布局编辑器,其让开发者能更快的更简单的编写应用界面。开发更加智能,例如新的APK分析工具,增强了的布局代码审查,增加了代码分析等。Android平台支持则是针对Android7.0的支持,另外Android官方模拟器也已经发布。
Android studio 2.2包含有20多种新特性:设计,开发,构建和测试。从新的ConstraintLayout控件,再到Android NDK开发C++代码的支持,通过最新的Jack编译,在你的应用中创建Espresso测试。
从Android studio 2.1.3更新至2.2,需要下载190多M的补丁文件。下面给出一些新特性:
设计
布局编辑器:创建Android应用用户界面,现在变得更加容易,通过新的blueprint模式,可以快速配置界面和调整可见属性。之后的文章,会详细介绍该新编辑器的用法。
ConstraintLayout:新的布局是一个灵活的布局管理器,允许你创建动态用户界面,且其兼容Android 9以上。ConstraintLayout在Android studio2.2上运行效果更好。之后会有博文介绍该控件。
开发
c++的支持:现在你可以通过使用CMake或ndk-build来通过gradle编译你的c++项目,从CMake构建转移到Android Studio现在是无缝连接。
样例浏览器:参考Android示例代码现在更加方便,在编辑器窗口内,找到Android示例代码,来帮助你加快开发进度。
构建
instant run的提升:自从Android studio2.0引入之后,其就一直是google打算长久支持的让Android开发更快更轻量的项目。Android studio2.2针对instant run有一些bug的修复。
APK分析工具:方便检查apks的内容,了解每个组建的大小。该特性在调试多dex问题时,非常有用。另外你还可以通过分析工具来比较apk的不同版本。
构建缓存(实验阶段):用于提升构建速度,在gradle.properties文件中添加android.enableBuildCache=true
测试
Android模拟器中的传感器:Android模拟器现在包含一些虚拟传感器,例如加速度器,温度计,磁力仪等。
Espresso测试记录器(beta版):Espresso测试器可以记录你的app交互,然后为你生成UI测试代码。你记录你和app的交互,添加断言,记录器会记录交互情况,然后生成ui测试报告。你可以在本地运行测试,或在持续集成的服务端,或使用Firebase。详情见下一篇博文。
GPU调试工具(Beta):现在你可在你的Android设备上捕获OpenGL ES 的流信息,然后在Android studio内分析。
总结
总的来说,Android studio 2.2包含以下新特性:
-
设计
布局编辑器
ConstraintLayout
布局审查(测试)
PSD文件的支持
-
构建
Jack编译器的提升
Java 8的支持
C++ ndk-build或CMake
合并Manifest视图
构建缓存(测试)
OpenJDK的支持
Instant Run的提升
-
开发
Firebase插件
更新代码检查和Lint检查
添加可访问支持
C++编辑和调试的提升
示例浏览器
改进字体
-
测试
Espresso测试记录仪(Beta)
APK分析工具
GPU调试器(Beta)
Android模拟器的传感器支持
这么多特性,相信每个人都会喜欢其中的一二。
这些特性的详细用法,会在稍后的博文中,一一解答。
Android Studio 3.3 Canary 4 发布,引入新特性
Android Studio 3.3 Canary 4 已发布,下载地址 >>> https://developer.android.com/studio/preview/index.html
该版本引入了一些新功能,也针对一些行为进行了修改,并修复了部分 bug。
新功能和行为变更
SliceProvider 模板已更新
bundle Gradle 任务现在可以生成通用 APK
导航编辑器现在按字母顺序对下拉列表中的属性进行排序
在 IDE 中提供了快速反馈功能
……
Bug 修复
Data binding was causing issues with caching task outputs.
MergeSourceSetFolders was using the worker API regardless of the flag that was set.
The Fabric plugin couldn''t easily access a project mapping file.
Adding MultiDexApplication as an application name was broken when using AndroidX.
Building bundles with R8 enabled was causing crashes.
CMake server mode was causing issues with C++ code completion.
Some folders weren''t properly marked as non-source folders, causing some issues.
JNI_OnLoad and JNI_OnUnload now show quick fixes if parameter or return types are incorrect.
Documentation preview wasn''t properly handling certain types of content.
Fractional HiDPI wasn''t working properly on Windows machines.
Layout editor was improperly displaying small fonts on HiDPI monitors.
In some cases, the Navigation Editor wasn''t recognizing NavHosts.
The API Version Distribution chart was out of date.
Using analyzeProjectStructure on a large project was resulting in an ArrayIndexOutOfBoundsException.
Device File Explorer files was saving files to a set location. This is now configurable.
The Force HTTP setting in the Android Studio SDK updater was being ignored.
The Android Studio SDK updater was prohibiting proxy caching.
有关 Android Studio 早期版本中的新功能和更改的信息,请参阅 Android Studio Preview 发布说明。
Android Studio 3.6 新特性一览(推荐)
设计
设计编辑器
设计编辑器(比如布局编辑器和导航编辑器)现在提供了一个拆分视图模式,能够同时查看 UI 界面的 Design 视图和 Code 视图。拆分视图取代并改进了早期的预览窗口,并且可以对每个文件进行设置,并且可以保存上下文信息,比如:缩放比例和设计视图选项等。想要开启拆分视图,单击编辑器窗口右上角的拆分图标即可。相关文档:https://medium.com/androiddevelopers/android-studio-design-tools-ux-changes-split-view-dcde75e88a0c
颜色资源选择器
在这个版本中,通过颜色资源选择器可以快速的在应用程序中选择和替换颜色资源值。在设计工具和 XML 编辑器都可以使用颜色资源选择器。
开发
View binding
View binding 是一个新特性,它通过在代码中引用视图时提供编译时安全性,使我们能够更容易地编写与视图交互的代码。如果启用,视图绑定将为模块中的每个 XML 布局文件生成绑定类。在大多数情况下,视图绑定取代 findViewById 方法。我们可以在代码中引用所有具有 ID 的 view,但不会有空指针或类强制转换的错误风险。这些差异意味着布局和代码之间的不兼容将导致编译时而不是运行时的构建失败。要在项目中启用视图绑定,请在每个模块的 build.gradle
文件中包含以下内容:
android { viewBinding.enabled = true }
一位 GDE 写的 View binding 相关 blog:https://medium.com/google-developer-experts/exploring-view-binding-on-android-44e57ba11635
Android NDK 更新
以下 Android Studio 中的 NDK 特性,以前在 Java 中支持,现在在 Kotlin 也支持:
- 从 JNI 声明跳转到 C/C++ 中相应的实现函数。通过将鼠标悬停在源代码文件中靠近行号的 C/C++ 项标记上来查看函数的映射
- 为 JNI 声明自动创建一个 stub 实现函数。首先定义 JNI 声明,然后在 C/C++ 文件中输入“ JNI” 或方法名称来激活
更多详细信息:https://developer.android.google.cn/studio/preview/features/#3.6-ndk-updates
IntelliJ Platform 更新
Android Studio 包含 IntelliJ 2019.2 版本的所有特性。 这个 IntelliJ 版本包括许多改进,从新的服务工具窗口到大大改进的启动时间。更多详情:https://blog.jetbrains.com/idea/2019/07/intellij-idea-2019-2-java-13-preview-features-profiling-tools-services-tool-window-and-more/
Add classes with Apply Changes
现在可以添加一个类,然后通过单击 Apply Code Changes
或 Apply Changes and Restart Activity
按钮将代码变更部署到正在运行的应用程序中。关于 Apply Cahnges 的更多详情:https://developer.android.google.cn/studio/run#apply-changes
构建
Android Gradle 插件更新
Android Gradle 插件 3.6 以及更高版本包括对 Maven Publish Gradle 插件的支持,这个插件可以让我们将构建产物发布到 Apache Maven 仓库中。Android Gradle 插件为应用程序或库模块中的每一个 build variant 创建一个组件,我们可以使用该组件将构建产物发布到自定义的 Maven 仓库中。这一变更将使我们更容易地管理各种 targets 的发布周期。更多详情:https://developer.android..google.cn/studio/releases/gradle-plugin#maven-publish
新的打包工具
Android 构建团队一直在努力的改进构建性能,在这个版本中,将开发调试模式时的默认打包工具改为了 zipflinger
。这样在调试开发的时候构建速度将会有所提高,但是我们也可以在 gradle.properties
文件中设置 android.useNewApkCreator=false
来改用旧的打包工具。
Test
Android 模拟器-谷歌地图界面
Android Emulator 29.2.12 为 App 开发人员提供了一种新的操纵模拟设备位置的新方法。在扩展控件菜单中嵌入了谷歌地图用户界面,方便开发人员更容易地指定位置,也可以根据两个地点位置创建导航路线。而且单个一个位置还可以保存并重新作为虚拟位置发送到模拟器,路线导航也可以通过输入地址或单击两个点来生成。这些路线导航可以可以实时回放,路线导航沿线的位置信息也会被发回到模拟器的系统内。
多个屏幕支持
Emulato 29.1.10 更新了对多个虚拟屏幕的初步支持。随着越来越多的设备可以使用多个屏幕,在多种屏幕配置上测试你的应用程序是非常重要的。可以通过设置菜单(扩展控件设置)配置多个屏幕。
断点续传下载 SDK
当使用 Android Studio SDK Manager 下载 Android SDK 组件和工具时,Android Studio 现在可以继续之前中断的下载(例如,由于网络问题) ,而不是从头重新下载。在网络连接不可靠的情况下,这个更新对需要下载大的 SDK 组件和工具时非常有帮助,比如 Android 模拟器或系统映像。
In-place updates for imported APKs
Android Studio 允许我们导入外部构建的 APKs 来调试和分析它们。以前,当对这些 apk 进行更改时,我们必须再次手动导入它们并且需要重新添加符号表和源代码。Android Studio 3.6 现在可以自动检测导入的 APK 文件所做的更改,并且会提供一个重新导入该文件的选项。
Attach Kotlin sources to imported APKs
我们增加了对将 Kotlin 源文件附加到导入的 apk 的支持。 要了解更多信息,请参见 Attach Kotlin/Java 源代码。
优化
在内存分析器中检测内存泄漏
根据反馈,Android Studio 开发团队在内存分析器中添加了检测可能泄漏的活动和片段实例的功能。首先,在内存分析器中捕获或导入堆转储文件,然后选中 activity/fragments Leaks
复选框就会生成检测结果。相关文档:https://developer.android.google.cn/studio/profile/memory-profiler#profiler-memory-leak-detection
Deobfuscate class and method bytecode in APK Analyzer
当使用 APK 分析器检查 DEX 文件时,现在可以对类和方法字节码进行去混淆处理。 在 DEX 文件查看器中,加载正在分析的 APK 的 ProGuard 映射文件。 加载后,就可以通过右键单击要检查的类或方法,然后选择 Show Bytecode
来去除混淆。
总结
到此这篇关于Android Studio 3.6 新特性一览的文章就介绍到这了,更多相关android studio 3.6新特征内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
- Android Studio 3.6运行模拟器时Emulator警告问题的解决方案
- 分享安装Android Studio3.6的经验教训
- Android Studio 3.6 调试 smali的全过程
- Android Studio 3.6 正式版终于发布了,快来围观
android studio 3.6.0 绑定视图新特性的方法
Android studio 3.6.0 绑定视图使用方法
1.确保你的 build gradle 最低为3.6.0
dependencies { classpath ''com.android.tools.build:gradle:3.6.0'' }
2、在你的项目里的build gradle配置以下代码,注意 是在 android { } 里面配置
android{ viewBinding{ enabled = true; } }
android { //......... viewBinding { enabled = true; } } dependencies { //....... }
3、代码使用方法
如果你的 MainActivity 加载的是 activity_main.xml 文件,那么你在 MainActivity 就可以使用 ActivityMainBinding
来绑定,注意ActivityMainBinding 是根据你的xml文件名生成的 如果你是login_activity.xml 那么会对应的来生成
LoginActivityBinding。
原来的onCreate方法是这样的
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }
使用绑定视图之后是这样的
public class MainActivity extends Activity { ActivityMainBinding binding;//这个是你对用的XML文件生成的 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ActivityMainBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); }
假如你的布局里有 TextView 和 Button 两个组件 id 分别为 text 和 button 如下
<LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/text" android:layout_width="match_parent" android:layout_height="wrap_content"> </TextView> <Button android:id="@+id/button" android:layout_width="match_parent" android:layout_height="wrap_content"> </Button> </LinearLayout>
那么视图绑定功能的使用时这样的,省去了findViewById的过程
public class MainActivity extends Activity { ActivityMainBinding binding;//这个是你对用的XML文件生成的 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); binding = ActivityMainBinding.inflate(getLayoutInflater()); setContentView(binding.getRoot()); } protected void initView() { binding.text.setText("视图绑定练习"); binding.button.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //按钮点击事件 } }); } }
简单的使用记录下,适配器,Fragment等绑定基本差不太多,欢迎自行探索
public class FragmentOne extends BaseFragment{ FragmentOneBinding binding; @Override public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) { View view = inflater.inflate(R.layout.fragment_one,container,false); binding = FragmentOneBinding.bind(view); return view; } }
到此这篇关于android studio 3.6.0 绑定视图新特性的方法的文章就介绍到这了,更多相关android studio绑定视图内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
- Android Studio使用小技巧:布局预览时填充数据
- Mac Android Studio安装图文教程
- Android Studio设置绘制布局时的视图
今天关于Android Studio 4.0 New Class 新特性解析和android studio new project的介绍到此结束,谢谢您的阅读,有关Android Studio 2.2新特性、Android Studio 3.3 Canary 4 发布,引入新特性、Android Studio 3.6 新特性一览(推荐)、android studio 3.6.0 绑定视图新特性的方法等更多相关知识的信息可以在本站进行查询。
本文标签: