学习软件开发,最直接最快捷的就是尽快动手创建第一个HelloWorld程序。当我们看到Hello World出现在应用中的那一刻,我们和这门语言,或者说这么工具的距离感会突然间变得亲切。

如同我们学习别的语言一样,我在最开始不太喜欢采用庞大的IDE创建第一个项目。还好我对Java语言很熟悉,还好采用Android Studio创建向导与VC++,Eclipse等并没有什么不同,在配置好AndroidStudio的开发环境后,创建过程也简化到了最少,为了排除干扰,我选择最简单的方式:创建一个Empty Activity项目,也只需要设置以下几点:

1.项目名称

2.项目存储目录

3.选择默认的sdk和Empty Activity。

OK,IDE自动创建了项目文件,配置好模拟器,点击运行,就可以在模拟器上看见一个空白的app应用了。虽然什么也没做,但是还是有点亲切了,因为我们看到了真正意义上的第一个App。

看看项目文件,目录不少,包括app和Grandle Scripts。Grandle文件可以暂时不用考虑了,里面都是打包安装点脚本,如果一头扎进去,基本上就失去了学习的兴趣了。还是看看app中的文件吧,包括三部分:

1.mainfests

包含唯一一个文件AndroidManifest.xml。这是本项目的清单文件,用于声明组件、权限和各种约定。

2.java

包含了java代码,其中包括2个测试包:java单元测试,android测试,这也不在目前的了解范围内。

还有就是一个java源码 MainActivity.java。继承于一个Activity(AppCompatActivity),只实现了一个onCreate方法。代码也就两行:

super.onCreate(savedInstanceState);//暂时不需了解

setContentView(R.layout.activity_main);

3.res

包含了各类资源,以xml文件为主:

layout包含页面布局文件,另外其他文件也可暂时不用考虑。

看到这里,我们对整个结构也有个简单的架构了:

1.AndroidManifest.xml对项目组件进行声明,告诉系统本项目有哪些组件,各组件可以接受action和权限约束。在默认代码中我们看到这样的设置

<activity android:name=".MainActivity" >

<intent-filter>

<action android:name="android.intent.action.MAIN"/>

<category android:name="android.intent.category.LAUNCHER"/>

</intent-filter>

</activity>

整个清单文件的层级结构大致为:

<manifest . . . >

<application . . . >

<service android:name="com.example.project.SecretService" . . . >

. . .

</service>

. . .

</application>

</manifest>

从application逐步分解至组件、组件接受的action、数据约束等。

其中android.intent.action.MAIN定义了本app默认启动的activity。

2.页面布局采用xml文件格式,由viewgroup和各种view组成,但是根节点必须是viewgroup。在RelativeLayout节点内添加一个TextView,设置android:text为Hello world,再次运行后,我们可以看到久违的Hello world。

3.在java代码中通过别的代码暂时也不需要了解,只需知道通过setContentView建立Java代码和页面展示xml文件的关联,通过R.layout.activity_main可以找到xml文件,activity_main为res\layout中的activity_main.xml文件,通过文件名进行匹配。

对程序框架有了基本了解后,我们就可以逐步深入了,我们知道了怎么添加一个新的activity,如何建立activity的布局文件以及测试基础空间了。对于刚刚接触Android开发,我们只有分步骤、分重点等学习方式,不求甚解的先了解Activity与xml布局文件如何建立数据、事件关联,Activity的生命周期,典型的展示控件的事件与数据处理方式,Acitvity之间如果交互、Service等其它组件的生命周期及如何交互等。

