Android入门介绍

Android入门介绍

  1. 3G、4G

    • 第三代移动通信技术(3rd - Generation),速率一般在几百Kbps,较之前的2G和2.5G在数据传输速度上有很大提升。
    • 第四代移动通信技术(4th - Generation),速度可达到100Mbps以上,几乎可以满足人们的所有传输数据的需求。

    目前主流的3G技术标准有三种:

    • WCDMA:全球80%以上的3G网络都是采用此种制式。中国联通运营。186
    • CDMA2000:目前日韩及北美使用较多。中国电信运营。 189
    • TD-SCDMA:中国自主知识产权的3G通信技术。中国移动运营。 188

    目前主流的4G技术为LTE,但还没有被广泛应用:

    GSM → GPRS → EDGE → WCDMA → HSDPA → HSDPA+ → LTE

  2. Android是什么
    1. 手机设备的软件栈内存,包括

      • 一个完整的操作系统
      • 中间件
      • 关键的应用程序
    2. 底层是Linux内核
      • 安全管理
      • 内存管理
      • 进程管理
      • 电源管理
      • 硬件驱动
  3. Android体系结构
    • Applications:桌面应用、打电话应用、浏览器等应用程序
    • Applications Framework:ActivityManager、 WindowManager、ContentProvider、ResourceManager等
    • Libraries: SQLite库、SurfaceManager、WebKit、OppenGL等。
      • Android运行时

        • Core Libraries
        • Dalvik Virtual Machine
    • Linux Kernel: 硬件驱动、电源管理等
  4. Dalvik VM和JVM的区别
    1. 编译后文件的格式:

      • JVM: .java->.class->.jar
      • Dalvik: .java->.class->.dex->.odex
    2. 基于的架构不同
      • JVM基于栈的架构(栈内存)
      • Dalvik基于寄存器的架构(CPU),执行效率比JVM要高
    3. Dalvik专门针对移动平台进行优化

      JVM的jar包中会有很多class文件,每个class文件中都含有头信息、常量池、字段、方法等,而apk中只有一个dex,它里面包括了所有头信息、常量池、方法等。这样读取一个文件要比读取多个文件去找块。

  5. CPU处理器架构
    1. x86

      • intel
      • AMD
    2. ARM
      • 摩托罗拉
      • 三星
  6. Android项目目录结构
    1. src:源代码
    2. gen:系统自动生成的文件,R.java 中记录了项目中各种资源ID
    3. res:系统资源,所有文件都会在R文件生成资源ID
      • drawable:图片
      • layout:界面布局
      • values:数据
      • anim:定义动画的XML
      • raw:原生文件
    4. assets:资源路径,不会在R文件注册
    5. project.properties:供Eclipse使用,读取该项目使用Android版本号。早期版本名为default.properties
    6. AndroidManifest.xml:清单文件,在软件安装的时候被读取

      Android中的四大组件(Activity、ContentProvider、BroadcastReceiver、Service)都需要在该文件中注册程序所需的权限也需要在此文件中声明,例如:电话、短信、互联网、访问SD卡

    7. bin:二进制文件,包括class、资源文件、dex、apk等
    8. proguard.cfg:用来混淆代码的配置文件,防止别人反编译
  7. APK 安装过程
    1. Eclipse将.java源文件编译成.class
    2. 使用dx工具将所有.class文件转换为.dex文件
    3. 再将.dex文件和所有资源打包并且签名成.apk文件
    4. 将.apk文件安装到虚拟机完成程序安装
    5. 启动程序 – 开启进程 – 开启主线程
    6. 创建Activity对象 – 执行OnCreate()方法
    7. 按照main.xml文件初始化界面

    简单的来说软件的安装都是两个过程

    • 拷贝apk中得一些文件到系统的某个目录,1./data/app/目录下, 2.创建一个文件夹 /data/data/com.test.helloworld/来保存数据
    • 在系统的注册表里面配置一些信息. data/system/packages.xml
  8. Android安全学

    Android安全学中的一个重要的设计点是在默认情况下应用程序没有权限执行对其它应用程序、操作系统或用户有害的操作。这些操作包括读/写用户的隐私数据(例如联系方式或e-mail),读/写其它应用程序的文件,执行网络访问,保持设备活动,等等。 所以牵扯到付费或者可能与用户隐私相关的操作都要申请权限.

  9. 测试分类

    单元测试(Unit test) -> 功能测试( Function test) ->集成测试(Intergation test)

  10. Android单元测试
    • AndroidManifest.xml中进行配置,导入android的junit环境
    • 编写测试类继承Android的测试父类,AndroidTestCase这个类( AndroidTestCase是为了去模拟一个手机的运行环境, 这个类中有一个getContext方法能获取到当前测试类的应用上下文对象,所以这个方法必须要等到测试框架初始化完成后才可以去调用)
    • 测试的方法名要求以小写的test开头,如不以test开头只能单独点这个方法运行,整体全部运行时没有这个方法,所有的测试方法都要抛出异常,要把异常抛给测试框架不能自己去捕获。

    注意:测试得代码也是只能在手机上跑,它是在手机上测试完之后又将信息发送到了eclipse中


  • 邮箱 :[email protected]
  • Good Luck!
