Android Studio官方文档之Android Studio(Meet Android Studio)篇

迎接Android Studio(Meet Android Studio)

1、前言

Android Studio是基于IntelliJ IDEA下官方整和的一个Android应用程序开发环境。在IntelliJ强大的代码编辑器和开发工具基础之上,Android Studio提供了更多提高您在开发Android应用程序效率的功能,如下:

  • 一个灵活的基于Gradle构建系统
  • 具有更快速度和功能丰富的模拟器
  • 提供了一个统一开发Android设备的环境
  • Instant Run推动改变了不需要重新编译新的APK来运行你的应用程序
  • 代码模板和GitHub的整合,帮助你建立共同的应用程序功能和导入示例代码
  • 提供了广泛的测试工具和框架
  • 使用Lint工具来捕获性能、可用性、版本兼容性和其他问题
  • 支持C++和NDK开发
  • 内置的谷歌云平台的支持,使得它很容易集成谷歌云消息和应用引擎

本页面提供了基本的Android Studio功能介绍。对于一个总结的最新发布的变化,请看Android Studio发布说明。

2、工程结构(Project Structure)

在Android Studio中,每一个工程中包含一个或者多个modules的源代码文件和资源文件。modules包括以下几大类型:

  • Android应用程序modules
  • 库modules
  • Google应用程序引擎 modules

默认情况下,Android Studio在Android工程视图中显示你的工程文件,如图所示:
图1、此视图是由模块组织的,以提供对项目的关键源文件的快速访问

所有生成的文件是在Gradle脚本顶层可见,各应用模块包含以下文件夹:

  • manifests:包含AndroidManifest.xml文件。
  • java:包含java源代码文件,包括JUnit测试代码。
  • res:包含所有非代码资源,如XML布局、UI字符串和位图图像

您还可以自定义项目文件的视图,将重点放在应用程序开发的特定方面。例如,选择项目的问题视图显示链接到包含任何已识别的编码和语法错误的源文件,如在布局文件中丢失的XML元素关闭标记。

图2、在问题视图中的项目文件,显示一个有问题的布局文件

更多信息,请参见管理项目章节。

3、用户界面(The User Interface)

Android Studio的主要窗口是由图3中确定的几个逻辑区域组成的,

图3、Android Studio主窗口

(1)工具栏可以让你进行广泛的行动,包括运行您的应用程序和启动的安卓工具。
(2)导航栏可以帮助您浏览您的项目和打开的文件编辑。它提供了一个更紧凑的视图在项目工具窗口中可见的结构.
(3)编辑器窗口是您创建和修改代码的地方。根据当前的文件类型,此窗口可以更改。例如,当查看布局文件时,编辑窗口显示布局编辑器,并提供选项来查看相应的XML文件。
(4)工具窗口给您访问特定的任务,如项目管理、搜索、版本控制和更多。你可以展开他们,并收缩来隐藏他们。
(5)状态栏显示您的项目的状态和IDE本身,以及任何警告或信息。

你可以组织的主要窗口,给自己更多的屏幕空间被隐藏或移动工具栏和工具窗口。你也可以使用键盘快捷键来访问大多数IDE功能。在任何时候,你可以搜索你的源代码,数据库,行动,用户界面的元素,等等,通过双按移位键,或点击放大镜在右上角的Android Studio窗口。这可以是非常有用的,例如,你正在试图找到一个特定的IDE的行动,你已经忘记了如何触发。

4、工具窗口(Tool Windows)

Android Studio遵循你的背景,并自动为你提供相关的工具窗口来让你工作,而不是使用预设的窗口。默认情况下,最常用的工具窗口被固定在应用程序窗口边缘的工具窗口中。

  • 要展开或折叠一个工具窗口,请单击“工具”窗口中的“工具”名称。你也可以拖动,压住,松开,贴合,和分离的工具窗口。
  • 返回到当前默认工具窗口布局,单击Window > Restore Default Layout或通过单击Window > Store Current Layout为默认设置自定义默认布局。
  • 要显示或隐藏整个工具窗口栏,请单击Android Studio窗口左下角的这里写图片描述图标。
  • 要找到一个特定的工具窗口,悬停在窗口图标上,并从菜单中选择“工具”窗口。

您还可以使用键盘快捷键来打开工具窗口。表1列出了最常见的窗口的快捷方式。

