IntelliJ IDEA —— Android开发的另一个选择

很早就听过Eclipse的大名,但在我初学Java的时候,一位前辈推荐的IDE却是IntelliJ IDEA。因为之前用过JetBrains的另一款产品PyCharm(一个很给力的Python IDE),所以用上去很顺手,很是喜欢。之后在单位的项目中,需要做一个Android的小应用,也用过一段时间的Eclipse。

在咱们eoe社区,坛友们似乎都偏爱使用Eclipse做Android开发,所以今儿就给大家介绍另一种很好的选择,IntelliJ IDEA(以下简称IDEA)。

首先说明一下,我是个JetBrains的粉丝,喜欢IDEA而不习惯Eclipse。下面的介绍只是给朋友们推荐一个新的选择,而不是说要替换掉Eclipse。
当然啦,有说得不对的地方,希望大家多多指出。

关于IDEA

IDEA包含一个免费的Community版本和一个收费的Ultimate版本,都可以在Jetbrains的官网下到。U版对JavaEE开发比C版好得多。但对于咱们做Android开发的朋友们来说,C版足够了。
IDEA使用Java开发而成,和Eclipse一样,支持Windows、Linux和Mac OS X。其中,C版是开源的。
Eclipse需要ADT插件以支持Android开发。而IDEA对Android开发的支持是内置的,不再需要其他插件。当然,Android SDK和JDK还是不可缺少的。

IDEA的各种优势
自动保存

和PyCharm一样,在IDEA中编辑代码,不再需要CtrlS。代码一经修改,自动保存。
当然,不需要担心CtrlZ的问题————只要不关闭IDEA,撤销是没问题的。

内置版本控制

IDEA内置了Git、Svn、CVS和Mercual的支持

强大的智能提示

Eclipse的智能提示只有在完整输入类名或者变量名,再按下点号之后才有。而IDEA的自动提示,则是全程的:

快捷的代码生成器
点击左边的灯泡,或者按Control+Enter可以看到IDEA给出的智能提示

按Option+Enter可以看到IDEA给出的生成代码菜单

完美的Xml资源支持

IDEA能够识别Android资源文件中的符号,并给出智能提示,这在编辑layout和drawable文件时真是太有用了。

Eclipse的ADT在这个功能上的缺失,真能让人抓狂。

与Eclipse的兼容性
也许你被IDEA所吸引,可是团队里其他人都是玩儿Eclipse的,咋办?
这个木有关系,IDEA提供了从Eclipse导入导出项目的完美支持:

从Eclipse导入:
1、New Project,选择Import project from extenal model,一直下一步直到完成

2、在Event Log中能看到"Frameworks detected: Android framework is detected in the project Configure",点Configure配置Android框架即可。
File菜单中还有还有Export to Eclipse这一功能。

劣势
当然,从来没有完美的IDE,IDEA也是。
由于IDEA的开发语言是Java,造成了它的高内存占用(在我的本子上不一会儿200+的内存就吃掉了)和较慢的启动速度。

相关链接

IntelliJ IDEA下载页面

IntelliJ IDEA的一些特性

解读IntelliJ IDEA的优缺点

IntelliJ IDEA中文爱好者博客

 

