android开发现在流行什么IDE和开发框架
Eclipse会有很多让你头疼的问题,崩溃和报错很影响效率。
并且,Eclipse不体贴。比如:
你在代码用选中一个View组件的ID按下F3跳转的是R文件中的ID值而不是Layout的XML中
所以,果断放弃Eclipse来投入到Intellij IDEA阵营中吧。
开源的社区版本不支持debug,建议购买200刀的授权
如果不舍得花钱也可以用Google的Android studio
AndroidStudio是基于Intellij IDEA的开源版本做修改搞出来的,总体来说还不够成熟。
比如String显示为引用和内容的转换有小bug之类
对于已经习惯了Eclipse或者其他IDE(比如Eclipse)的程序员来说,Intellij IDEA也基本可以实现平滑过度
android应用开发框架是 Application Framework. 其系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework Applications。
1、Linux Kernel
Android基于Linux 2.6提供核心系统服务,例如:安全、内存管理、进程管理、网络堆栈、驱动模型。Linux Kernel也作为硬件和软件之间的抽象层,它隐藏具体硬件细节而为上层提供统一的服务。 如果你学过计算机网络知道OSI/RM,就会知道分层的好处就是使用下层提供的服务而为上层提供统一的服务,屏蔽本层及以下层的差异,当本层及以下层发生了变化不会影响到上层。也就是说各层各尽其职,各层提供固定的SAP(Service Access Point),专业点可以说是高内聚、低耦合。 如果你只是做应用开发,就不需要深入了解Linux Kernel层。
2、Android Runtime
Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。每一个Android应用程序是Dalvik虚拟机中的实例,运行在他们自己的进程中。Dalvik虚拟机设计成,在一个设备可以高效地运行多个虚拟机。Dalvik虚拟机可执行文件格式是.dex,dex格式是专为Dalvik设计的一种压缩格式,适合内存和处理器速度有限的系统。 大多数虚拟机包括JVM都是基于栈的,而Dalvik虚拟机则是基于寄存器的。两种架构各有优劣,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。dx 是一套工具,可以将 Java .class 转换成 .dex 格式。一个dex文件通常会有多个.class。由于dex有时必须进行最佳化,会使文件大小增加1-4倍,以ODEX结尾。 Dalvik虚拟机依赖于Linux 内核提供基本功能,如线程和底层内存管理。
3、Libraries
Android包含一个C/C++库的集合,供Android系统的各个组件使用。这些功能通过Android的应用程序框架(application framework)暴露给开发者。下面列出一些核心库: 系统C库--标准C系统库(libc)的BSD衍生,调整为基于嵌入式Linux设备 媒体库--基于PacketVideo的OpenCORE。这些库支持播放和录制许多流行的音频和视频格式,以及静态图像文件,包括MPEG4、 H.264、 MP3、 AAC、 AMR、JPG、 PNG 界面管理--管理访问显示子系统和无缝组合多个应用程序的二维和三维图形层 LibWebCore--新式的Web浏览器引擎,驱动Android 浏览器和内嵌的web视图 SGL--基本的2D图形引擎 3D库--基于OpenGL ES 1.0 APIs的实现。库使用硬件3D加速或包含高度优化的3D软件光栅 FreeType --位图和矢量字体渲染 SQLite --所有应用程序都可以使用的强大而轻量级的关系数据库引擎
4、Application Framework
通过提供开放的开发平台,Android使开发者能够编制极其丰富和新颖的应用程序。开发者可以自由地利用设备硬件优势、访问位置信息、运行后台服务、设置闹钟、向状态栏添加通知等等,很多很多。 开发者可以完全使用核心应用程序所使用的框架APIs。应用程序的体系结构旨在简化组件的重用 ,任何应用程序都能发布他的功能且任何其他应用程序可以使用这些功能(需要服从框架执行的安全限制)。这一机制允许用户替换组件。 所有的应用程序其实是一组服务和系统,包括: 视图(View)--丰富的、可扩展的视图集合,可用于构建一个应用程序。包括包括列表、网格、文本框、按钮,甚至是内嵌的网页浏览器 内容提供者(Content Providers)--使应用程序能访问其他应用程序(如通讯录)的数据,或共享自己的数据 资源管理器(Resource Manager)--提供访问非代码资源,如本地化字符串、图形和布局文件 通知管理器(Notification Manager)--使所有的应用程序能够在状态栏显示自定义警告 活动管理器(Activity Manager)--管理应用程序生命周期,提供通用的导航回退功能
5、Applications
Android装配一个核心应用程序集合,包括电子邮件客户端、SMS程序、日历、地图、浏览器、联系人和其他设置。所有应用程序都是用Java编程语言写的。更加丰富的应用程序有待我们去开发! 从上面我们知道Android的架构是分层的,非常清晰,分工很明确。Android本身是一套软件堆迭(Software Stack),或称为「软件迭层架构」,迭层主要分成三层:操作系统、中间件、应用程序。从上面我们也看到了开源的力量,一个个熟悉的开源软件在这里贡献了自己的一份力量。
关于 IDE 的优劣势. 个人认为:各有各的好处.
对于以前 Java 的开发人员来说(我就是的,嘿嘿) , 就目前来说,还是比较喜欢 adt 的,因为 adt 集成了 eclipse .而大家大多数 都是 用的eclipse来开发的. 所以eclipse 的使用率 应非常之高.
AS 嘛 , 毕竟是 google 现在极力推荐用来开发android 的IDE, 就目前, github 上的极大多数的android开源项目和框架 都迁移到了 AS 上了, 这样就使得了 adt 的开发者 下载下来还得转换到 eclipse 的环境中, (吐槽下: 从 eclipse 迁移 到AS 上,操作简单,很快,反过来的话,麻烦的要死...),非常之麻烦. 故此,AS 的优势就出来了. AS 还有个很大的 功能就是 可时时看到 程序员写的布局,精确到 textview (android 的一个文本显示控件)里面的字.大大的提高了开发人员调界面的时间.而 这点 eclipse 就望尘莫及了. 而且, 比 adt 速度快、UI 更加漂亮、更加智能、内置终端.对UI界面设计和编写代码有更好地支持,可以方便地调整设备上的多种分辨率.
至于 idea 的话, 我就多不说了,因为 AS 是基于 idea 的,
Android开发要学些什么
1、学习Java基础知识,比如基本类型、集合等;2、学习基本的Activity、service、intent等知识基础,用来开发一些界面;3、学习计算机网络知识基础;4、学习Linux命令、C编程基础、Android Java编程、Google Android Linux操作系统的基本操作等。Android开发工程师是干什么的 Android开发工程师是指从事Android系统操...
Android开发需要什么基础
工作内容\/岗位职责1、主要负责Android手机软件的设计和开发;2、对Android平台开发技术进行研究,发现其缺陷并改正更新;3、对Android产品的需求进行分析;4、研发新的Android产品,并测试其性能,进行改进;5、在做项目的过程中进行学习并快速掌握技巧;6、平常多提建议找出问题并及时改正,使团队快速成长起来...
android开发发现错误怎么办
程序是一行一行往下走的,找到错误的地方再解决就好了。断点调试或者打日志~
怎样关闭android提示的发现需认证的网络通知?
安卓手机提示发现需认证的网络通知应该是手机打开了“WLAN安全检测”。可以点击:设置~WLAN~更多WLAN设置,把“WLAN安全检测”关闭
哪些Android 应用程序被发现含有 Joker 恶意软件并可能窃取用户数据和...
一款名为Joker的恶意软件正在Android用户的手机上悄然作祟,其狡猾地潜伏在Google Play商店的八个应用程序中。Quick Heal Security Labs敏锐地发现并及时向Google举报了这一危险的存在,随后,这些受到污染的应用已经被紧急移除。数据与金钱的双重威胁 Joker的恶意行为远不止于此,它不仅觊觎用户的隐私,还意图...
Android开发常用工具(一)
1、Android Studio 谷歌推出的Android集成开发工具,经过多年的迭代发展已经变得非常强大及人性化,各式各样的工具插件满足日常的开发需求,也可以自己制作工具插件,下载即可赠送SDK和JDK大礼包,并配置好环境变量,基本做到一键式开发。记得15年刚开始做开发时使用的是Eclipse,需要手动配置sdk,jdk,环境变量...
android开机的时候发现logo是竖屏的,请问要如何修改源码才能让logo成横...
Android启动默认是横屏或者竖屏 我们的TV本来是横屏显示,但是有客户竟然要竖屏显示,昨天快下班收到的需求,竟然说7.19就要搞定。思路有2个,一个就是修改LCD的默认输出,但是这个不是我这个水平能轻而易举搞定的。另外一个就是底层应该给上层porting出接口。像这种系统性的接口一般在build.prop里。...
谷歌如何回应在其Android系统中被发现的收集用户信息行为?
谷歌Android系统被指藏有“后门”:实为数据收集工具近日,有消息传出谷歌在Android系统中内置了一项名为Android Lockbox的程序,引发用户对其收集敏感信息的质疑。然而,谷歌对此进行了回应。Android Lockbox实际上是一个功能,它是Android App Usage Data API的一部分。像其他厂商一样,它的目的是获取用户...
Android软件开发前景怎么样?
Android软件开发前景怎么样 市面上一般的培训机构只针对其中的一种进行培训,教授的知识面很窄。有的只教你片面的知识,在公司企业里不能得到广泛的应用,只能到公司里去大量二次学习,他们的工资也是一涨再涨,我们国家实在是太短缺这方面的人才了。电脑培训发现为了这个行业发展的更加迅速,无论是学校...
Android开发的前景到底怎么样
3、薪资水平 说到开发前景,工资就不得不谈,这也是很多人关注的一个话题。我今天随意看了下一些招聘网站给各个编程岗位开的价格,姑且以一线城市1-3年工作经验来看:Android & iOS开发月薪范围大概在10-20k Java、Php、.NET等月薪范围大概在8-15k 一些小众语言如Ruby、Python等月薪范围大概在10-20k ...
鱼会乙肝: idea, AS (android studio), adt, 其中 AS 是google 非常推荐的.看官网就知道了. 框架的话: xutils , andbase , volley等等,还有比较流行的UI界面效果,个性化控件等等. 关于 IDE 的优劣势. 个人认为:各有各的好处.对于以前 Java 的开发人员来...
绿春县19219151149: 现在开发android程序,一般用哪个版本的SDK - ?
鱼会乙肝: 现在 android 开发 SDK一般选择用最新的SDK版本,这是Google官方强烈建议的. app能运行的Android版本不是由SDK决定的,是由每一个项目的minSDK决定的.SDK都是向下兼容的.SDK在不断改进中,新的SDK会提供更强大开发工具,而且用4.0的SDK编译的2.1的apk的执行效率会比用2.1的SDK编译的更高. 至于每个app应该用什么 minSDK ,应该根据应用具体的API来,如果app没有用到1.6以上SDK新提供的API,那么用1.6会在提供相同体验下反而会比2.1兼容更多机型.
绿春县19219151149: 安卓开发设备id干什么用的 - ?
鱼会乙肝: android设备的设备id是惟一确定一台设备的ID标识,即不同的设备是不相同的,不会重复,而且是固定不变的,除非刷机.在开发中,如果现场有多台设备,而程序是无需申请帐号和密码登陆的那种,就可以利用这个设备ID来区分不同的设备.比如说餐厅里用平板电脑点菜,可以把设备ID跟桌号绑定起来,这样点餐之后就知道是哪桌在点菜.(这种场合不需要帐号密码登陆,用设备ID区分最合适了).
绿春县19219151149: 现在开发安卓的主流是Eclipse 还是Android studio? - ?
鱼会乙肝: Android Studio和eclipse之间的对比与选择:Android Studio是一项全新的基于IntelliJ IDEA的Android开发环境.类似于Eclipse ADT插件,Android Studio提供了集成的Android开发工具用于开发和调试.Android Studio——全新的Android开发环境 除了IntelliJ功能,Android Studio还提供:基于Gradle的构建支持;Android特定重构和快速修复;提示工具更好地对程序性能、可用性、版本兼容和其他问题进行控制捕捉;支持ProGuard和应用签名功能;自带布局编辑器,可以让你拖放UI组件,并在多个屏幕配置上预览布局,等等.
绿春县19219151149: Android开发用什么IDE工具 - ?
鱼会乙肝: Android的开发技术很多,在开始学习的时候不可能一次性全部学会,也没有必要一开始都全部学会,但是有些技术是非常常用的,需要在开始时打好基础,这些技术时: 1、Activity生命周期 虽然Android中有四大组件,但是不可否认Activity是...
绿春县19219151149: 有安卓可信ID吗?像苹果IDFA那样? - ?
鱼会乙肝: 大数据公司 开发了一段“可信ID”,目前作用于安卓设备,APP开发者选择和 合作的话,可以用这个ID来获取APP推广中的真实数据,识别造假,杀灭羊毛党,这个算是安卓设备的可信ID吧. ~~~
绿春县19219151149: 现在搞安卓开发比较流行用哪个工具?eclipse还是androidstudio? - ?
鱼会乙肝: 我觉得都装上比较好,都试着用一用,各有各的优缺点 适合自己的才是最好的,像我还是习惯于用eclipse,如果你没习惯eclipse那就直接用Android Studio,毕竟它是以后的主流 再配上Genymotion,那就更好了
绿春县19219151149: 现在andorid开发在国内流行吗??
鱼会乙肝: 很流行、随着移动通信发展,现在,前景很好.
绿春县19219151149: android开发用什么ide 知乎 - ?
鱼会乙肝: 推荐android studio,这是官方自己的开发工具 如果是去公司的话,要看公司项目用什么,虽然稍有不同,不过学习的话还是建议andorid studio
绿春县19219151149: Android开发中,xml资源文件中的id属性,为什么有的是@+id/....有的是@android:id/....;而且为什么有+号 - ?
鱼会乙肝: Android中组件需要用一个int类型的值来表示,这个值就是组件的id.如果在@后面使用“+”,表示当修改完某个布局文件并保存后,系统会自动在R.java 文件中生成相应的int类型变量.例如,@+id/button1会在R.java文件中生成int button1 = ...