表1、一些有用的工具窗口的键盘快捷键。

如果你想隐藏所有工具栏,工具窗口,和编辑标签,点击View > Enter Distraction Free Mode。这进入无干扰模式。退出无干扰模式,点击 View > Exit Distraction Free Mode。

在Android Studio中您可以使用快速搜索搜索和过滤器在大多数工具窗口。为了使用快速搜索,选择“工具”窗口,然后键入您的搜索查询。

5、代码提示(Code Completion)

Android Studio有三种类型的代码完成,你可以使用键盘快捷键访问。

表2、代码提示的键盘快捷键。

类别描述Windows 和 Linux平台Mac平台
基本代码提示对变量、类型、方法、表达式等显示基本的建议。如果您在一行中两次调用基本完成,您可以看到更多的结果,包括私有成员和非导入的静态成员。Control+SpaceControl+Space
智能完善基于上下文显示相关选项。智能完成是意识到预期的类型和数据流。如果您在一行中两次调用智能完成,您看到更多的结果,包括链。Control+Shift+SpaceControl+Shift+Space
语句完善完成对您的当前语句,添加丢失的括号、括号、括号、格式设置等。Control+Shift+EnterShift+Command+Enter

你也可以进行快速修复,按Alt + Enter键显示意图的行为。

6、导航(Navigation)

这里有一些技巧,以帮助您在Android Studio中切换工作空间。

  • 使用最近的文件操作在您的最近访问的文件之间切换。按 Control+E( Control+E在一个Mac上)来提出最近的文件动作。默认情况下,选择最后一个访问的文件。您也可以通过此操作中的左栏访问任何工具窗口。
  • 使用文件结构动作查看当前文件的结构。把文件结构行动按Control+F12 (Command+F12在Mac上)。使用此操作,您可以快速浏览到当前文件的任何部分。
  • 搜索和导航到您的项目中的一个特定类使用导航到类的动作。通过按下Control+N (Command+O在Mac上)来行动。导航到类支持复杂的表达式,包括骆驼的驼峰、路径、线路导航、中间的名字匹配,和更多。如果你连续两次调用它,它将显示项目类的结果。
  • 导航到一个文件或文件夹,使用导航到文件操作。将导航到文件操作按Control+Shift+N (Command+Shift+O在Mac上)。要搜索文件夹,而不是文件,在您的表达式的结尾添加一个/。
  • 通过使用导航到符号动作的名称导航到一个方法或字段。把导航按Control + Shift + Alt + N的象征行动(命令+ Shift + Alt + O在Mac上)。
  • 找到所有的碎片代码引用的类、方法、字段、参数、或声明在当前光标位置按Alt + F7。

7、样式和格式(Style and Formatting)

当您编辑时,Android Studio会自动套用您的代码风格设置中指定的格式和样式。你可以通过编程语言的代码风格自定义设置,包括指定制表符和缩进,会议空间,包和背带,和空白行。自定义您的代码样式设置,点击 File > Settings > Editor > Code Style (Android Studio > Preferences > Editor > Code Style 在 Mac.)

虽然IDE自动应用格式为你工作,你也可以显式调用格式化代码行动按 Control+Alt+L (Opt+Command+L),或自动缩进所有线路按 Control+Alt+I (Alt+Option+I 在Mac上)。

这里写图片描述

图5、格式化后的代码。

8、版本控制的基本知识(Version Control Basics)

Android Studio支持多种版本控制系统(VCS的),包括Git,GitHub,CVS,Subversion,Mercurial,和谷歌云源库。

在导入你的应用程序到Android Studio,使用Android Studio VCS菜单选项使风投支持所需的版本控制系统,创建一个版本库,导入新的文件到版本控制,以及执行其他的版本控制操作:

从Android Studio VCS菜单,单击Enable Version Control Integration。
从下拉菜单中,选择一个版本控制系统与项目根关联,然后单击OK。

VCS的菜单现在显示了一些基于你选择的系统版本控制选项。

注意:您还可以使用 File > Settings > Version Control菜单选项来设置和修改版本控制设置。

9、Gradle构建系统(Gradle Build System)

