Android 开发框架

  android系统是一个开放且体积庞大的系统,从功能上,将android开发分为移植开发移动电话系统,android应用开发和android系统开发三种。

移动移植移动电话系统主要是由移动电话制造者进行开发,其产品就是android手机。公司,个人和团体一般进行android应用程序开发,就是制作各种android应用。android移植开发,主要集中在对于Linux内核中的相关设备驱动程序以及android本地框架中的硬件抽象层借口的开发。

应用程序方面:一般而言,一个标准的android应用程序包括Activity、Broadcast Intent Receiver 、Service、Content Provider四个部分。

  Activity

  Activity是在android应用开发中最频繁、最基本的模块。在Android中,Activity类主要与界面资源文件相关联,包含控件的显示设计、界面交互设计、事件相应设计以及数据处理设计、导航设计等。对于一个Activity来说,它是手机上一个界面,而每个Activity运行结束时,都会返回一个值。Android系统会记录从首页到其他页面所有跳转记录,并且自动将以前的Activity压入系统堆栈,用户可以通过编程的方式删除历史堆栈中的Activity Instance。

  Broadcast Intent Receiver

  Broadcast Intent Receiver为不同的Android应用程序之间进行通信提供了可能。对于用户而言,是看不到通过Broadcast Intent Receiver事件的。Broadcast Intent Receiver通过Notification Manager 来通知用户事件的发生。它可以从资源AndroidManifest.xml中注册,也可以从代码中通过Context.registerReceiver()进行注册。

  Service

  Service 和Windows中的Service是一个概念,可以通过StartService(Intent Service)来启动一个Service。

  Content Provider

  Content Provider提供了应用程序之间数据交换的机制。一个应用程序通过实现一个Content Provider的抽象接口将自己的数据暴露出去,并且隐藏了具体的数据存储方式。这样实现了Android应用程序内部数据的保密性。

  Android的应用目录

  src目录:该目录存放Android应用程序所有的程序源代码。该目录中有不同的包,开发者在各个包中放相应的源码

  gen目录:该目录放了eclipse的ADT插件自动生成的R.java文件。R.java定义了一个R类,其中包括了应用中用户界面、图像、字符串等各种资源以及与资源相对应的编号。R.java是自动生成的只读文件。不可更改。其实,就是一个对各种资源的一个索引文件。

  assert目录:该目录下存放应用程序用到的多有资源,与res目录类似,但有很大区别。asserts文件下存放不进行编译加工的原生文件。该目录下的文件不会像xml、java文件被预编译,可以存放一些图片、HTML等文件,一般很少用。

  drawable目录:该目录是存放应用程序使用到的不同分辨率的图片资源,用于在不同分辨率的手机下进行应用程序开发。

  layout目录:该目录下包含了所有使用xml格式的界面描述文件。主要用于表述应用程序的用户界面布局,也用于描述用户界面和接口组件。

  values目录:该目录下为使用xml格式的参数描述文件,比如string color、style等主要用于代买中通过R类来调用,不可以直接使用

利用Intent实现多个Activity之间切换

   在MainActivity.java中

Intent intent = new Intent(MainActivity.this,OneActivity.class);
startActivity(intent); //或者
Intent intent = new Intent();
intent.setClass(MainActivity.this,OneActivity.class);
startActivity(intent);

  在OneActivity.java中

1 public class OneActivity extends Activity {
2 @Override
3 protected void onCreate(Bundle savedInstanceState) {
4 // TODO Auto-generated method stub
5 super.onCreate(savedInstanceState);
6 setContentView(R.layout.layout_one);
7 }

  通过定义一个Intent 将两个界面绑在一起。启动一个新界面的时候,只要调用startActivity(Intent)就可以了。

android学习笔记(1)的更多相关文章

  1. Android 学习笔记之Volley(七)实现Json数据加载和解析...

    学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...

  2. Android学习笔记进阶之在图片上涂鸦(能清屏)

    Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...

  3. android学习笔记36——使用原始XML文件

    XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...

  4. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  5. udacity android 学习笔记: lesson 4 part b

    udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...

  6. Android学习笔记36:使用SQLite方式存储数据

    在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...

  7. Android学习笔记之Activity详解

    1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那 ...

  8. Pro Android学习笔记 ActionBar(1):Home图标区

     Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...

  9. 【转】Pro Android学习笔记(九八):BroadcastReceiver(2):接收器触发通知

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.sina.com.cn/flowingflying或作者@恺风Wei-傻瓜与非傻瓜 广播接 ...

  10. 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ...

随机推荐

  1. Pisces.IM.Mood 前言

    关于 Pisces.IM.Mood Mood Pisces.IM.Mood 一款基于TCP协议的即时通讯开源系统 多个客户端目前支持以下功能: 支持文字,图片,文件,emoji表情的发送 文件限制为5 ...

  2. Springboot 实现QQ登录(界面跳转)

    Springboot 实现QQ登录(界面跳转) 现在第三方登录已经变成主流app的登录方式了 今天记录一下如何给自己的网站实现第三方登录(这里以QQ登录为例) 准备工作 首先确保你准备好你自己网站的域 ...

  3. Django框架项目之搜索功能——搜索导航栏、搜索后台接口、搜索页面

    文章目录 1-搜索导航栏 Header搜索组件:选择性CV router/index.js Header.vue 2-搜索后台接口 路由:course/urls.py 视图:course/views. ...

  4. 文心一言 VS 讯飞星火 VS chatgpt (110)-- 算法导论10.2 1题

    一.用go语言,单链表上的动态集合操作 INSERT 能否在 O(1)时间内实现?DELETE 操作呢? 文心一言: 在单链表中,INSERT 和 DELETE 操作的时间复杂度通常是 O(n),其中 ...

  5. 从零用VitePress搭建博客教程(4) – 如何自定义首页布局和主题样式修改?

    接上一节:从零用VitePress搭建博客教程(3) - VitePress页脚.标题logo.最后更新时间等相关细节配置 六.首页样式修改 有时候觉得自带的样式不好看,想自定义,首先我们在docs/ ...

  6. Vue之交互

    1.get() <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  7. [Python] 利用python的第三方库xlrd和xlwt来处理excel数据

    今天在处理excel表格的时候,有一个需要提取表格中部分数据的操作.如果人工操作的话,有将近几千行,这样重复操作劳民伤财. 所以python就派上用场了. 简单介绍一下我要处理的问题,在excel一列 ...

  8. P4022 [CTSC2012]熟悉的文章 题解

    题目链接 简要题意 给定 \(m\) 个模板串和 \(n\) 个匹配串,如果一个字符串是一个模板串的子串且长度不小于 \(L\) 则称其为"熟悉的",对于每个匹配串,求一个最大的 ...

  9. HashMap源码详解

    HashMap简介 HashMap是Java语言中的一种集合类,它实现了Map接口,用于存储Key-Value对.它基于哈希表数据结构,通过计算Key的哈希值来快速定位Value的位置,从而实现高效的 ...

  10. sizeof结构体数组指针和sizeof数组指针的区别

    请思考一下 以下代码输出的 sizeof 分别是多少? #include <stdio.h> typedef struct { char name[100]; unsigned char ...