Android测试初学者如何快速上手一个项目

本文介绍在 Android 平台下合成 GIF 的方法,查阅资料的过程中发现大致有两种方案。
使用 giflen (一个 C 的合成 gif 的库) 进行 gif 合成。
使用 java 层的 GifEncoder、LZWEncoder、Neu...
1周前 (07-18)
时别两个月,处理好学校的事情,我又回来了。今天给大家带来当下流行平台的分享集成,分别是微信好友、微信朋友圈、QQ好友、QQ空间以及新浪微博的分享集成。
微信接入指南
在app级别的build.gradle中添加如下依赖:
1周前 (07-15)
架构库版本:1.0.0 Alpha 2 – June 2, 2017
LiveData 是一个数据持有者类,它持有一个值并允许观察该值。不同于普通的可观察者,LiveData 遵守应用程序组件的生命周期,以便 Observer 可以指定一...
2周前 (07-13)
数据的安全性可谓是重中之重的,前两年大司频发的安全事件也是被炒的热火朝天~究竟该如何增强数据安全性,我们来唠唠。
安全,范围大的让人喘不过气来,关于安全的知识以及如何防范,暂时先不涉入,踩得深了头皮容易发麻。我们就从最简单的加密来扯扯。
加密算法已封...
2周前 (07-12)
自己很早以前就在反编译,但是知道今天要做才又捡起来了,今天就把他记录下来吧。
1、测试环境:
2、使用工具:
2.1 CSDN上下载地址:
2.2 官方最...
2周前 (07-10)
在开发中,总会遇到各种不可名状的问题。限于不同时期对知识点的认识与熟悉度,问题的难度及掌握度也因人而异。
以下是我在日常开发中所遇到的一些问题及解决方案。(可能有些方面解释不全面或有失偏颇,望多多指出,全文解决方案仅供参考。)
1.Android 组...
3周前 (07-07)
什么是RxJava?
RxJava是响应式程序设计的一种实现。在响应式程序设计中,当数据到达的时候,消费者做出响应。响应式编程可以将事件传递给注册了的observer。
我们知道RxJava是对于Android项目来说是一个重要的li...
4周前 (06-29)
1 热门技术
Kotlin初探Kotlin成了Google的亲儿子,现在赶紧来学学跟着google学习mvp架构
跟着google学习mvp架构(clean篇)
给初学者的RxJava2.0教程(一) :基本工作原理
给初学者的RxJa...
4周前 (06-27)
版权声明:
本账号发布文章均来自公众号,承香墨影(cxmyDev),版权归承香墨影所有。
未经允许,不得转载。
在实际开发的过程中,会有一些需要保持屏幕常亮,避免进入锁屏状态的需求。最常见的就是视频播放的过程中,如果屏幕突然暗了,或者直接锁...
4周前 (06-26)
官网及文档
教程 & 文章
开源库和框架
为什么要做这个?
今天凌晨的 Google I/O 上,Google 正式宣布官方支持 Kotlin. 为了让大家更快了解和上手 Kotlin,掘金...
1个月前 (06-21)
最近经常会收到一些 “用 Kotlin 怎么写” 的问题,作为有经验的程序员,我们已经掌握了一门或者多门语言,那么学 Kotlin 的时候就经常会有类似 “ ‘再见’用日语怎么说?”、“ ‘你好’ 用西班牙语怎么说?” 的问题,所以我决定把一些常用的...
1个月前 (06-14)
最近写了一个轻量级的服务器框架 MockNet,可以在 Android 上或者 Java 平台快速搭建服务器,方便开发和测试网络接口,不需要服务器知识就可以使用。
写这个框架的原因
平时写项目的时候,总会遇到这些情况
服务器接口还没有写好,Andr...
1个月前 (06-13)
之前感觉 Studio 中直接使用 compile ‘xxxxxxx’ 感觉挺方(装)便(逼)的。然后网上翻阅了老多的资料,不停的去尝试。虽然当时也成功了,后来才发现原来账号都注册错了(注册成组织账号了 /尴尬)。这里整理一下上传的完整步骤。
1个月前 (06-11)
作者简介:德胜 现任阿里视频云团队资深开发工程师,多年移动端音视频经验,现在从事业务架构设计、客户技术支持等相关工作。
越来越多的开发者选择使用SDK来辅助开发,作为一种工具,它可以帮助你快速建立应用软件,而省去了编写硬件代码和基础代码架构的过程。我...
2个月前 (06-09)
Android SDK版本号 与 API Level 对应关系
新接触Android开发,多次遇到SDK版本与API LEVEL的对应关系,就进行了一下总结,以备后续查看。
API是开发用的,所以API LEVEL可以认为是内部的;而SDK的版本提...1、通常我们在新建一个Activity的时候,系统会自动给我们创建一个命名为“MainActivity”的java文件和它对应的“activity_main”的xml文件。
步骤如下:
(1)在eclipse的上方工具栏找到“file-&new-&Android Application Project”,在弹出来的界面输入应用名,工程名,包名,根据默认的步骤就生成一个系统默认的工程“Hello world!”了!
主要代码:在MainActivity里面有一句“setContentView(R.layout.activity_main);”其中的activity_main就是对应的xml文件,而xml文件中
&&&TextView
&&&&&&& android:layout_width=&wrap_content&
&&&&&&& android:layout_height=&wrap_content&
&&&&&&& android:text=&@string/hello_world& /&
就对应手机上面显示的“Hello_world!”。
(2)右击应用名,找到“Run As-&1 Android Application&,这时会弹出一个“Android device chooser”框显示所有可以运行的安卓电子设备,个人建议用安卓手机,因为如果使用安卓模拟器,会运行缓慢,不便于测试。
2、那么怎样使用安卓手机测试呢?有同学会说为什么我手机插了USB线,可是没有正在运行的安卓设备呢?
楼主以前以为是手机版本太低,要更新版本,还刷机了,后来才发现原来是没有打开USB调试。所以第一次使用安卓手机测试小伙伴记住啦,步骤是,首先用数据线连接手机和电脑,将USB设置为“存储设置”或者“串行接口/手机助手”,在手机的”设置-&开发者选项-&USB调试(勾选)”,然后就会发现你的手机在正在运行的安卓设备框里面出现了,选择它并点击“OK”后就坐等手机的小小变化吧!
手机上的结果显示:
这个很简单,等于就是一个入门了,之后安卓广大的空间可以任你飞翔,希望和大家一起进步。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:21471次
排名:千里之外
原创:27篇
(2)(1)(1)(2)(4)(5)(3)(1)(2)(1)(5)(1)转自:http://blog.csdn.net/xushuaic/article/details/
Google在2013的I/O开发者大会上引入的该开发工具。现在已经更新到了0.5.8版本。
现在github的很多项目都使用了Android Studio开发,所以如果你还用Eclipse,就需要把整个项目拆分,
然后在工程中include依赖包,是非常费事的,有时候弄了半天还不一定能成功导入。而且Android开发者工具的未来的趋势一定也是转向Android Studio。
介于种种原因,不得不学习使用Android Studio,Android Studio的项目管理使用了Gradle,所以你需要对Gradle进行简单的理解,可以到官网去看下。
Gradle官网
http://www.gradle.org
因为Android 是在IntelliJ IDEA的基础上开发的,所以可以参考
IntelliJ IDEA 的官方帮助地址
/idea/webhelp/getting-help.html
简单引入一些概念:(有些是来自个人的官方翻译有些是copy过来的)
Android Studio&
建立系统工具包你用来生成,测试,运行您的应用程序和软件包。构建系统是独立于Android的工作室,所以你可以调用它的Android的工作室或从命令行。在你写你的应用程序,你可以使用编译系统的特点:
定制,配置,和扩展的建立过程。
为您的应用程序使用同一项目的不同特点,创建多个应用程序。
重用代码和资源。
AndroidStudio构建系统由Gradle构成。Gradle是一种高级的构建工具,用于管理依赖性,允许你定义自定义构建逻辑。
Android插件工具并不依赖于Android Studio,虽然Android Studio由它完全集成。
Gradle的配置包含以下方面
构建系统可以根据不同的配置为同一个项目生成多个APK。当你想建立不同版本的应用程序,而不必为每个人单独的项目,这是很有用的。
构建系统管理项目的依赖,并从本地文件系统和远程存储库支持的依赖。这可以防止你不必搜索,下载和复制二进制包为你的依赖到你的项目目录。
构建系统使您可以指定的值在生成配置清单文件中的某些元素。这些新的值将覆盖在manifest文件中的现有值。如果你想生成多个的
APK为您的项目中,他们每个人都有不同的包名,最小的SDK版本,或目标SDK版本,这是很有用的。
构建系统使您可以指定生成配置签名设置,它可以在生成过程中签署您的APK。
构建系统使您可以指定一个不同的 ProGuard的规则文件的每个版本变量。构建系统可以运行ProGuard的生成过程来混淆你的类。
构建系统生成的项目中的测试源测试APK,所以你不必创建一个单独的测试项目。构建系统可以在生成过程中运行测试。
Gradle构建文件使用Groovy的语法。Groovy是一种动态语言,你可以用它来 定义自定义生成逻辑,并与Android的插件Gradle提供了Android特有的元素进行交互。
按照惯例建立
&Android Studio生成系统假定合理的默认值的项目结构和其他编译选项。
&如果您的项目符合这些约定,你的Gradle构建文件是很简单的。当一些这些公约并不适用于你的项目,使您可以配置生成过程的几乎每一个方面。
&例如,如果您的项目的源位于比默认值不同的目录,你可以在构建文件中指定此位置。
项目和模块&
&一个项目代表一个完整的Android应用程序。Android Studio项目包含一个或多个module 。一个module 是您的应用程序的独立组件,
&你可以构建,测试或调试。module 包含您的应用程序的源代码和资源。Android的Studio项目包含三种模块:
Java库模块&
包含可重用的代码。构建系统生成一个JAR包的Java库模块。
Android库模块&
包含可重复使用的Android特有的代码和资源。构建系统产生AAR(安卓归档)包库模块。
Android应用程序模块&
包含应用程序代码,并可能依赖于库模块,虽然很多Android应用程序只包含一个应用程序的模块。构建系统生成APK包,为应用模块。
Dependencies 依赖关系
Android Studio生成系统管理项目的依赖和支持模块依赖关系,局部二进制依赖,以及远程二进制依赖。
模块依赖关系
一个项目模块可以在构建文件中包括的其它模块的列表它依赖于。当你建立这个模块,构建系统组装,包括所需要的模块。
本地依赖性
如果你有二进制存档在你的本地文件系统中的一个模块依赖于,例如JAR文件,你可以在构建文件中该模块声明这些依赖关系。
远程依赖性
当你的一些依赖关系都可以在一个远程存储库,您不必下载它们,并将它们复制到您的项目。而Android工作室打造的系统支持远程的Maven的依赖关系。的Maven是一个受欢迎的软件项目管理工具,可帮助使用库组织项目的依赖关系。
许多流行的软件库和工具都可以在公共Maven仓库。对于这些依赖项,您只需要指定自己的Maven坐标,它唯一标识一个远程存储库中的每个元素。在构建系统中使用的Maven坐标的格式是组:名称:版本。例如,Maven的坐标为谷歌番石榴库16.0.1版本是 com.google.guava:番石榴:16.0.1。
在Maven的中央存储库,广泛用于分发很多库和工具。
Build Tasks
Android Studio生成系统定义了一系列分层的构建任务:
顶级任务:用于产生必要的结果的任务。
构建系统提供项目任务:构建您的应用程序和模块的任务,以建立独立的模块。
Gradle Wrapper
Android Studio项目包含的Gradle Wrapper由以下构成:
A JAR file
A properties file
A shell script for Windows platforms
A shell script for Mac and Linux platforms
Note:你应该提交以上所有的文件到资源控制系统。
使用Gradle wrapper(而不是本地Gradle安装),确保您始终运行的Gradle在属性文件中定义的版本。要配置您的项目使用Gradle较新版本,
编辑属性文件并指定新的版本。
Android Studio 会从Gradle Wrapper目录下读取你的配置文件,然后运行改wrapper,因此你可以根据不同版本的Gradle无缝的处理多个项目
Android Studio 不支持Shell脚本,因此你应该在Gradle文件中定义自定义的逻辑来替代。
下面简单的总结构建工程时遇到的问题
问题1. 如何引入第三方lib ?
/questions//android-studio-0-4-0-absherlock-gradle-without-import-module
a copy lib 工程到项目下,setting.gradle配置include ': yourlib' ,否则会提示在你的项目下找不到该lib工程。
b 到整个项目下的build.gradle配置include ':actionbarsherlock'
c 在你的Moudle下,而不是整个Project的build.gradle中添加
dependencies {
compile project(':yourlib')
在网上查的资料,右键,选择add as library,我的是0.5.8的,没有发现。如果没有作为lib引入,在Sync project with gradle files的时候 .
就会发现,default config 不支持.这是因为你的lib工程没有build.gradle文件,可以拷贝一个简单的build.gradle,到你添加的lib project 目录下。
这样就可以正常编译了。当然如果你的lib 项目还引用了一些三方jar包,你需要在dependencies中进行配置。
[java]&view
问题2 gradle的配置
在第一次的时候,由于下载比较慢,你可以到gradle官方下载最新版本,解压到android studio 的gradle的路径下。这个不固定,跟SDK配置一样,
只要在gradle setting中指定好路径即可。然后配置gradle到path,gradle -v 验证是否成功配置
注意:gradle的配置是在整个Project项目下面的build.gradle文件中。
编译器报错:仅支持0.9+的gradle版本。
解决方案:可以在build.gradle 里面配置 0.9+,或者在点击提示,gradle setting中选择以下选项之一
use default gradle wrapper(官方推荐,很少出问题)
会自动下载gradle,确保你的项目使用精确的gradle版本
另外,如果该选项不可选,灰色,请从其他项目中copy一个gradle文件夹到你的工程中
Use customizable gradle warpper(1.7版本以上支持)
这选项总是核对更新你指定的gradle版本,你只需要改变gradle的版本号即可。
Use local gradle distribution(不建议使用,经常出各种问题,可能个人还不够熟悉)
会使用本地的gradle去build项目,但是请确保你已经安装并在path中正确配置了该gradle。在命令行中,gradle -v可以验证。
问题3:sync project时长时间停留在 resolve dependencies ':classpath'状态&或者 Error:(1, 0) Cause: org/gradle/api/artifacts/result/ResolvedComponentResult
原因:可能gradle配置不正确或者没有连接代理,无法访问到服务器。
请确保你的其它lib project中也拥有build.gradle
请检查gradle/wrapper/gradle-wrapper.properties:
gradle wrapper distributionUrl=http://services.gradle.org/distributions/gradle-1.11-bin.zip或者更高,当时我下载的工程比较早,所以指向了gradle-0.9
所以这里建议从github上clone项目,或者下载最新的。防止旧的配置出问题。
[java]&view
建议:从github上clone项目,或者下载最新的。防止以前的工程配置出问题。
通常希望使用offline的状态,不去连接外网,所以使用local gradle的配置,但是经常会出现各种问题,比如:
Error:No cached version of com.android.tools.build:gradle:0.9.+ available for offline mode.Disable Gradle 'offline mode' and sync project
特别是刚开始对gradle比较模糊的时候,你也不清楚它啥时候需要一些依赖lib,啥时候需要去网站下载。
选择 use default gradle wrapper 该配置,也很少出现问题(请确保代理成功连接,可以在Http Proxy中check connection),以后慢慢的积累了多了,
使用起来比较熟了,可以再试试。
问题4 work offline 模式
如果你使用了该模式,但是其dependency 的lib project 没有在本地,那么还是需要联网的,否则会报错。
/questions//failed-to-build-android-hello-world-application-in-offline-mode
每次启动都会有联网检测依赖的各种文件是否是最新版本,导致每次都相当慢。如果确定了你的工程中的jar包或者依赖工程都齐全,也不想去更新最新的,就可以在gradle setting中勾选offline,这样就不会去更新了。但是提一下,如果这种情况下出问题,也不要惊讶,请连接代理。重新sync project,因为很多情况你可能并不清楚build工程所依赖的一些插件等是否已经有了。
另外提一下,如果你使用了0.9+这样的配置方式(带+号),那么无论你是否选择了offline,都会去检测,而且,如果你没有网络连接的话,编译会报错的。
0.9+,这种配置方式必须联网。
& &所以如果你选择了offline,那么请检测自己的gradle的版本配置,可以直接写成你的gradle的版本,比如我下载并配置好的gradle1.2.
& &在有可连接到服务器的网络连接的情况下下面的配置,还是比较建议的。
& & dependencies {
& & & & classpath 'com.android.tools.build:gradle:0.9.+'
问题5. com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice
原因:support v4包多次导入,或者是在不同的build.gradle文件中的dependencies 中无意compile了两次,比如在你的actionbarsherlock中使用了
dependencies {
& &compile fileTree(dir: 'libs', include: '*.jar')}
表明编译所有的libs目录下的jar包,已经编译了support v4.jar包,而在项目下的build.gradle中又进行了编译:
dependencies {
& & compile 'com.android.support:support-v4:18.0.+'
所以应把项目下的compile 'com.android.support:support-v4:18.0.+' 给干掉
另外提一点,不仅是support v4包,各种lib甚至各种布局的属性,style,color,都不允许在不用的文件中重复定义,在sync project 的时候会报错,你只需保留一份即可
问题6. &AndroidMainfest.xml问题
前提:当时我的activity的label中使用的是中文,activity的label中使用的是中文,
情景1&Fatal error when parsing: AndroidManifest.xml . Failed to parse XML file: org.xml.sax.SAXParseException: Element type &activity& must be followed by either attribute specifications, &&& or &/&&.
情景2&unexpected end of block data
以上两种情景的解决方案:
把中文label Extr 为String即可
不过我在编译的时候有一些activity的label是中文的,一个一个activity的排错是比较恶心的。还是建议所有的label都抽取到String.xml文件中。
我是这么修改的,大家可以试试。
& &还有一种情况出现:unexpected end of block data
在Sync project with gradle files 的时候
解决方案:
/questions//unexpected-end-of-block-data-in-gradle-sync
如果你使用的是 buildToolsVersion &19.0.0&,那么改成 buildToolsVersion &19.0.3&,重新Sync project即可
问题7 &不同的lib 项目中的AndroidMainfest.xml文件中的targetSDK版本不一致
这个简单,只需要全部改成一致的即可。
问题8. plugin with id 'android' not found
/questions//android-studio-plugin-with-id-android-library-not-found
在Project的build.gradle中,添加下面代码
[java]&view
问题9 使用NDK时,NDK not configured&
/questions//how-to-configure-ndk-with-android-gradle-plugin-0-7
在NDK lib工程下的 build.gradle中添加
[java]&view
[java]&view
本人用的是第一种,在build photup项目的时候出现的问题
简单总结下:
使用的时候最好有代理连接。很多时候需要下载一些插件或者依赖项目,除非你在本地完全拥有所有的依赖工程。但是在刚开始使用的时候,还是建议有代理,因为
在刚使用Android Studio,需要去下载一些东西,比如,maven repository等,
gradle配置要准确,保持都是最新的,尽量clone并在使用的时候更新项目,或者下载最新的工程,由于个人以前download 了很多的zip,跑demo用,后来直接导入,有些
插件已经更新了,但是配置文件还没有更新。所以可能导致resolve dependency classpath长时间停留。
offline work不可信,请尽量保持gradle的代理连接,很可能需要去下载一些依赖工程,或者其它配置。也许是个人哪里处理的不够好。
请使用官方推荐的Gradle配置选项:use default gradle wrapper
Android Studio快捷键
Ctrl+P 方法参数提示
Ctrl+空格 代码提示&
Ctrl+Shift+Space 在很多时候都能够给出Smart提示 &
Ctrl+Alt+Space 类名或接口名提示
Alt+1 快速打开或隐藏工程面板
Ctrl+H 查看类结构图
Ctrl+F12 查看当前文件的结构
Ctrl+Q 查看注释文档
Ctrl+P 查看参数信息
Alt+Q 查看当前方法的声明
Ctrl+Q 查看JavaDoc &
Ctrl+W 选中单词继而语句继而行继而函数
Alt + F1 查找代码所在位置
Ctrl + F7 查找当前元素在当前文件中的引用,然后按F3可以选择
Alt + F3 快速查找
Ctrl + Shift + F7 可以高亮当前元素在当前文件中的使用
Ctrl + Shift+N 查找文件
Ctrl + Shift+Alt+N 查找类中的方法或变量
Ctrl + B 查找打开光标处的类或方法&
Ctrl + N 快速查找类
Ctrl + F 查找文本
Alt+F1 可以将正在编辑的元素在各个面板中定位&
Ctrl+Shift+Alt+N 可以快速打开符号 快速打开类/文件/符号时,可以使用通配符,也可以使用缩写
Ctrl+Alt+Up /Ctrl+Alt+Down 可以快速跳转搜索结果
Shift+F6 重构-重命名
Ctrl+X 删除行
Ctrl+D 复制行
Ctrl+/ 或 Ctrl+Shift+/ &注释(// 或者/*...*/ )
Alt+Insert 可以生成构造器/Getter/Setter等 &
Ctrl+Alt+L 格式化代码&
Ctrl+R 替换文本
Alt+Enter 导入包,自动修正
Ctrl+Alt+O 优化导入的类和包
Ctrl+J 自动代码
Ctrl+Shift+Space 自动补全代码&
Ctrl+Alt+Space 类名自动完成
Ctrl+Shift+Insert 可以选择剪贴板内容并插入
Ctrl+Shift+J 可以整合两行
Ctrl+Alt+T 可以把代码包在一块内,例如try/catch &
Ctrl+Alt+V 可以引入变量。例如把括号内的SQL赋成一个变量
Alt+F8 计算变量值 &&
Ctrl+O 可以选择父类的方法进行重写
Ctrl+E 最近打开的文件 ----------
Ctrl+Shift+Backspace 可以跳转到上次编辑的地方
Ctrl+Alt+ left/right 返回至上次浏览的位置&
Ctrl+E或者Alt+Shift+C & 最近更改的代码&
Alt+Shift+C 对比最近修改的代码&
Ctrl+Shift+Up/Down 代码向上/下移动。 ---------------
F2 或Shift+F2 高亮错误或警告快速定位 ------------
Ctrl+Up/Down 光标跳转到第一行或最后一行下
Ctrl+[或] 可以跳到大括号的开头结尾
Ctrl+Shift+up/down 移动方法
Ctrl+P 方法参数提示
Ctrl+空格 代码提示&
Ctrl+Shift+Space 在很多时候都能够给出Smart提示 &
Ctrl+Alt+Space 类名或接口名提示
注明:本文章属于转载,仅供行业人员学习交流使用,文章版权属于原创作者,在此向原创者致敬,感谢原创作者为大家学习交流提供精品内容。
站方声明:IThao123是为广大互联网从业者免费提供学习交流的平台,如果侵犯了原创著作权,请联系站方删除,给你带来不便,深表歉意。您所在的位置: &
Android Studio轻松上手指南
Android Studio轻松上手指南
核子可乐译
Android Studio是一套面世时间还不长的IDE(即集成开发环境),目前已经免费向谷歌及Android的开发人员发放。Android Studio以IntelliJ IDEA为基础,后者同样是一套相当出色的Android开发环境。在今天的文章中,我们将共同了解如何创建一个全新Android项目,同时充分发挥Android Studio所提供的各项功能优势。
【51CTO译文】Android Studio是一套面世时间还不长的IDE(即集成开发环境),目前已经免费向谷歌及Android的开发人员发放。Android Studio以IntelliJ IDEA为基础,后者同样是一套相当出色的Android开发环境。在今天的文章中,我们将共同了解如何创建一个全新Android项目,同时充分发挥Android Studio所提供的各项功能优势。
1.项目设置
在开始畅游Android Studio的世界之前,大家首先需要下载并进行安装。请注意,各位必须事先安装好JDK 6或者更高版本。如果是在Windows系统环境下,先启动.exe文件、而后按照安装向导的指示一步步完成。如果大家使用的是OS X系统,则首先双击启动磁盘镜像,然后将Android Studio拖拽到自己的应用程序文件夹当中。
在成功完成了以上各项步骤后,那么大家的开发环境应该已经得到了正确设置。接下来,我们可以准备好利用Android Studio创建自己的第一款Android应用程序了。当大家第一次启动Android Studio时,应该会看到该软件的欢迎屏幕,其中还提供一些选项、指导我们以此为起点迈出Android应用开发的第一步。
在今天的教程中,我们将选择&New Project(新项目)&选项。不过如果大家希望把Eclipse等其它环境中的现有项目转化为Android Studio项目,也可以选择&Import Project(导入项目)&。Android Studio能够将Eclipse项目转换为Android Studio项目,并在项目中为用户提供必要的配置文件。
如果大家在选项列表中点击了&Open Project(打开项目)&,则可以开启已经利用Android Studio或者IntelliJ IDEA创建出的项目。而选择&Check out from Version Control(版本控制检查)&的话,大家能够对处于版本控制之下的项目副本进行检查。通过这种方式,我们可以将现有项目作为基础、快速构建起新的针对性版本。
由于我们需要从零开始,因此这里选择&新项目&。这时大家会看到一份选项列表,旨在对我们的新项目作出配置。在今天的教程中,我们将创建一款简单的应用程序,主要目的是为大家演示Android Studio中最为重要的一部分功能特性。相信大家也和我一样,会认为&HelloWorld&这个名称最适合本次开发出的新项目。
正如大家在上面这幅截图中所看到,我把自己的应用程序命名为HelloWorld,并为其设定了模块名称。如果大家对IntelliJ IDEA不太熟悉,可能不知道模块这东西到底是什么。模块实际上就是一个可以进行编译、运行、测试以及调试的独立功能单元。模块当中包含有源代码、编译脚本以及用于特定任务的其它组成部分。
在创建新项目时,大家还可以为该项目设定软件包名称。在默认情况下,Android Studio会将项目包名称的最后一项元素设置为模块名称,但只要愿意、大家可以随意对其作出变更。
其它设定内容还包括项目在设备上的保存位置、最低与推荐SDK、项目编译需要使用的SDK以及项目主题等等。大家也可以要求Android Studio创建一个Activity类、为其自定义一个启动图标,或者设定该项目是否支持GridLayout、Fragments、Navigation Drawer或者Action Bar等。
这里我们不会为自己的应用程序创建自定义图标,因此大家可以取消&Create custom launch icon(创建自定义启动图标)&项目前的勾选框。点击&Next(下一步)&继续进行其它项目设置步骤。
由于我们在之前的步骤中勾选了&Create activity(创建activity)&项目的勾选框,因此这里导航会要求大家对Android Studio将为我们创建的Activity类进行配置。
由于我们将从空白Activity类开始进行配置,因此大家可以点击&Next&执行设置流程的下面几个步骤。这里大家需要对该Activity类、主布局以及片段布局进行命名。大家也可以设置导航类型,在今天的示例项目中我们将其设置为&None&。下面这幅截图显示的是我们的设置方案看起来是什么样子。
在点击&Finish&之后,大家会看到如下图所示的Android Studio用户界面。其中窗口左侧为项目资源管理器,右侧则为工作区。在Android Studio中对项目进行设置之后,现在我们可以逐一查看Android Studio当中的各项关键功能。
下页内容更精彩
2.&Android虚拟设备
所谓Android虚拟设备&&或者简称AVD&&是一套模拟器配置方案,它允许大家设定出与实际情况相符的Android设备型号。这就让开发者在多种多样的设备平台上运行并测试应用程序变得更为轻松。在Android虚拟设备功能的支持下,大家可以为Android模拟器指定需要模拟的硬件与软件组合。&&
创建Android虚拟设备的首选方式是通过AVD Manager。大家可以在Android Studio用户界面的Tools菜单中依次选择Android〉AVD Manager。
如果大家之前对开发环境的设置工作正确无误,那么Android虚拟设备管理器的界面应该如下图所示。
要创建新的AVD,我们需要点击右侧的&New&&、为AVD设定名称并如下图所示对虚拟设备进行配置。最后点击&OK&以创建自己的第一套AVD。
要使用我们刚刚创建好的AVD,首先需要在AVD管理器的列表中将其选中,然后点击窗口右侧的&Start&&。如果大家的AVD设置过程正确无误,那么Android模拟器在启动后应该如下图所示。
既然Android模拟器已经成功启动并开始运行,现在是时候启动我们的应用程序了。在&Run&菜单中选择&Run &helloworld&&&&没错,在Android模拟器中运行应用程序就是这么简单。
下页内容更精彩
3.实时布局(Live Layout)
Android Studio中的实时布局功能允许大家在无需将应用程序运行在设备或者模拟器中的前提下,直接预览应用的用户界面。实时布局是一款极为强大的工具,能够帮助开发者节约大量时间。在实时布局的帮助下,查看应用程序用户界面的任务变得轻松而且快捷。
要使用实时布局,我们需要双击对应XML布局文件并选择工作区下方的&Text&标签。接下来选择工作区右侧的&Preview&标签来预览当前布局。我们对XML布局作出的任何变更都会直接反映在右侧的预览窗口当中。大家可以查看下面这幅截图来深入理解这项功能。
实时布局功能为我们带来了诸多值得称道的显著优势。举例来说,大家可以在Preview面板的第一项菜单中选择选项,从而对当前正在使用的XML布局随意作出调整。譬如说,大家可以分别创建不同的纵向与横向显示视图,Android Studio会承担起创建必要文件夹及文件的任务。
Preview面板中的第二项菜单允许大家变更显示在Preview面板内的设备大小。第三项菜单的作用则是调整设备在Preview面板中的朝向,这样我们就能更轻松地查看同一套布局方案在不同显示模式(纵向与横向)下的效果与主题。
Preview面板中的第四项菜单允许我们轻松访问Activity或者布局所使用的个别片段。Preview面板还允许大家变更在实时布局中使用的语言,从而轻松预览不同语言在布局方案中的显示效果。最右边的菜单的作用则是调整API版本。
Preview面板中还包含多项控制机制,例如对布局进行缩放、重新Preview面板或者截取当前屏幕。
下页内容更精彩
Android Studio还为开发人员提供多种模板选项,从而大大提升开发速度。这些模板能自动创建Activity以及必要的XML文件。大家还可以利用这些模板创建出较为基础的Android应用程序,并将其运行在实体设备或者模拟器当中。
在Android Studio当中,我们可以在创建新的Activity时一同创建出对应模板。右键点击窗口左侧项目浏览器中的&package name&并在菜单中选择&New&,而后从选项列表中点选&Activity&。Android Studio随后会为开发者列出模板清单,其中包括Blank Activity、Fullscreen Activity以及Tabbed Activity。
大家还可以从菜单中选择&Image Asset&,接下来的向导会指引我们一步步完成创建流程。下面让我们一起来看看如何以Login Activity模板为基础创建一套新的Activity。首先在Acivity模板列表中选择Login Activity选项以启动创建向导。
如大家在上面的截图中所见,我已经将新建的Activity命名为LoginActivity&&也就是为activity login设定Layout Name&&并为该Activity添加了一个名为Sign In的标题。在默认情况下,对话框中的Include Google+ sign in项目已经被勾选。由于我们不打算在今天的示例中使用Google+登录功能,因此取消该勾选项。
大家可以选择为这套新的Activity设定Hierarchical Parent(分层结构)。这样当我们点击设备上的后退按钮时,应用就将通过导航返回至上一界面。我们将这一字段留空。在点击&Finish&之后,Android Studio会为我们创建出必要的文件及文件夹。如果一切进展顺利,我们将在项目当中看到新的Activity与Layout。
下一布工作是在manifest文件中对新Activity进行设置,这样它就能在应用程序启动时作为主Activity加以使用了。请大家一起来看下面的manifest文件内容,其中LoginActivity类拥有自己的活动节点。
&application&&&&&&&&&android:allowBackup=&true&&&&&&&&&&android:icon=&@drawable/ic_launcher&&&&&&&&&&android:label=&@string/app_name&&&&&&&&&&android:theme=&@style/AppTheme&&&&&&&&&&&&&activity&&&&&&&&&&&&&android:name=&com.tuts.HelloWorld.MainActivity&&&&&&&&&&&&&&android:label=&@string/app_name&&&&&&&&&&&&&&&&&intent-filter&&&&&&&&&&&&&&&&&&&action&android:name=&android.intent.action.MAIN&&/&&&&&&&&&&&&&&&&&&&&&category&android:name=&android.intent.category.LAUNCHER&&/&&&&&&&&&&&&&&&/intent-filter&&&&&&&&&&&/activity&&&&&&&&&&&activity&&&&&&&&&&&&&android:name=&com.tuts.HelloWorld.LoginActivity&&&&&&&&&&&&&&android:label=&@string/title_activity_login&&&&&&&&&&&&&&android:windowSoftInputMode=&adjustResize|stateVisible&&&&&&&&&&&&&/activity&&&&&&&/application&&
为了在应用程序当中启动我们刚刚创建的LoginActivity,首先需要移除原有LoginActivity类的活动节点,然后利用com.tuts.HelloWorld.LoginActivity代替先前的com.tuts.HelloWorld.MainActivity。这样一来,应用程序现在就将使用LoginActivity类作为其主Activity。
&application&&&&&&&&&android:allowBackup=&true&&&&&&&&&&android:icon=&@drawable/ic_launcher&&&&&&&&&&android:label=&@string/app_name&&&&&&&&&&android:theme=&@style/AppTheme&&&&&&&&&&&&&activity&&&&&&&&&&&&&android:name=&za.co.helloworld.LoginActivity&&&&&&&&&&&&&&android:label=&@string/app_name&&&&&&&&&&&&&&&&&intent-filter&&&&&&&&&&&&&&&&&&&action&android:name=&android.intent.action.MAIN&&/&&&&&&&&&&&&&&&&&&&&&category&android:name=&android.intent.category.LAUNCHER&&/&&&&&&&&&&&&&&&/intent-filter&&&&&&&&&&&/activity&&&&&&&/application&&
当我们在模拟器当中创建并运行自己的应用程序时,首先应该会看到如下图所示的显示内容。这意味着我们已经成功利用刚刚创建的LoginActivity类取代了原有的空白Activity类。
下页内容更精彩
5.Lint工具
对代码进行测试是一回事,但同样重要的是、我们还需要在编写代码的同时引入各种最佳实践。这不仅能够显著改进性能表现,也能增加应用程序的整体稳定性。另外,经过合理结构调整的项目在维护方面也更为轻松。
Android Studio中提供的Android Lint是一款静态分析工具,它负责对项目源代码加以分析。它能够检测出应用程序中的潜在漏洞以及其它可能被编译器所忽略的其它代码问题。
就以下面这幅截图为例,大家可以看到该布局中的LinearLayout并未得到实际使用。Android Lint的优势在于,它能帮助我们重视警告或报错信息的出现原因,从而更轻松地修复或者解决这些问题。
请大家养成重复使用Android Studio Lint工具的好习惯,这能帮助我们准确检测到项目当中存在的潜在问题。Lint工具甚至能告诉我们应用程序中是否存在重复的图片或者编译内容。
要运行Lint工具,大家首先需要在Android Studio的&Analyze&菜单中选择&Inspect Code&&。当Android Studio完成了对项目的检测之后,它会在窗口底部显示出分析结果。请注意,除了Android Lint之外,Android Studio还提供一系列其它检查功能。只需双击某个已经发现的问题,系统就会帮助大家定位到对应文件中存在问题的位置。
下页内容更精彩
6.富布局编辑器
Android Studio提供一套富布局编辑器,大家可以在其中随意拖拽各类用户界面组件。大家还可以在多屏幕配置中同时查看多种布局的显示效果,这一点我们在前文中已经提到过。
这款富布局编辑器在使用方面非常直观简单。我们首先需要一套要处理的布局方案。浏览到项目中res文件夹下的layout文件夹,右键点击layout文件夹,然后在弹出的菜单中选择New&Layout resource file。
下面为新布局设定一个名称与root元素,而后点击&OK&。Android Studio会自动在窗口右侧的编辑器当中打开该布局。
在编辑器的底部,大家会看到两个标签,分别是Design与Text。点击Text标签后编辑器将被激活,这样我们就能对当前选定的布局方案作出变更。
点击Design标签则会激活另一套编辑器内容,其中显示出布局的预览效果。要向布局当中添加其它功能性组件,我们只需将其从布局左侧的组件列表中拖出并放入布局内即可。是的,就这么简单。
在今天的教程中,我们已经简要了解了Android Studio的各项核心功能。它的使用方式与IntelliJ IDEA非常相似,但其中包含的一系列重要改进大大加快了Android应用的开发速度,并让整个流程更轻松、更愉快。
原文链接:
核子可乐译
【编辑推荐】
【责任编辑: TEL:(010)】
关于&&的更多文章
OS X Server的Mavericks版本并没有发生这样巨大的变化。这意味着
讲师: 5人学习过讲师: 1人学习过讲师: 5人学习过
本专题意在帮助想要了解Android的人能快速上手Android
今天,圣诞的到来,相信大家都收到礼物了吧,如果没收
上周雷军被董明珠当成一个手机贩子,360又抢了12306的
本书阐述了为什么以及如何设计出简单易用的基于Web的软件,让用户单凭常识即可有效地使用它。主要内容包括:显性设计的概念、如
Windows Phone专家
Android开发专家
51CTO旗下网站

我要回帖

更多关于 新人入职如何快速上手 的文章

 

随机推荐