Android Studio使用Gradle工具作为构建系统的基础,通过Android Gradle插件提供更多Android特定能力的工具。这个构建系统作为Android Studio菜单栏中的一个集成的工具,并独立于命令行方式运行。您可以使用构建系统的功能来完成以下功能:

  • 自定义、配置和扩展生成进程。
  • 使用相同的项目为你的应用程序创建多个应用程序,不同的功能模块。
  • 在sourcesets重用代码和资源。

利用工具的灵活性,你可以实现这一切,而不需要修改应用程序的内核源文件。Android Studio生成的文件被命名为build.gradle。他们是普通的文本文件,使用Groovy的语法配置打造的Android插件提供的工具元素。每个项目都有一个顶层生成文件,为整个项目和单独的模块级为每个模块构建文件。当导入一个现有的项目时,Android Studio会自动生成所需的生成文件。

要了解更多关于构建系统和如何配置,请参见“Configure Your Build”章节。

(1)构建变种版本(Build Variants)
构建系统可以帮助您创建同一个项目的不同版本的应用程序。这是有用的当你有一个免费版和付费版的应用程序,或者如果你想把多个应用程序为不同的设备配置在Google Play上。

有关配置建立变量的更多信息,请参阅 Configuring Gradle Builds章节。

(2)APK分发版本(APK Splits)
apk将允许你有效地创建基于屏幕密度或ABI多程序。例如,APK将允许你创建单独的hdpi和mdpi密度版本同时还在考虑他们的一个变种,让他们分享一个测试程序,javac,DX和混淆器设置。

(3)资源压缩(Resource Shrinking)
在Android Studio的资源压缩自动从您的打包的应用程序和库的依赖关系中删除未使用的资源。例如,如果应用程序使用的是谷歌Play服务访问谷歌驱动的功能,而不是你目前使用谷歌的登录,然后资源压缩可以消除各种在drawable下的多余的按钮资源。

注:资源萎缩的作品与代码收缩工具结合,如混淆器。

(4)管理依赖(Managing Dependencies)
在build.gradle文件为你的项目指定依赖项。Gradle比较关心你的依赖建立有效。你可以声明模块的依赖关系,依赖关系和远程二进制,你build.gradle文件局部二进制相关性。Android Studio配置项目默认使用Maven的中央存储库。(此配置包含在项目的顶层生成文件中)。有关配置依赖关系的详细信息,读取配置生成变体。

10、调试和配置工具(Debug and Profile Tools)

Android Studio协助您在调试和提高您的代码的性能,包括内联调试和性能分析工具。

(1)在线调试
使用内联调试来提高你的代码走查在调试器中查看与引用,表达式内联验证,和变量值。内联调试信息包括:

  • 内联变量值
  • 引用选定对象的对象
  • 方法的返回值
  • Lambda算术表达式
  • 技能说明

这里写图片描述
图6、内联变量值。

(2)性能监视器
Android Studio提供了性能监视器使您可以更轻松地跟踪您的应用程序的内存和CPU使用情况,找到释放的对象,找到内存泄漏,优化图形性能,并分析网络请求。
在你的应用程序运行在一个设备或模拟器,打开了Android Monitor监控工具窗口,然后单击“监视器”选项卡。

有关性能监视器的更多信息,见Android Monitor。

(3)堆内存分析
当你在Android Studio监控内存使用情况,可以同时启动垃圾收集和垃圾的java堆在一个Android特有的HPROF二进制格式文件堆快照
hprof查看器显示类,每一类的实例,并帮助您跟踪内存使用和查找内存泄漏参考树。

为更多的信息关于堆转储工作,看Dumping and Analyzing the Java Heap。

(4)配置跟踪
Android Studio允许您跟踪内存分配,因为它监视内存使用。踪内存分配允许您在执行某些操作时监视对象的位置。知道这些分配,使您能够优化您的应用程序的性能和内存使用,通过调整方法调用相关的这些行动。

有关跟踪和分析分配的信息,参见Allocation Tracker章节。

(5)访问数据文件
Android SDK工具,如Systrace,logcat,和TraceView,生成性能及调试数据详细的应用分析。要查看可用生成的数据文件,打开“捕获”工具窗口。在生成的文件列表中,双击一个文件来查看数据。右键单击任何。HPROF文件转换为标准的hprof文件格式。

