扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
先决条件:
创新互联公司主要从事网站设计、做网站、网页设计、企业做网站、公司建网站等业务。立足成都服务微山,十载网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18982081108
·你要在IntelliJ IDEA Ultimate 9版本或者以上
·还有就是要安装JDK哦
·然后还要有Android SDK了,这是废话,嘻嘻,我就用SDK2.2 FroYo好了
创建一个Project
让我们开始程序了,首先创建为我们的程序project
选择File-New Project,或者在欢迎页面点击创建一个新的Project
在New Project的首页,要首先确定Create project from scratch选项选中
在接下来的页面指定Project的名字,然后Create module,在选择框中选择Android Module作为项目的类型,然后给项目命名为android_hello_world
在第三个页面选择Create source directory选项,然后我们一般接受默认的src的名字
当你第一次给你的IDE创建Project的时候,还没有为IDE配置JDKs(Java SDKs),这也就是说IDE不知道本地的JDK目录在哪里,更别说如果你的电脑中安装了好几个版本的JDK了。在这种情况下IntelliJ IDEA可以让你自己制定一个JDK到你的project了,点击Configure按钮并且通过文件列表指定自己的JSDK,如果找到了本地的JDK就可以点击OK,这样就可以添加一个JDK路径到我们的project了,以后这个路径就会成为IDE的默认的JDK路径了,所有程序都可以使用了。
最后我们就要指定Android SDK与我们的IDE了,点击New到SDK properties选择一个应用程序要使用的Android platform。
进入选择路径对话框,然后指定到我们Android SDK的目录
选择完之后点击OK,进入Select Android Build Target对话框,在这个对话框,我们可以指定我们的项目要使用的是那个版本的Android平台。
你选择OK之后,接下来就是要选择Android Platform,(1)是选择列表,要是简单的应用就选择(2)Create "Hello,World!" project选择框,这是接受默认的activity为MyActivity(3)
当你点击Finish的时候IDEA帮我们自动生成了应用程序的目录结构,接下来我们就一起看看他的结构吧
浏览一个Android应用程序
要浏览我们的程序我们要用到Project视图工具来查看文件和文件夹,如下图
|--.idea(1)这个文件夹中包含的是一系列的子文件夹,主要包含的是IntelliJ IDEA内部的信息。
|--src(2)这个文件夹中包含MyActivity.java(3)等应用程序用到的源文件,这些文件术语com.example包
|--res(4)这个文件夹中包含了用到的资源
|--layout/main.xml(5)这个文件夹中包含个各个页面所用到的页面的外观
|--values(6)文件夹中有String.xml文件,主要用于项目所用到的字符串的定义,还有可以添加color.xml文件添加我们应用所用到的颜色。
|--drawable(7)包含项目的图片资源
|--gen(8)这个文件夹包换R.java文件链接整个项目的所用到的资源文件。IntelliJ IDEA会帮助我们自动生成R.java使之紧密关联我们的资源文件。只要你在项目中添加或者删除资源都会自动重新生成R.java文件。R.java也属于com.example包
为你的应用程序添加功能:
下边用来介绍一个程序编写的流程,首先打开我们的HelloWorld应用并且展开所有的目录结构,打开我们的MyActivity.java(1),这里我们可以看到这个Activity所关联的layout/main.xml文件定义其Activity的外观。
现在,让我们打开main.xml(3)文件,这里IntelliJ已经帮助我们列出了hello在res/values/strings.xml文件中的对应。
我们需要为我们的应用程序添加三件事,一个layout,一个string,一个color这些都是为了显示。
添加String
在main.xml文件中在最后添加一个标签LinerLayout/
Xml代码
TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/explanation"
/
然后你会看到IntelliJ会红色高亮显示出来不能解析的代码。
让我们很高兴的是你可以通过Alt+Enter自动修复错误(1),他会帮助你在strings.xml中添加你缺失的string配置。
IntelliJ帮我们添加我们没有添加的string字符串。
应用程序描述都在这个string标签里边(string/)例如:
这个简单的Android程序阐述了IntelliJ IDEA文件流在Android开发环境中的应用。
如果你打开R.java文件,你会发现IntelliJ IDEA已经将新的string字符串添加到string资源里了。
现在让我们添加颜色字符串string_color资源定义好了。
在Project窗口双击一个在编译窗口打开color.xml文件,添加“#”(1)开头的十六进制的标识定义颜色资源到resources标签之内,例如,#ff00ff77
IntelliJ IDEA帮我们提供了预处理添加制定颜色的操作(2)
添加颜色资源
现在让我们开始定义显示颜色的字符串,做这个之前让我们先来创建color的资源文件用来定义string_color
在Project窗口的树列中,你可以点击values文件夹 (1) 选择 New-Values resource file (2)。在New values resource file对话看中指定color并建立一个新的文件(3)。
点击OK,IntelliJ IDEA就会帮我们建立一个新的文件:
现在,让我们添加string_color资源定义。在Project视图双击打开color.xml文件。.添加resources /标签,然后把color定义到里边。
Xml代码
color name="string_color"以#开头的十六进制/color
在我的例子中颜色为#ff00ff77,就像你你看到的(1),IntelliJ IDEA在左边区域给我们展示了你定义的颜色(2):
就像你猜的这些配置都自定的映射到R.java:
现在,让我们应用刚才定义的string。在main.xml文件,寻找TextView /标签,并且添加属性text:
Html代码
TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/explanation"
/
上边中通过应用使用配置的字符串:android:text="@string/explanation"
Xml代码
android:textColor="@color/string_color"
上边是怎么使用颜色字符串
运行你的应用
在project的创建过程中,IntelliJ IDEA自动的生成了运行配置android_hello_world。要想马上运行程序,我们只需要配置虚拟设备,或者直接使用手机,运行程序。
配置虚拟Android设备
从Run/Debug Configuration (1)下来列表选择Edit Configurations。
IntelliJ IDEA打开Run/Debug Configurations对话框展示默认运行android_hello_world 设备的详细信息配置 (1)。
点击Browse按钮接下来进入Prefer Android Virtual Device for Deployment下拉列表(2).在这里Select Android Virtual Device对话框,点击Create:
在这Create Android Virtual Device 对话框打开接受以MyAvd0为名字的默认的设备(1):
当你点击OK之后, IntelliJ IDEA让你进入Select Android Virtual Device对话框,在这里你就可以看到你所定义的设备的列表了。
点击OK保存配置然后返回Run/Debug Configurations对话框,进入Prefer Android Virtual Device for Deployment下拉列表中现在显示你定义的emulator:
完成这些配置的定义之后点击OK。
值得高兴的是,你只需这样配置一次,IDE会帮助记忆这些的。
运行程序
现在你做完了所有的工作了,让我们launch我们的应用吧。
在工具栏点击 (2)然后是Run/Debug Configuration(1)下拉列表选择android_hello_world已经默认被选择了。
IntelliJ IDEA launches 我们配置的 emulator:
接下来IDE展示Hello world应用然后显示到屏幕
一、修改AndroidStudio(以下简称AS)的内存配置因为在导入源码时需要消耗大量内存,所以先修改IDEA_HOME/bin/studio64.vmoptions(x86的机器修改studio.vmoptions)中-Xms和-Xmx的值。文档中使用的是748m,可自行修改。二、配置AS的JDK、SDK在IDE中添加一个没有classpath的JDK,这样可以确保使用源码里的库文件并将其作为要使用的SDK的JavaSDK。三、生成导入AS所需配置文件(*.ipr)①编译源码(为了确保生成了.java文件,如R.java;如果编译过,则无需再次编译)②检查out/host/linux-x86/framework/目录下是否有idegen.jar如果idegen.jar不存在,执行:mmmdevelopment/tools/idegen/在5.0.1的源码中会生成res.java的文件夹,导致idegen.jar运行时抛FileNotFoundException,这是idegen的代码不够严谨造成的。我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。③执行development/tools/idegen/idegen.sh等待出现类似下面的结果:Readexcludes:5msTraversedtree:44078ms这时会在源码的根目录下生成android.ipr和android.iml两个IntelliJIDEA(AS是基于IntelliJIDEA社区版开发的)的配置文件Tips:AS在导入代码时比较慢,建议先修改android.iml,将自己用不到的代码exclude出去.可以仿照过滤.repo文件夹的语法,如:删除掉所有不需要的module-library项这样在导入时就会跳过abi和art文件夹.过滤的越多,AS的处理速度就会越快.④在AS中打开源码根目录下新生成的android.ipr如果在导入时AS出现则建议按照其给定的解决方法来解决(网址:/display/IDEADEV/Inotify+Watches+Limit)四、解决源码中跳转错误问题①为当前工程设置正确的SDK和JDK②设置'Modules'的依赖先将所有依赖删掉(注意:这里删除全部只是为了方便。如果确实用到了.jar,在将它们的路径添加进来就可以了.如:5.0.1的ContactsCommon用到了geocoder-2.9.jar和libphonenumber-6.2.jar)点击指向的'Jarsordirectories'选项,依次将frameworks和external文件夹添加进来.如:注:推荐把frameworks和external这两个移到最上面,这样在代码跳转时会优先从这两个文件夹下查找,而不是在Android.jar中查找。其它版本的代码在添加frameworks时可能会显示成:没有关系,只是显示问题,点击OK还是会把frameworks路径添加进去的.如果还有代码跳转错误,请仿照上面的步骤将相应代码的路径或jar文件添加到其Dependencies标签页中即可.五、DEBUG源码可以通过给刚导入的工程在'Modules'中添加'AndroidFramework'来让AS将它作为一个Android工程,从而方便调试代码.可以来添加AndroidFramework支持.在代码中加断点,然后选择'Run'-'AttachdebuggertoAndroidprocess'在弹出的选择进程(ChooseProcess)对话框中,勾选显示所有进程,选择要DEBUG的代码所在的进程,点击OK即可.六、其它代码中很多地方提示CallrequiresAPILevelx.出现这个问题是因为AS将工程当做安卓应用程序工程了,且源码中没有指定minSdkVersion.只需在源码根目录加一个声明minSdkVersion的AndroidManifest.xml文件即可(分享了一个AndroidManifest.xml)。也可以考虑使用build.gradle来解决该问题。
android studio可以说是google从idea上提取出来的,经过进一步优化,专门编写安卓程序的ide这两个我都用过,很明显Android Studio在编写安卓程序时更方便一点,也不会出现莫名其妙的错误。我在用idea是经常出现粗多莫名其妙的错误。如果你既要写java,也要写android,那你就用idea就行了,否则就用as吧~
1.Android Studio是IntelliJ IDEA开发工具中一款专门针对Android项目研发的工具
2.除了Android Studio,还有用于Java Web开发的IntelliJ IDEA,用于C语言开发的IntelliJ IDEA等,针对不同的开发环境,IntelliJ IDEA集成对应的开发插件
3.Android Studio去掉多余的插件,只留Android开发需要的,速度更快,功能更好用,性能也相当稳定,现在最新版的是Android Studio 2.1
首先是差异,IDEA是JetBrains公司推出的Java集成开发环境,分为免费社区版与收费旗舰版,据我所知这两个版本的差异主要在对JavaEE开发的支持上,社区版貌似只支持JavaSE,Android,Groovy,Scale,收费版还支持JavaEE的开发,具体可查看官网上的差异说明,可以到IntelliJ IDEA 查看。下面是个官方截图:
而Android Studio是基于IDEA Commutity Edition开发的,因为Community 版本不仅是免费的而且是开源的,请看下图:
可以看出之前刚推出的studio1.0正式版是基于idea13开发的,而不是最新的idea14.
上面这些大概说清了这三者之间的差异了。
下面说一下利弊:
虽然Android Studio是基于IDEA开发的,但studio是一个纯粹的Android开发环境,并不支持诸如Groovy,scale虽然IDEA社区版支持,但google已把它们剔除了,所以可能Studio支持的开发更少,貌似属于弊的范畴吧(可我觉得这是优点,Android Studio就只做Android)。
再者,虽然IDEA 社区版也原生支持Android开发,但对于Android开发的支持上定不如Studio来的彻底,再加上经过Google两年的开发studio已经进入了1.0的正式版时代,所以如果你做Android开发选studio就对了。(在Studio转正之前idea应该是做Android开发的一个不错的选择,但现在不是了)。
最后总结一句,如果你是Android开发者就选择studio吧,这是最佳选择,而如果你不是那就选择idea吧。
1.idea下使用
eclipse下有lint的插件,而且网上相关介绍非常多,但是idea的相关文档就比较少。idea中已经支持android lint,如何使用呢?
在项目中点击右键,在出现的右键菜单中有“Analyze” -- “run inspaction by Name ...”。在弹出的搜索窗口中输入想执行的检查类型,如“Unused Resources”。不必全部输入就应该自动找到了,点击后会弹出“inspaction scope”选择窗口,选择检查的范围,一般选择整个项目或模块。“inspaction scope”窗口下面还可以设置文件过滤,选择好后点ok就开始检查了。然后就可以根据检查结果来去除重复的资源。
2.idea项目检查不全问题。
对idea的android项目检查是发现问题,不论是使用命令行还是idea自带插件来检查重复资源,根据结果可以发现检查的并不全面,没有检查图片资源。但是网上一些文档却很明确lint能检查图片资源,那么问题出在哪里?
其实就是idea的android项目结构的问题,idea创建的android项目built后会发现R.java等临时文件里面其实是空的,而对图片资源检查就需要基于R.java这个文件来检查。那么idea项目的真正的R.java文件在哪里?
它的位置是“C:\Users\\.IntelliJIdea13\system\compile-server\\targets\java-production\\android\generated_sources\aapt\\R.java”。
自己简单研究了一下,找出了一个比较笨拙的解决方法。对命令行和idea,具体解决方法有些不同:
(1)命令行下。在项目下手的建立gen文件夹,在其下建立包名对应的文件夹,然后将R.java复制到下面。然后再使用lint来进行检查就可以了。因为android默认的文件结构R.java文件是在gen下的,所以lint会去这个文件夹下找R.java文件。
(2)idea下。与命令行的方法类似,不过根据创建的项目类型的不同,R.java存在的文件夹也不同。比如maven项目会在“target\generated-sources\r”下(想知道本项目的R.java文件位置,可以在项目右键菜单“open modules setting” -- "modules"中,选择对应的模块下的"Android",在右边窗口中选择“Generated Sources”选项卡,下面可以看到对应的设置,也可以对其进行修改。)。将R.java复制到对应的文件夹下替换空的R.java文件,然后在使用idea的lint来检查就会检查图片资源了。
(3)idea maven下。用idea对android项目编译,项目目录下R.java是空的。但是用maven来编译,会在目录下生成完整的R.java文件,就可以直接lint了。如何maven编译呢?首先项目是maven项目,然后在工具栏的运行选项那里选择“edit configurations”。在弹出的“run/debug configurations”窗口中点击“+”添加一个maven项,在右栏中定义名字,然后在"command line"中填入“clean compile”。这样就添加了一个运行选项,然后选择新添的去run,就可以用maven来编译项目了,这样就会生成完整的R.java文件
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流