从零开始学习Android开发-Android概览

从零开始学习Android开发-Android概览没有开发过 Android IOS 等移动端的开发 记录从零开始学习 Android 开发历程 学过 用过那么多的语言 开发模式却很少留下记录 一方面是由于曾经的工作环境影响 网络受控 一方面是自己长久以来对文字的尊重 总以为非深思熟虑不能成文 非别具匠心不可以发表 还有就是自己的懒惰 懒得动笔 人的状态总还是多少受环境影响的 时得清闲 又对 Android 有几分兴趣 虽然 Android 已经发展多年 现

        没有开发过Android、IOS等移动端的开发,记录从零开始学习Android开发历程。学过、用过那么多的语言、开发模式却很少留下记录,一方面是由于曾经的工作环境影响,网络受控;一方面是自己长久以来对文字的尊重,总以为非深思熟虑不能成文,非别具匠心不可以发表;还有就是自己的懒惰,懒得动笔。

人的状态总还是多少受环境影响的,时得清闲,又对Android有几分兴趣,虽然Android已经发展多年,现在学习Android可能太晚,但我不求先行,只求窥其一斑;不求文章准确精美,只求雁过留声。记录下学习Android的过程,若是能给路人的带来点启发,那就是无意间点积德善举,若是错误百出,那也不要怨言,因为每片博文均一气写成,逻辑、文字错误均没检查,甚至写完后再没有看过,我本就把博文当做随笔,留个纪念而已。

我这人学东西一般是不求甚解,无论什么语言,什么框架均喜欢先学习整个结构如何,事件如何处理、数据如何存储、界面如何展示、各页面如何调用等。正如每次买到一本新书,总喜欢把先把目录和前言好好看看,有个大概的映像再去分解阅读。我这样的人往往难得深入,一般是了解结构、方法,遇到问题再由点解决问题,就好像是一座楼房只建了框架,哪层卖出去了才建哪层的围墙,从外看来,不是栋美观高上大楼房,但也不会影响居住,总是难得讨人喜欢罢了。

Android这些年来积累的学习资源可为丰富至极,但我一般还是喜欢看官网的资料,一来准确,二来权威。所幸Android的官网资料丰富,不久有讲解,还有实例(Android Studio中可以直接导入example),大部分还有中文说明,真是方便。开发工具当然选的是Android Studio,Google已经宣称不再支持Eclipse的Android插件了。Android开发的官网是:https://developer.android.com/guide/index.html。学习的方式也按我以往的基本步骤:官网基础知识,典型开发模式和开发框架,典型实例、调试、测试、打包及更新,自定义Demo。

在官网目录中有Training和Api Guides两个目录,我大略看了一下,可能在学习过程中以Api Guides为主,部分例子可参考Training和Samples。

如官网所说:Android 提供了一个内容丰富的应用框架,支持您在 Java 语言环境中为移动设备开发创新应用和游戏。Android不仅仅应用于我们熟知的Pad、Phone,还应用于智能终端、各类传感器等多种移动终端。

Android应用提供多个入口点:Android 应用都是将各种可单独调用的不同组件加以组合开发而成。例如,组件可以是为用户界面提供一个屏幕的单个“Activity”,也可以是在后台独立执行工作的“服务”。这一点真的很吸引人,在一般的应用中只有唯一的入口,如VC、VB等应用只有一个入口main函数。在Android中都是组件化的,每个组件可以相互独立,又可以相互调用组合完成一个完整的事务,我感觉现在逐渐升温的微服务以及云计算里的Dock采用了相似的思路,将功能独立化,不仅使得节约了开发成本,也提高系统健壮性,可测性,好处多多。嗯,我不禁迫切想知道组件之间是如何独立运行又相互调用的。

Android操作系统是一种多用户的Linux系统,Android应用采用Java语言编写,最终应用将数据、代码和资源一起编译到一个.apk的存档文件。一个应用以不同的Linux用户,具有唯一的Linux用户ID,只能访问本用户资源,如果希望多个应用访问共同资源可以采用以下方法:

1.为不同应用设置同一Linux 用户id

2.通过调用其他组件访问相关资源

Android有四类组件:

1.Activity

主要用于用户界面展示

2.Service

