一、Android 架构

(此图从菜鸟扒来)

(1)应用程序层

短信、浏览器这些就是属于这一层。

(2)应用程序框架层

应用程序框架层主要提供了构建应用程序时用到的各种API。

(3)核心类库

包含系统库和Android运行时库, libc 库,用于仓库存储和应用数据共享的 SQLite 数据库,用于播放、录制音视频的库,用于网络安全的 SSL 库等。

(4)Linux 核心层

Linux内核层为设备的各种硬件提供了底层的驱动,如网络和大量的设备驱动,避免了兼容大量外围硬件接口所带来的不便。它也提供了基本的系统功能,比如进程管理,内存管理,设备管理(如摄像头,键盘,显示器)。

二 、Dalvik 虚拟机

Android 应用程序的主要开发语言是Java,因此就需要Dalvik虚拟机来运行Java程序。它的指令集基于寄存器架构,通过执行其特有的dex文件来实现对象生命周期管理、堆栈管理、线程管理、安全异常管理、垃圾回收等功能。

三、Java 编写布局

        //new一个RelativeLayout对象、LayoutParams对象RelativeLayout relativeLayout = new RelativeLayout(this);RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);//addRule参数对应RelativeLayout的XML布局属性,CENTER_IN_PARENT居中显示params.addRule(RelativeLayout.CENTER_IN_PARENT);//new一个TextView对象TextView textView = new TextView(this);textView.setText("helloworld app");textView.setTextColor(Color.RED);textView.setTextSize(18);//添加TextView对象和TextView的布局属性,addView()将两个对象添加到RelativeLayout中relativeLayout.addView(textView,params);//通过setContentView()将relativeLayout添加到Activity界面中setContentView(relativeLayout);

Android入门(一)——结构相关推荐

  1. Android入门(十二)SQLite事务、升级数据库

    原文链接:http://www.orlion.ga/610/ 一.事务 SQLite支持事务,看一下Android如何使用事务:比如 Book表中的数据都已经很老了,现在准备全部废弃掉替换成新数据,可 ...

  2. 小猪的Android入门之路 day 1

    小猪的Android入门之路 Day 1 Android相关背景与开发环境的搭建 ------转载请注明出处:coder-pig 本节引言: 随着社会经济的发展,移动互联网的越来越热,手机APP开发显 ...

  3. Android入门教程:ConstraintLayout约束布局

    原文首发自掘金芦苇APP团队,转载到自己小号上再发一遍~ 翻译By Leelion6.关于 ConstraintLayout 的文章其实已经不少了,不过看到这篇文章写的很有趣,以及在翻译的过程中,感受 ...

  4. Android入门教程(八)

    关注我,每天都有优质技术文章推送,工作,学习累了的时候放松一下自己.  本篇文章同步微信公众号  欢迎大家关注我的微信公众号:「醉翁猫咪」 今天讲讲安卓入门(八),讲讲Android的简介,如何搭建A ...

  5. Android入门之简易计算器(一)

    Android Android入门之简易计算器(一) 文章目录 Android Android入门之简易计算器(一) @[TOC](文章目录) 前言 一.项目结构 二.界面显示 三.前端界面 1.界面 ...

  6. 小猪的Android入门之路 Day 8 part 3

    小猪的Android入门之路 Day 8 part 3 Android网络编程浅析--Android网络数据的下载 --转载请注明出处:coder-pig 本节引言: 我们的应用很多时候都会涉及到网络 ...

  7. Android入门文档

    该文章为网络材料整理,部分内容经过重新编写. 一. 名词介绍 JDK:Java Development Kit Java 语言的软件开发工具包 JRE:Java Runtime Environment ...

  8. 【Android开发】Android入门安装与使用教程——以Android Studio3.6.1为例

    [Android开发]Android入门教程--以Android Studio3.6.1为例 1.为什么要学习Android 2.学习资源 3.安装Android Studio 3.1 下载安装包 3 ...

  9. Android入门教程(二)

    Hello World 项目 首先当我们启动Android Studio的虚拟机时,可以看到第一个项目Hello World,那么虚拟机中的Hello World!是如何书写的呢? 看看虚拟机运行结果 ...

  10. android 入门 006(sqlite增删改查)

    android 入门 006(sqlite增删改查) package cn.rfvip.feb_14_2_sqlite;import android.content.Context; import a ...

最新文章

  1. Spock是什么?它和JUnit,JMock有什么区别?
  2. Oracle 表空间 创建参数 说明
  3. 为何艾伦·图灵想让AI智能体故意犯错
  4. 19.Qt中Thread线程中创建QTcpSocket
  5. Redmi K30 Pro渲染图曝光:升降式前置双摄相机模组亮眼
  6. Understanding ES6 -- 深入理解ES6书籍
  7. php滑动轮播效果,js实现移动端手指滑动轮播图效果
  8. iOS UI-团购案例(通过xib文件自定义UITableViewCell)
  9. 总结(6)--- python基础知识点小结(细全)
  10. 即时通讯源码|IM即时通讯源码开源
  11. 小网站静态资源CDN加速实践记录
  12. Android TimePicker
  13. Spring依赖注入和简单demo
  14. jquery常用方法之siblings方法
  15. 基于VHDL的毛刺信号消除
  16. python基础 列表
  17. 第3章 感受(一)——3.12. Hello STL 向量篇
  18. 永久存储:腌制一缸美味的泡菜+习题复习
  19. 什么是物联网,与传感网之间,有什么区别
  20. 中国股民心理一——情绪决定输赢?性格影响财富?热衷追涨杀跌?

热门文章

  1. EMACs之verilog-mode使用教程
  2. 新品上市调查方案-调查目标及内容
  3. 计算机里如何找ppt文件,PPT文件在电脑上误删怎么恢复?简单方法,值得尝试
  4. JS替换字符串的某些字符串
  5. 【ES6系列】Reflect
  6. @Autowired 注入三种方式
  7. ls 命令 查看当前目录/文件名称
  8. Linux常用指令(超详细整理)
  9. candence17.4PCb热风焊盘设置两种方式
  10. 命令:xcrun、xcodebuild