(6)代码检查
当你编译你的程序,Android Studio自动运行配置Lint和其他IDE的检查来帮助你轻松地识别和与你的代码结构质量的正确问题。
该工具检查您的安卓项目源文件的潜在的错误和优化的正确性,安全性,性能,可用性,可访问性和国际化的改进。

这里写图片描述

图7、在Android Studio的一个检查的结果。

除了Lint检查,Android Studio进行代码检查和验证IntelliJ注释来简化你的工作流程。
更多信息,请参见 Improving Your Code with Lint and lint tool.

(7)在Android Studio的注释
Android Studio支持对变量、参数和返回值的注释,以帮助捕获错误,如空指针异常和资源类型冲突。Android SDK管理器软件包支持注释库在Android Studio中使用Android支持库。
Android Studio在代码检查过程中验证配置的注释。

(8)日志消息
当你建立和Android Studio运行你的程序,你可以查看日志信息输出装置(adb logcat)通过单击窗口底部的Android监控。如果你想用安卓设备监视器来调试你的应用程序,你可以通过点击Tools > Android > Android Device Monitor来启动设备监视器。监控设备是在那里你可以分析你的应用程序发现DDMS工具的全套控制装置的行为,和更多。它还包括层次结构浏览器工具,以帮助优化您的布局。

如有翻译不对的地方还希望多加指正!

这里写图片描述

希望你的捐助能助力翻译团队不断努力翻译出更多的内容。

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
很抱歉,我是一名语言模型,没有编写代码的能力。不过我可以提供一个简单的好友列表的demo,您可以参考一下: 1. 在layout文件夹中新建一个xml文件,取名为list_item_friend.xml。代码如下: ``` <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="10dp"> <ImageView android:id="@+id/avatar" android:layout_width="60dp" android:layout_height="60dp" android:src="@drawable/avatar_default" android:layout_centerVertical="true"/> <TextView android:id="@+id/name" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/avatar" android:layout_marginLeft="10dp" android:textSize="20sp" android:layout_alignParentTop="true"/> <TextView android:id="@+id/message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/avatar" android:layout_marginLeft="10dp" android:textSize="14sp" android:layout_below="@id/name"/> </RelativeLayout> ``` 2. 新建一个MainActivity,并在onCreate()方法中添加以下代码: ``` public class MainActivity extends AppCompatActivity { private ListView listView; private FriendListAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = findViewById(R.id.friend_list); adapter = new FriendListAdapter(this, getFriendList()); listView.setAdapter(adapter); } private List<Friend> getFriendList() { List<Friend> friendList = new ArrayList<>(); friendList.add(new Friend("Alice", "Hello!")); friendList.add(new Friend("Bob", "Hi!")); friendList.add(new Friend("Carol", "How are you?")); friendList.add(new Friend("David", "Nice to meet you!")); friendList.add(new Friend("Emma", "I'm fine, thank you.")); return friendList; } } ``` 3. 新建一个Friend类,在里面定义好友的基本信息: ``` public class Friend { private String name; private String message; public Friend(String name, String message) { this.name = name; this.message = message; } public String getName() { return name; } public String getMessage() { return message; } } ``` 4. 新建一个FriendListAdapter类,继承自BaseAdapter,并在里面实现getView()方法: ``` public class FriendListAdapter extends BaseAdapter { private List<Friend> friendList; private LayoutInflater inflater; public FriendListAdapter(Context context, List<Friend> friendList) { this.friendList = friendList; inflater = LayoutInflater.from(context); } @Override public int getCount() { return friendList.size(); } @Override public Object getItem(int position) { return friendList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(int position, View convertView, ViewGroup parent) { ViewHolder holder = null; if (convertView == null) { convertView = inflater.inflate(R.layout.list_item_friend, parent, false); holder = new ViewHolder(); holder.avatar = convertView.findViewById(R.id.avatar); holder.name = convertView.findViewById(R.id.name); holder.message = convertView.findViewById(R.id.message); convertView.setTag(holder); } else { holder = (ViewHolder) convertView.getTag(); } holder.name.setText(friendList.get(position).getName()); holder.message.setText(friendList.get(position).getMessage()); return convertView; } class ViewHolder { ImageView avatar; TextView name; TextView message; } } ``` 5. 新建一个drawable文件夹,在里面添加一个名为avatar_default的图片,作为好友的默认头像。 6. 运行程序,就能看到一个简单的好友列表了。 希望这个demo能够对您有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值