时间: 2024-12-06 11:30:15

Android入门介绍的相关文章

【Android学习之旅】1、Android入门介绍

1.Android介绍 1.1 Android的系统架构 下面这张图展示了Android的系统架构: 图中可见,Android大致可以分为四层架构,五块区域: Linux内核层(Linux Kernel) Android系统时基于Linux2.6内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动.音频驱动.照相机驱动.蓝牙驱动.WiFi驱动.电源管理等. 系统运行层 这一层通过一些C/C++库来为Android系统提供了主要的热性支持,比如SQLite库提供了数据库的支持,

Android CoordinatorLayout 入门介绍

Android CoordinatorLayout 入门介绍 CoordinatorLayout View 知道如何表现 在 2015 年的 I/O 开发者大会上,Google 介绍了一个新的 Android Design Support Library,该库可以帮助开发者在应用上使用 meterial design.它包含了许多重要的 meterial design 的构建块,并且它支持 API 7及以上的版本.如果你错过了这次大会,那就请打开谷歌开发者站点来查阅它的相关信息吧:传送门. Co

Android入门:Activity四种启动模式

Android入门:Activity四种启动模式 一.启动模式介绍 启动模式简单地说就是Activity启动时的策略,在AndroidManifest.xml中的标签的android:launchMode属性设置: 启动模式有4种,分别为standard.singleTop.singleTask.singleInstance: 讲解启动模式之前,有必要先讲解一下“任务栈”的概念; 任务栈 每个应用都有一个任务栈,是用来存放Activity的,功能类似于函数调用的栈,先后顺序代表了Activity

Android入门教程之我见

真正的从安卓入门学习到实际工作也差不多一年时间了,也做了几个项目.在这期间经历了一开始学习Android的基本知识后仍旧无从下手,不知道如何开始开发一个app,到现在也开始学会注意Android架构的设计优化,学会开始阅读源码,渐渐地向Android更高级的知识进阶. 首先要感谢一下Google把Android开源了,加上Android开发人员十分活跃且富有分享精神,这才让网上关于Android的资料十分丰富,往往遇到一个问题都能从网上找到答案,这对于初学者特别是靠自学没有人带的情况下提供很多的

小猪的Android入门之路 Day 8 part 4

小猪的Android入门之路 Day 8 part 4 Android网络编程浅析--Android网络数据的上传 --转载请注明出处:coder-pig 本节引言: 在part 3中我们已经学习了Android网络数据的下载,难点是多线程断点续传下载; 有下载,当然也有上传啦,本节就来研究下Android中的网络数据的上传! 1.使用GET或者Post方式上传数据给服务器 2.使用开源框架HttpClient上传数据到服务区 3.发送xml数据给服务器 4.通过Http协议上传文件 5.Web

小猪的Android入门之路 Day 3 - part 1

小猪的Android入门之路 Day 2 各种UI组件的学习 Part 1 本节引言: 在上一节中,我们初次体验了Android开发的一个流程,开发了一个简单的电话拨号器; 然后又学习了android的六大布局,界面无非是由布局 + 控件构成;布局都学了,剩下的 当然是控件啦,不过Android 所提供的UI组件还是比较丰富的;我们不求掌握他们的全部 用法,只需要了解一些基本的用法,等需要时再查资料就可以了!当然,内容是以android UI 组件实例大全为依托的,因为内容较多,所以需要分成几个

Android入门:广播发送者与广播接收者

参考: Android入门:广播发送者与广播接收者 - xiazdong - CSDN博客http://blog.csdn.net/xiazdong/article/details/7768807 一.广播发送者&广播接收者介绍 1.广播接收者 广播接收者简单地说就是接收广播意图的Java类,此Java类继承BroadcastReceiver类,重写: public void onReceive(Context context,Intent intent),其中intent可以获得传递的数据:

linux.linuxidc.com - /2011年资料/Android入门教程/

本文转自 http://itindex.net/detail/15843-linux.linuxidc.com-%E8%B5%84%E6%96%99-android Shared by Yuan 用户名与密码都是www.linuxidc.com linux.linuxidc.com - /2011年资料/Android入门教程/ [转到父目录] 2011年7月16日 21:33 <目录> Android 3D 游戏开发教程 2011年8月18日 13:26 <目录> Android

小猪的Android入门之路 day 1

小猪的Android入门之路 Day 1 Android相关背景与开发环境的搭建 ------转载请注明出处:coder-pig 本节引言: 随着社会经济的发展,移动互联网的越来越热,手机APP开发显得格外火爆, 作为一名快要毕业的IT屌丝,自然要趟一趟这一浑水啦,当前主流的手机系统 IOS(苹果),Android(安卓),WinPhone(windows);WindPhone貌似没什么崛起的势头; 所以主流的就是前面的两个;作为一名屌丝学生狗,买不起Mac,仅仅有一台双核的破电脑; 仅仅能去搞