Content

    • Android 概述
    • 创建Android项目

  • 老师文档里的问题

Android 概述

为什么要了解Android的版本发展?

  • 写出的App如果用到了较新版本的API,那么在运行早期版本的硬件设备上就无法运行
    需要考虑写出的App将来会运行在哪些版本的平台上,需要了解版本发展

Android 的内核是什么,droid是什么?

  • Android 平台的基础是 Linux 内核
  • droid 的英文解释:机器人,网络收集器

Android 系统的五层都是什么?分别是什么功能?

  • ① System Apps--------------------------------------------(系统应用)
    ② Java API FrameWork ---------------------------------(Java API 框架)
    ③Native C/C++ Libraries、Android Runtime ------(C/C++原生库、ART)
    ④Hardware Abstraction Layer -------------------------(HAL 硬件抽象层)
    ⑤Linux Kernel----------------------------------------------(Linux 内核)
  • 详见:此中的Android概述.

Dalvik虚拟机和Java虚拟机是一回事吗?是不是凡 java 程序也都可以运行在Dalvik上,或者反之?

  • 不是一回事
    Dalvik虚拟机并不是按照Java虚拟机的规范来实现的,两者并不兼容.
  • Java虚拟机运行的是Java字节码,而Dalvik虚拟机运行的则是其专有的文件格式DEX

最终能够发行的Android应用是什么文件?

  • APK文件,Android 软件包
    一个 APK 文件包含一个 Android 应用的所有内容,
    它是 基于 Android 系统的设备 用来安装应用的文件

Android应用的运行方式是什么?

  • 每个应用都运行在其自己的安全沙箱内
    每个进程都具有自己的虚拟机 (VM),因此应用代码是在与其他应用隔离的环境中运行
    默认情况下,每个应用都在其自己的 Linux 进程内运行

什么是组件?Android中有几种组件?都是哪些?功能是什么?

  • 应用组件是 Android 应用的基本构建基块
  • Activity、服务、内容提供程序、广播接收器
  • Activity,表示具有用户界面的单一屏幕
    服务,用于执行长时间运行的操作或为远程进程执行作业,在后台运行
    内容提供程序,管理一组共享的应用数据
    广播接收器,用于响应系统范围广播通知
    详见:此中的Android概述.

组件是如何启动的?

  • 向系统传递一则消息,说明想启动特定组件的 Intent,系统随后便会启动该组件
    内容提供程序不能用 Intent 启动,它会在成为 ContentResolver 的请求目标时启动

什么是清单文件?它主要有什么功能?

  • AndroidManifest.xml 文件,包含一个应用的所有组件的声明
  • 确认组件存在
    只有在清单中声明的组件,系统才能看到

什么是应用资源?如何区分不同的资源?

  • 应用资源是与源代码分离的,所有的与视觉呈现有关的内容
  • 通过资源 ID
    对于 Android 项目中包括的每一项资源,SDK 构建工具都会定义一个唯一的整型 ID

开发Android应用的工作流是怎样的?

  • Setup — Write — Build & Run — Iterate — Publish

创建Android工程有几种方式?

  • 两种,Start New 和 New Project

目前占有率比较高的Android版本是哪些,为什么要考虑占有率?

  • Android 4.4 以上
  • 提高App给予的用户使用体验
    为了项目设计时能够更精准的抓住用户群体 (改)

为什么要考虑设备屏幕的大小及像素密度?

  • 要针对不同的屏幕显示,
    为了充分适配屏幕,让用户使用起来感觉更精致
    链接:关于屏幕的几个指标.
  • android的硬件平台的差异太大,要考虑程序在不同硬件平台上的表现的一致性 (改)

创建Android项目

创建 android 工程的时候,Application name是什么?

  • 应用程序的名字

创建 android 工程的时候,Company Domain是什么?

  • 公司域名

Package是什么?

  • 包名,自动生成,公司域名的倒写 + 应用程序名

在创建Android工程的时候,Minimum SDK是什么意思?它同虚拟机的 android 版本之间什么关系?

  • 最小 sdk,即最低要求的Android版本
    低于此版本则不兼容,因为用了低版本所不具有的API
  • SDK版本与API级别一一对应,API级别与Android版本一一对应

AndroidManifest.xml文件起什么作用?

  • 即清单文件,是整个项目的配置文件,用于声明应用组件 (注册)
    指定程序所需要的系统权限等 (改)

主程序的代码在哪里?

  • Android 视图:app 中的 Java ,包中的 MainActivity
  • Project 视图:app 中的 src,其中的 main 里的 Java,包中的 MainActivity

Android程序从哪里开始执行?

  • 一般是在第一个Activity中的 onCreate() 方法
    若在清单文件的 application 中设置了android:name=".MyApplication",
    那么程序入口就成了MyApplication的onCreate()方法.

布局文件在哪里,干嘛用的?该文件是什么类型的文件?

  • 在 res 的 layout 中,用来观察设计图形界面 (定义UI中各构件的排列及表现)
  • 后缀为 .xml
    可扩展标记语言 (eXtensible Markup Language)

代码格式化是什么意思?是什么快捷键?

  • 将代码按照标准格式重新排列
  • Ctrl + Alt + L

app 的启动图标在哪里放着?为什么有多个?

  • 在 res 的 mipmap 中
  • 不同的像素密度,Android赋予了不同的倍率.
    为适应不同的硬件 (分辨率不同 改)

values 文件夹中放着什么东西?

  • 要使用的数据,字符串等
    要考虑兼容不同语言等

观察Android工程有哪些角度?如何切换?

  • Android 角度、Project 角度、Package 角度等 (视图)
  • 点击左上角的观察角度,有下拉菜单

R类是什么类,有几种?它有什么用?从哪里找到它?其中的内容我们可以自主修改吗?

  • 系统自动生成的类,是一种资源类.
    一种是 Android 项目中的,另一种是 Module 中的.
    R文件里面定义了R类,R类又包含了好几个内部类:drawable, layout, id等等,每个内部类中定义了一系列常量,每个常量标识一个资源:布局、字符串、图片等.
    一个是android自身的R类,另一个是同你的项目密切相关的R类 (改)
  • 可用来调用资源,通过资源 IDR.目录.文件名 (R 类的很多内嵌类中定义的很多常量)
  • Project 角度,在 app 的 build 中的 generated 的 source 里 r 的 debug 中。。。
    我没有找到 r ,source 里只有一个 buildConfig,Rebuild Project时也没报错…暂不知为何
  • 不能自主修改,都是自动生成的

在运行Android程序的时候,如何选择运行设备?

  • 在 Toolbar 工具栏中,下拉列表选择

End.

更多相关文章

  1. Android中主题与样式
  2. Android(安卓)的网络编程
  3. 【苦读官方文档】2.Android应用程序基本原理概述
  4. Android系统简介
  5. Android(安卓)应用程序界面设计建议
  6. Android近期学习总结——开发准备
  7. Android(安卓)Makefile分析
  8. Android(安卓)的网络编程
  9. Mac下配置Android(安卓)NDK环境并搭建Cocos2d-x环境并Eclipse正

随机推荐

  1. Android 引入广播机制的用意
  2. android文件下载与保存
  3. 解决FLIR One Android Demo项目加载问题
  4. Android 接入protobuf-java库(非nano和lit
  5. 部署android sdk demo ---Apidemo
  6. Android Chronometer Format问题
  7. Android简单计时器详解(Timer)
  8. Android 无法解决的几处硬伤
  9. Android 还可以走多久?
  10. 初识App Inventor 2(AI2)