IntelliJ IDEA —— Android开发的另一个选择的更多相关文章

  1. Android开发技巧——写一个StepView

    在我们的应用开发中,有些业务流程会涉及到多个步骤,或者是多个状态的转化,因此,会需要有相关的设计来展示该业务流程.比如<停车王>应用里的添加车牌的步骤. 通常,我们会把这类控件称为&quo ...

  2. Android开发之模拟器的选择

    在做Android app开发的时候由于机器配置不是特别高,而Android自带的模拟器非常耗资源,性能极其差.所以常常由于模拟器性能差而抓狂,相信不少开发者都会面临和我一样的问题.于是换了一台平常很 ...

  3. 从零开始学android开发-创建第一个android项目

    打开ADT开发工具

  4. Android开发学习笔记--一个有界面A+B的计算器

    做了一个A+B的APP,虽然很简单,但是作为初学者还是弄了几个小时才弄好,什么东西都要看书或者百度,但最后成功了,还是很开心的,收货蛮大的.现在把过程写一下: 首先给出效果图: 一开始布局一直有问题, ...

  5. Android开发必备:颜色选择

      AA 指定透明度. 00 是完全透明. FF 是完全不透明.超出取值范围的值将被恢复为默认值.    ffff00 ffff33 ffff66 ffff99 ffffcc ffffff ffcc0 ...

  6. 【我的Android进阶之旅】快速创建和根据不同的版本类型(Dev、Beta、Release)发布Android 开发库到Maven私服

    前言 由于项目越来越多,有很多公共的代码都可以抽取出一个开发库出来传到公司搭建好的Maven私服,以供大家使用. 之前搭建的Maven仓库只有Release和Snapshot两个仓库,最近由于开发库有 ...

  7. Windows系统下Android开发环境搭建

    “工具善其事,必先利其器”.要想学好Android,搭建好Android开发环境是一个良好的开端. Windows系统下Android开发环境主要有4个大的步骤.分别是: 1.JDK的安装 2.ecl ...

  8. Android开发之广播

    广播是Android开发中的一个重要的功能,在Android里面有各式各样的广播,比如:电池的状态变化.信号的强弱状态.电话的接听和短信的接收等等,现在给大家简单介绍一下系统发送.监听这些广播的机制. ...

  9. 8个常用的Android开发工具

    周末发现一些比较有用的android开发常用的工具,里面大部分是自己经常用的,还有一些暂时很少用,暂且在这里记录下,以后一定同样会经常用到的. 1 The SDK and AVD Manager 这个 ...

随机推荐

  1. UVa 353 - Pesky Palindromes

    称号:字符串统计回文子的数量. 分析:dp,暴力.因为数据是小,直接暴力可以解决. 说明:(UVa最终评出800该). #include <iostream> #include <c ...

  2. mumu血压计母亲节“拼团”盛大开幕,百度和厂家创造一个双赢的局面

        在BAT的互联网时代.似乎不论什么新兴产品和服务都不能脱离BAT的支持,作为中国互联网体量最庞大的三家企业.BAT代表的是资源优势.用户优势.品牌优势.因此,一旦脱离BAT的支持,想迅速做大无 ...

  3. cocos2d-x lua 学习笔记(1) -- 环境结构

    Cocos2d-x 3.0超过环境的版本号来建立和前Cocos2d-x 2.0 差异较大的版本,从同时Cocos2d-x 3.0项目打包成apkAndroid的应用程序文件,步骤,构建环境有些乏味安德 ...

  4. RH253读书笔记(3)-Lab 3 Securing Networking

    Lab 3 Securing Networking Goal: To build skills with the Netfilter packet filter Sequence 1: Applyin ...

  5. 如何实现Web聊天

    假设你web聊天不知道这件事情,那么最好的方法可能是:openfire+jsjac openfire它是java做开源xmppserver,jsjac它是javascript做开源的Web版本xmpp ...

  6. html不常见问题汇总

    写html已经好长一段时间了,也遇到了不少问题,跟大家分享下 form是不可以嵌套的 说明:如果嵌套会有很多问题 但是可以并列 <html> <head> </head& ...

  7. Android.mk中的经常使用语法

    Android.mk编译文件是用来向Android NDK描写叙述你的C,C++源码文件的, 今天查了一些经常使用的的语法. 一 概述: 一个Android.mk文件用来向编译系统描写叙述你的源码. ...

  8. java类和对象之间的差

    java类和对象之间的差别是一个普遍的问题,刚开始学习java当它来到与类和对象接触.今天就来总结一下它们之间的差异. 先说说class和object差异.事实上,词:object是全部class的父 ...

  9. Vim 命令 【转】

    高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的: :qx     开始记录宏,并将结果存入寄存器xq     退出记录模式@x     播放记录在x寄存器中的宏命 ...

  10. [LeetCode] 036. Valid Sudoku (Easy) (C++)

    指数:[LeetCode] Leetcode 解决问题的指数 (C++/Java/Python/Sql) Github: https://github.com/illuz/leetcode 036. ...