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. TCP协议的秘密武器:流量控制与拥塞控制

    TCP可靠性传输 相信大家都熟知TCP协议作为一种可靠传输协议,但它是如何确保传输的可靠性呢? 要实现可靠性传输,需要考虑许多因素,比如数据的损坏.丢失.重复以及分片顺序混乱等问题.如果不能解决这些问 ...

  2. Arduino Uno Rev3

    Overview Arduino Uno is a microcontroller board based on the ATmega328P (datasheet). It has 14 digit ...

  3. Kbaor_2023_9_28_Java第一次实战项目_ELM_V1_食品的实体类、工具类与实现类

    Kbaor_2023_9_28_Java第一次实战项目_ELM_V1_食品的实体类.工具类与实现类 ELM_V1_食品的实体类 package elm_V1; /** * [食品实体类] * * @a ...

  4. gson如何序列化子类

    需求 目前有一个需求,不同对象有一些公共属性,分别也有一些不同的属性.对方传过来的json字符串中,把这些对象组成了一个数组返回过来的.这样该如何反序列化呢? 举例 定义Person类.Student ...

  5. SpringBoot自动配置原理解析

    1: 什么是SpringBoot自动配置 首先介绍一下什么是SpringBoot,SpringBoost是基于Spring框架开发出来的功能更强大的Java程序开发框架,其最主要的特点是:能使程序开发 ...

  6. fread实现getchar(加速!!!)

    fread实现的getchar代码: inline char get() { static char buf[100000], *p1 = buf, *p2 = buf; return p1 == p ...

  7. 洛谷P1990

    这是一道dp的题,好像也不算dp.需要递推,感觉能训练思维!!!很棒的一道题. 覆盖墙壁 关于这道题的分析 状态表示:f[i][0]表示前i列全部填满的所有方案,f[i][1]表示前i列全部填满缺一个 ...

  8. QAction常用接口总结

    目录 public (一)构造函数 (二)setShortcut (三)setStatusTip Signals (一)trigger() public (一)构造函数 1.QAction(const ...

  9. mybtis-plus 出现 Wrong namespace

    今天进行项目整合,刚开始代码搬的还挺快乐的,但是到后面调试起来,头晕眼花的.记录一个基本的错误. Cause: org.apache.ibatis.builder.BuilderException:  ...

  10. 关于XML的总结——Schema和DTD(转)

    XML DTD(XML的文档类型定义)是近几年来XML技术领域所使用的最广泛的一种模式.但是,由于XML DTD并不能完全满足XML自动化处理的要求,例如不能很好实现应用程序不同模块间的相互协调,缺乏 ...