资讯专栏INFORMATION COLUMN

Android学习笔记2:Hello World程序解析

liujs / 3143人阅读

摘要:创建工程中的一个。依赖包,包含包和等包。同时在中还有一个文件,它记录着基本信息管理文件。在下的则是的构建脚本。程序分析首先打开文件,从中可以找到如下代码这段代码表示对这个活动进行注册,没有在里注册的活动是不能使用的。

《第一行代码——Android》郭霖著
Android Studio入门到精通

更多内容,请访问我的博客醒岛

Android Studio与Eclipse的一些不同

Android Studio是基于IDEA的,IDEA 全称IntelliJ IDEA,是java语言开发的集成环境。IDEA与Eclipse有很大的区别,它们主要的不同在这篇文章中有详细的说明,在此就不赘述了。所以AS新建的时候有new application和new module开发。IDEA没有工作空间这样的说法。具体来说有以下三点:

android studio是单工程的开发模式

android studio中的application相当于eclipse里的workspace概念

android studio中的module相当于eclipse里的project概念

Android Studio目录结构

新建工程项目后切换到“project”模式下的目录结构如下图所示:

.idea:AS生成的工程配置文件,类似Eclipse的project.properties。

app:AS创建工程中的一个Module。

gradle:构建工具系统的jar和wrapper等,jar告诉了AS如何与系统安装的gradle构建联系。

External Libraries:不是一个文件夹,只是依赖lib文件,如SDK等。

打开“app”折叠项的目录结构如下图所示:

build:构建目录,相当于Eclipse中默认Java工程的bin目录,鼠标放在上面右键Show in Exploer即可打开文件夹,编译生成的apk也在这个目录的outs子目录,不过在AS的工程里是默认不显示out目录的,就算有编译结果也不显示,右键打开通过文件夹直接可以看。

libs:依赖包,包含jar包和jni等包。

src:包括java代码和资源文件。在src目录下有一个main的分组,同时划分出java和res两个文件夹,java文件夹则相当于Eclipse下的src文件夹,res目录结构则一样。同时在main中还有一个AndroidManifest.xml文件,它记录着App基本信息(Android管理文件)。在src下的 build.gradle则是Module的Gradle构建脚本。

Hello World程序分析

首先打开AndroidManifest.xml文件,从中可以找到如下代码:


     
                
                
      

这段代码表示对MainActivity这个活动进行注册,没有在AndroidManifest.xml里注册的活动是不能使用的。其中intent-filter里的两行代码非常重要,表示MainActivity是这个项目的主活动,在手机上点击应用图标,首先启动的就是这个活动。你在启动时看到的界面,其实就是MainActivity。

然后,打开MainActivity.java。你可以看到MainActivity是继承自Activity的。。Activity是Android系统提供的一个活动基类,我们项目中所有的活动都必须要继承它才能拥有活动的特性。我们来看一下onCreate方法。

protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
}

onCreate()方法是一个活动被创建时必定要执行的方法。方法中的第一行代码很容易理解,就是执行父类中的onCreate()方法。第二行调用了setContentView()方法,就是这个方法给当前的活动引入了一个activity_main布局。R.layout.activity_main是一种引用资源的格式,此处引用了layout中的activity_main布局。(这是在代码中引用资源的格式,在xml中可以通过@xxx/xxxxx的方式来引用。)让我们打开layout中的activity_main.xml看看究竟写了什么吧。

打开activity_main.xml后在左下角选择Text。(当然,Design视图可以让我们可视化地看到layout界面。)



    

看到代码中有有一个TextView,这是Android系统提供的一个控件,用于在布局中显示文字的。其中text设置为“Hello World!”,这就是我们应用界面上显示的文字了。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/12796.html

相关文章

  • Android学习笔记1:创建Hello World项目

    摘要:已发布的版本中有一项很实用的功能,可以查看各版本所占的份额。创建项目首先打开。左侧将会显示最近打开的工程,右侧则是各种选项。选择创建一个新的工程。为命名,同时生成文件。 参考书目:《第一行代码——Android》郭霖著 更多内容,请访问我的博客醒岛 Android系统架构 Linux内核层。Android系统是基于Linux 2.6内核的,这一层为Android设备的各种硬件提供了底...

    Kaede 评论0 收藏0
  • Android逆向笔记 —— DEX 文件格式解析

    摘要:文件结构思维导图及解析源码见文末。用于标记文件是大端表示还是小端表示。是一个偏移量数组,表示每个字符串在区的偏移量。表示的是类型信息,指向中元素。DEX 文件结构思维导图及解析源码见文末。 往期目录: Class 文件格式详解 Smali 语法解析——Hello World Smali —— 数学运算,条件判断,循环 Smali 语法解析 —— 类 Android逆向笔记 —— Andro...

    番茄西红柿 评论0 收藏0
  • Android逆向笔记 —— DEX 文件格式解析

    摘要:文件结构思维导图及解析源码见文末。用于标记文件是大端表示还是小端表示。是一个偏移量数组,表示每个字符串在区的偏移量。表示的是类型信息,指向中元素。DEX 文件结构思维导图及解析源码见文末。 往期目录: Class 文件格式详解 Smali 语法解析——Hello World Smali —— 数学运算,条件判断,循环 Smali 语法解析 —— 类 Android逆向笔记 —— Andro...

    zhangke3016 评论0 收藏0
  • Android学习笔记4:探究活动1

    摘要:所有的活动都要在中进行注册才能生效。这是因为时是不会自动生成目录和文件的。这是怎么回事原来,我们的活动继承自,这样的话是默认不显示标题栏的。 《第一行代码——Android》郭霖著 更多内容,欢迎访问我的个人博客醒岛 活动(Activity)是什么 一个Activity是一个应用程序组件,提供一个用户界面,用户可以用来交互以完成某项任务,例如阅读文本、点击按钮、看照片等。每一个Acti...

    Forest10 评论0 收藏0
  • react native学习笔记(二)

    摘要:但是这套标准目前还没有在所有的浏览器上完整实现,所以目前而言开发中还很少使用。这叫做是一种在中嵌入结构的语法。模块则是用来告知哪一个组件被注册为整个应用的根容器。 编写Hello World React Native看起来很像React,只不过其基础组件是原生组件而非web组件。要理解React Native应用的基本结构,首先需要了解一些基本的React的概念,比如JSX语法、组件、...

    OnlyLing 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<