美文网首页看场电影
Study01【Android】Hello World丨第二行代

Study01【Android】Hello World丨第二行代

作者: taodaren | 来源:发表于2018-06-03 23:53 被阅读0次

    2003 年 10 月,Andy Rubin 等人一起创办了 Android 公司。
    2005 年 8 月谷歌收购了这家仅仅成立了 22 个月的公司,并让 Andy Rubin 继续负责 Android 项目。
    2008 年 推出了 Android 系统的第一个版本。

    2010 年被 Linux 团队从 Linux 内核主线中除名。又由于 Android 中的应用程序都是使用 Java 开发的,甲骨文则针对 Android 侵犯 Java 知识产权一事对谷歌提起了诉讼……
    仅仅推出两年后,Android 就超过了已经霸占市场逾十年的诺基亚 Symbian,成为了全球第一大智能手机操作系统

    Android 系统架构

    Android 系统架构

    Linux 内核层

    Android 系统是基于 Linux 内核的,这一层为 Android 设备的各种硬件提供了底层的驱动,如显示驱动、音频驱动、照相机驱动、蓝牙驱动、Wi-Fi 驱动、电源管理等。

    系统运行库层

    这一层通过一些 C/C++ 库来为 Android 系统提供了主要的特性支持。如 SQLite 库提供了数据库的支持,OpenGL|ES 库提供了 3D 绘图的支持,Webkit 库提供了浏览器内核的支持等。

    同样在这一层还有 Android 运行时库,它主要提供了一些核心库,能够允许开发者使用Java语言来编写 Android 应用。另外,Android 运行时库中还包含了 Dalvik 虚拟机(5.0 系统之后改为 ART 运行环境),它使得每一个 Android 应用都能运行在独立的进程当中,并且拥有一个自己的 Dalvik 虚拟机实例。相较于 Java 虚拟机,Dalvik 是专门为移动设备定制的,它针对手机内存、CPU 性能有限等情况做了优化处理。

    应用框架层

    这一层主要提供了构建应用程序时可能用到的各种 API,Android 自带的一些核心应用就是使用这些 API 完成的,开发者也可以通过使用这些 API 来构建自己的应用程序。

    应用层

    所有安装在手机上的应用程序都是属于这一层的,比如系统自带的联系人、短信等程序,或者是你从 Google Play 上下载的小游戏,当然还包括你自己开发的程序。

    四大组件

    Android 系统四大组件分别是活动(Activity)、服务(Service)、广播接收器(Broadcast Receiver)和内容提供器(Content Provider)。

    其中 活动 是所有 Android 应用程序的门面,凡是在应用中你看得到的东西,都是放在活动中的。而 服务 就比较低调了,你无法看到它,但它会一直在后台默默地运行,即使用户退出了应用,服务仍然是可以继续运行的。广播接收器 允许你的应用接收来自各处的广播消息,比如电话、短信等,当然你的应用同样也可以向外发出广播消息。内容提供器 则为应用程序之间共享数据提供了可能,比如你想要读取系统电话簿中的联系人,就需要通过内容提供器来实现。

    掌握日志工具的使用

    使用 Android 的日志工具 Log

    Android 中的日志工具类是 Log(android.util.Log),这个类中提供了如下 5 个方法来供我们打印日志。Log.v() → Log.d() → Log.i() → Log.w() → Log.e()。

    Log.d() 方法中传入了两个参数:第一个参数是 tag,一般传入当前的类名就好,主要用于对打印信息进行过滤;第二个参数是 msg,即想要打印的具体的内容。

    快捷键

    对于快捷输入,在 Android Studio 当中也是有的,比如你想打印一条 debug 级别的日志,那么只需要输入 logd,然后按下 Tab 键,就会帮你自动补全一条完整的打印语句。输入 logi,然后按下 Tab 键,会自动补全一条 info 级别的打印日志。输入 logw,按下 Tab 键,会自动补全一条 warn 级别的打印日志,以此类推。

    另外,由于 Log 的所有打印方法都要求传入一个 tag 参数,每次写一遍显然太过麻烦。这里还有一个小技巧,我们在 onCreate() 方法的外面输入 logt,然后按下Tab键,这时就会以当前的类名作为值自动生成一个 TAG 常量,如下所示:

    public class HelloWorldActivity extends AppCompatActivity {
        private static final String TAG = "HelloWorldActivity";
        ...
    }
    

    相关文章

      网友评论

        本文标题:Study01【Android】Hello World丨第二行代

        本文链接:https://www.haomeiwen.com/subject/wwgssftx.html