从零开始学习Android开发-创建第一个App相关推荐

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

    打开ADT开发工具 [file]-[new]-[android application project] 填写application name ,project name,package name,点 ...

  2. android编程从零开始,从零开始学习android开发

    博主最近开通了Android栏目,现在正在从零开始学习android,遇到的所有值得分享的知识点以及遇到的问题将发布在这个博客的android栏目下. 因为我有着深厚的java底子,所以学习起来得心应 ...

  3. 列表怎么有限的初始化为零_《零基础学习Android开发》第五课 类与面向对象编程1-1...

    视频:<零基础学习Android开发>第五课 类与面向对象编程1-1 类的定义.成员变量.构造方法.成员方法 一.从数据与逻辑相互关系审视代码 通过前面的课程,我们不断接触Java语言的知 ...

  4. [0 to 0.5]从零开始学习Android动画知识(下)

    [0 to 0.5]从零开始学习Android动画知识(下) 矢量动画(Scalable Vector Graphics) 不同于前面的为控件做动画效果的方法,矢量动画则是为图形做出动画效果 矢量图 ...

  5. [0 to 0.5]从零开始学习Android动画知识(中)

    [0 to 0.5]从零开始学习Android动画知识(中) 属性动画(Property Animation) 属性动画(Property Animation)是在 Android 3.0(API 1 ...

  6. Android开发日志打卡APP(二)

    Android开发日志打卡APP(二) 文章目录 Android开发日志打卡APP(二) 前言 开发过程 一.背景和标题 二.日志图标 三.日志弹框 前言 在之前的文章中,准备工作已经完成,现在我们将 ...

  7. Android开发日志打卡APP(一)

    Android开发日志打卡APP(一) 文章目录 Android开发日志打卡APP(一) 简介 界面展示 内容总结 1.控件 2.布局 3.技术 开发过程 准备工作 启动页面 底部导航栏 简介 ​ 初 ...

  8. 学习Android开发是否有前途?

    现在越来越多的手机.和平板电脑等产品都在采用安卓系统,Android开发的人才越来越缺乏,据统计,中国3G研发人才达到了3-400万.如果以后想从事安卓开发的工作,不仅仅要对程序技术非常熟练,还要了解 ...

  9. Android开发——创建项目和软件图标

    Android开发--创建项目和软件图标 一.SDK安装及加装 1.将环境搭建好过后,点击Android Studio,就会开始进入软件,如果你没有另外下载SDK在你的电脑上,他会出现一个警示提示框, ...

  10. 在Android开发板跑一个LED驱动的历程(个人笔记)

    [版权申明]未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) 在Android开发板跑一个LED驱动的历程(个人笔记) 1. 板子端, 放置驱动程序 1.1 编写一个驱动程序 驱动程序的编写上, ...

最新文章

  1. anaconda降级python失败_如何降级Python版本安装spyder?
  2. kerberos的故事2
  3. 数据库学习(Oracle)
  4. HDU1591 Encoded Love-letter【密码】
  5. 多说评论系统API调用和本地身份说明(JWT)
  6. python C语言加速
  7. 数据结构中的数学公式
  8. adb命令模拟按键事件 KeyCode
  9. 计算尖峰电流的目的_尖峰电流的形成及抑制与去耦电容的作用解读
  10. 燕千云 YQCloud 数智化业务服务管理平台发布1.11版本
  11. 梅宏院士:大数据技术的四大挑战与十大趋势
  12. 搭建传奇游戏,都需要准备什么东西。
  13. CESM模式及其各个分量模式介绍
  14. GBDT、XGBoost、LightGBM比较
  15. 我猜你也在找内网渗透,这篇难道还不够你嚼烂?
  16. 原 CSS3学习第11篇——综合练习弹跳滚动的小球
  17. 重庆春季高考计算机试题,2017年重庆春季高考数学模拟练习题一
  18. win10计算机添加右键菜单,win10怎么添加右键菜单
  19. git新建本地分支并推到远程分支
  20. 怎么修改u盘html格式的文件,如何实现U盘转为NTFS格式可传4G以上文件

热门文章

  1. Eclipse的环境设置
  2. github开源项目大集合
  3. SONY图像传感器列表
  4. echarts地图省市坐标
  5. RHCSA与RHCE红帽认证考试心得
  6. Python使用python-snap7实现西门子PLC通讯
  7. ColorUI使用与技巧
  8. 深度学习 | MATLAB卷积神经网络原理描述
  9. # java 核心技术卷1 (原书第11版)通读 第一章:java的基本程序设计结构
  10. 求ucinet软件下载资源!!!!