浅谈Android , 以及Android程序的Hello World

来源:互联网 发布:看网络电视用什么盒子好 编辑:程序博客网 时间:2024/06/06 20:11

前言

我本是做服务器开发,有时候工作需要和基于Android、Windows等系统进行协同开发,为了知己知彼,我花了一段时间研究了一下Android。至此, 站在一个后台开发者的角度,总结一下Android, 以及Android和后台的异同。


一、Android简单概述:

因为Android系统版本更新比较快, 差异比较大,很难给一个具体定义, 因此, 这里是Android 5.0之后具有里程碑式的系统开始, 说一下什么是Android。

从Android 5.0之前, Android一直是使用Dalvik 虚拟机运行Android代码, 由于其是JVM的变异虚拟机(不能称作是Java 虚拟机), 解释由DX工具(将.class转换为.dex)生成的.dex文件, 其原理和JVM有一些相似的地方, 如, 都是解释执行。因此, 这就有一个问题:运行时候, 会给用户感觉不流畅, 有时候觉得卡, 当然用户界面也相对较丑。

这两个问题, 在Android 5.0之后, 可以说得到了很大的提升, 原因在于,从Android 5.0之后, 他的内部运行环境使用ART来代替Dalvik虚拟机, 从而提升了运行效率。 通过Material Design的概念来优化界面, 目前也有许多满足日常的优美的控件来使用, 个人觉得美观程度不亚于IOS。ART为什么效率比Dalvik运行效率高? 原因在于:应用在第一次安装时候, 字节码就会预先编译成机器码, 使其成为真正的本地应用。这也称作是预编译, 这也应用程序首次启动和运行运行的就是本地机器码, 而不是有解释器解释之后再执行了。但这也有缺点:1、机器码占用的存储空间更大,在应用包中, 可执行的代码常常只是一部分,如Google+ APK是28.3MB,但是代码只有6.9MB。2、应用安装时间变长,具体延长多久时间, 由APP本身决定。


Android四大组件: 

Activity(活动):是应用程序的界面, 凡是在应用中看到的都是活动。

Service(服务):看不见, 一直在后台默默运行, 为应用提供支持。

Broadcast Receiver(广播接收器):运行你的应用接收来自电话、短信等处的消息。

Content Provider(内容提供器):为应用提供数据共享功能, 如读取电话簿中的联系人, 就需要通过内容提供器来实现。

此外, Android自带SQLite数据库, 可以轻松实现数据存储相关功能。等等。

Android本身是基于java语言的语法, 所以, 看Android程序是非常亲切的, 不同点就是Android的四大组件等其他控件的掌握, Android还是非常轻松和有趣的一个东西。


第一个Android 程序: Hello World

首先, 安装JDK, Android的开发需要JDK, 因此首先按照JDK(这里省略安装配置, 很简单);

其次, 安装Android Studio开发工具,下载后, 安装非常简单, 一路Next即可。安装成功之后的界面如下:


至此, 正式环境搭建, 完毕, 开始第一个Hello World:

点击Start a new Android Studio project, 如下:


输入项目名, 其余默认, 一步步Next, 直到如下界面:


至此, Hello World项目已经完成了。赶快打包成APK安装在手机上试一试, 用Android手机进开发者模式, 连接上电脑之后, 点击Run app按钮, 出现如下界面:


这里选择我的手机, 点击OK, 即可。如下图:


第一个Android APK , 成功了。如上图。

关于Android四大组件和其他插件、数据库的内容, 还需要很多。这里不再详说。

0 0