#Android应用程序架构


Android程序的入口被称为Main Activity,带有界面的Android应用程序一般需要从Main Activity启动。


目录结构

Adnroid工程主要包括两个区域:源码区和资源区。

Mainifest.xml

下面是一个标准的AndroidManifest.xml文件样例。

<?xml version="1.0" encoding="utf-8"?><manifest><!-- 基本配置 --><uses-permission /><permission /><permission-tree /><permission-group /><instrumentation /><uses-sdk /><uses-configuration /><uses-feature /><supports-screens /><compatible-screens /><supports-gl-texture /><!-- 应用配置 --><application><!-- Activity 配置 --><activity><intent-filter><action /><category /><data /></intent-filter><meta-data /></activity><activity-alias><intent-filter> . . . </intent-filter><meta-data /></activity-alias><!-- Service 配置 --><service><intent-filter> . . . </intent-filter><meta-data/></service><!-- Receiver 配置 --><receiver><intent-filter> . . . </intent-filter><meta-data /></receiver><!-- Provider 配置 --><provider><grant-uri-permission /><meta-data /></provider><!-- 所需类库配置 --><uses-library /></application></manifest>

Android应用程序中的资源


Android应用程序组件


应用程序组件是一个Android应用程序的基本构建块。这些组件由应用清单文件松耦合的组织。AndroidManifest.xml描述了应用程序的每个组件,以及他们如何交互。
以下是可以在Android应用程序中使用的四个主要组件。


Activity

Activity是Android的核心类,全名:android.app.Activity

在Activity中有一个onCreate()方法,对Activity进行初始化,通过setContentView方法将View放到Activity上,绑定后,Activity会显示View上的控件。


Service

Service没有可视化接口,但可以在后台运行。

服务类必须从android.app.Service继承。


BroadCast Receiver

广播接收器组件唯一的功能就是接收广播动作,以及对广播动作做出相应。
一个程序可以有很多个BroadCast Receiver,所有的广播接收类都必须继承android.content.BroadcastReceiver类。

广播接收器和服务一样没有用户接口,但在广播接收器中可以启动一个Activity来响应广播动作,比如通过一个Activity对用户进行提醒。


Content Provider

内容提供者可以为其他应用程序提供数据。

每一个内容提供者是一个类,这些类都需要从android.content.ContentProvider类继承。

在ContentProvider类中定义了一系列的方法,通过这些方法可以使其他应用程序获得内容提供者提供的数据,但是在应用程序中不能直接调用这些方法,而是需要通过android.content.ContentResolver类的方法来调用内容提供者类中提供的方法。


Android程序的UI设计


手工配置xml

ADT自带的可视化UI设计器

使用DroidDraw设计UI布局

Android程序设计基础相关推荐

  1. Android程序设计基础-设计布局之伪今日头条主界面

    一. 实验目的 (1) 掌握Andriod Studio的基本使用方法: (2) 掌握Andriod Studio中常用的控件及其使用方法: 二.实验内容 (1)使用Android Studio编写任 ...

  2. Android修行之路——Android程序设计基础(三)

    2012-03-23 4. Service Service即"服务"的意思,是一个生命周期长且没有用户界面的程序. 通过service来播放音乐,创建一个类,继承service,通 ...

  3. 移动应用程序设计基础——数据库实践——简单日记本

    <移动应用程序设计基础>实验5 数据库实践--简单日记本 实验名称: 实验5 数据库实践--简单日记本 所使用的工具软件及环境: JDK1.8,Android Studio 一.实验目的: ...

  4. 移动应用程序设计基础——期末考核——登录界面与简单日记本的综合实践

    <移动应用程序设计基础>期末报告 课题名称: <移动应用开发基础>上机考核 所使用的工具软件及环境: JDK,Android Studio 一.课题背景 期末上机考核,将实验四 ...

  5. 移动应用程序设计基础——安卓动画与视音频播放器的实现

    <移动应用程序设计基础>实验6 安卓动画与视音频播放器的实现 实验名称: 实验6 安卓动画与视音频播放器的实现 所使用的工具软件及环境: JDK1.8,Android Studio 一.实 ...

  6. 拼图android程序,可视化开发Android应用程序:拼图开发模式App Inventor

    可视化开发Android应用程序:拼图开发模式App Inventor 作 者:王向辉 等编著 出版时间:2013 内容简介 <可视化开发Android应用程序:拼图开发模式App Invent ...

  7. 程序设计基础学习总结

    <程序设计基础>学习总结 信管1223 邝逸男 梳理总结学习过的知识点 本学期程序设计基础主要学习了数据类型.程序结构.数组应用.类和方法等 1.1数据类型 初步掌握了String , i ...

  8. 移动应用程序设计基础——点菜单列表实现

    <移动应用程序设计基础>实验三点菜单列表实现 实验名称: 点菜单列表实现 所使用的工具软件及环境: JDK1.8,Android Studio 一.实验目的: 进一步理解Android各种 ...

  9. 移动应用程序设计基础——点菜单列表实现2.0(实现短信接受以及服务与广播的使用)

    <移动应用程序设计基础>实验四 Android基本组件交互 实验名称: 点菜单列表实现 所使用的工具软件及环境: JDK1.8,Android Studio 一.实验目的: [实验目的] ...

最新文章

  1. linux socket 清空缓存区
  2. oracelp---随意 记录(nvl)
  3. 一颗椰子糖机器人_孩子编程启蒙机器人玩了不下10个,最推荐哪个呢?
  4. 《Head First Servlets JSP(中文版)》书摘
  5. perl中的map和grep
  6. android 启动服务同时传递数据,Android Studio开发基础之起动Service,并通过从Activity向Service传递数据...
  7. python-matplotlib学习(1)
  8. 聊聊 Spring Boot 2.x 那些事儿
  9. Leecode刷题热题HOT100(6)——Z 字形变换
  10. python语言程序设计实践教程实验八答案_Python语言程序设计.doc
  11. matlab如何调用swmm,一套基于SWMM开放的城市管网系统控制设计
  12. 测试过程中如何解决测试账号问题
  13. Since Due to Because of Because 的用法和区别
  14. 深度学习基础 - 概率的三个公理
  15. 无语的index hint:手工分配哈希区,5小时不出结果,优化后20分钟
  16. sql注入危害利用及防护详解+sqlmap使用
  17. 无线网460王者荣耀服务器,王者荣耀:如何解决大批玩家网络460?骨灰级玩家给出了最终方案...
  18. php imagejpeg函数,php imagepng()函数有什么用?
  19. c语言自定义的xml解析库,轻量级C语言实现的xml解析库minixml
  20. Saber吃苹果,保持每箱苹果数量递增

热门文章

  1. logstic 回归文章链接
  2. python 在Windows 下切换工作目录
  3. java数据库驱动_Java数据库驱动链接大全
  4. 82. Leetcode 23. 合并K个升序链表 (排序)
  5. Leetcode - 169. Majority Element (多数投票问题)
  6. python笔记:深拷贝与浅拷贝
  7. 数据分析第一步--数据采集怎么进行埋点?
  8. 随机样本选择——快速求解机器学习中的优化问题
  9. 多变量线性回归 原理
  10. c语言 二级菜单_收下计算机二级秘笈,考场上说好不哭!