用于在后台长时间运行,没有界面,跟Windows等后台服务类似。

3.ContentProvider

  主要用于数据等存取,如:文件系统、SQLite 数据库、网络上或您的应用可以访问的任何其他永久性存储位置。

4.BroadcaseReceive

用于响应系统等各类消息。

如何启动组件?

四种组件类型中的三种 — Activity、服务和广播接收器 — 通过名为 Intent 的异步消息进行启动。组件间相互调用,主要依赖于Intent。各组件调用等方法不同,但都通过Intent传递数据。

1.Activity启动方法

  • 直接调用采用startActivity(),
  • 需要获取返回值采用startActivityForResult()

2.Service启动方法

  • 直接启动采用startService(),
  • 需要绑定该服务采用bindService(),即启动者销毁,绑定的服务同时销毁。

3.BroadCast启动方法

通过sendBroadcast(),sendOrderedBroadcast() 或 sendStickyBroadcast() 等方法来发起广播

4.ContentResolver调用方法

采用query()调用。

Android项目文件目录

1.mainfests

项目文件清单:声明项目中的各个组件,组件的访问权限等。

2.java

项目的源码目录:包括源码、测试代码

3.res

项目资源文件:包括页面布局、本地化设置、全局的字符串定义、图标等。









版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/215360.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午2:06
下一篇 2026年3月18日 下午2:06


相关推荐

  • 科大讯飞推出超拟人交互API,开启情感智能交互新时代

    科大讯飞推出超拟人交互API,开启情感智能交互新时代

    2026年3月14日
    2
  • HT for Web嵌入QtWebKit的客户端解决方案

    HT for Web嵌入QtWebKit的客户端解决方案

    2021年9月2日
    72
  • ONOS 中的LLDP协议,用到一个固定的MAC

    ONOS 中的LLDP协议,用到一个固定的MAC使用ONOS+openflow硬件交换机的环境中,在交换机上可以看到02-EB-9F-67-C9-42这个MAC及相关流表。其并不是某个交换机、host的MAC,而是ONOSLLDPapp中定义的一个源MAC,用于ONOS的链路发现功能。ONOSPacketout消息抓包截图:关于SDN控制器+openflow+LLDP,网上已经很多人写了,在此就直接搬移一篇总结不错的:Op…

    2022年5月29日
    48
  • 二阶齐次线性微分方程的通解公式_二阶常系数齐次线性微分方程 通解

    二阶齐次线性微分方程的通解公式_二阶常系数齐次线性微分方程 通解满意答案 yanweishizu2 07 12 采纳率 46 等级 12 已帮助 13567 人 y 2y 5y 0 设 y e f x 则 y e f x f x y e f x f x 2 e f x f x 0 y 2y 5y e f x f x 2 e f x f

    2026年3月16日
    2
  • 终于!这个速算题自动批改程序被我给做出来了!

    终于!这个速算题自动批改程序被我给做出来了!本文将全程带着大家一步步写出一个趣味小 demo 速算题自动批改程序 并在课程末尾附上完整代码下载链接 大家可以先看完课程文章或视频 然后再自己实践一遍 毕竟 快到年底了 学校布置的作业也越来越多了 班主任强烈建议票圈天天为孩子辅导数学题的暴躁模范父母 认认真真学一下这一节课程 省下 10 分钟 拯救濒临崩溃的自己 不得不看的课前准备如题所示 今天的课程是如题所示 今天的课程是一堂实践小课 一

    2026年3月17日
    2
  • SPSS卡方检验结果解读详解

    SPSS卡方检验结果解读详解卡方检验(Chi-SquareTest)是由Pearson提出的一种统计方法,在一定的置信水平和自由度下,通过比较卡方统计量和卡方分布函数概率值,判断实际概率与期望概率是否吻合,通过比较理论概率和实际概率的吻合程度,可检验两个分类变量的相关性。用户可利用SPSS软件方便的完成卡方检验,在SPSS软件中,默认H0成立,即观察频数和实际频数无差别,即两组变量相互不产生影响,两组变量不相关,如果检验P值很高,则假设检验通过;如果检验P值很低,则检验不通过,观察频数和实际频数有差别,两组变量相关。SPSS数据检验

    2022年5月13日
    94

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号