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. Solution -「SCOI 2016」萌萌哒

    Description Link. 给定一个长度为 \(n\) 的数组让你填数,需要满足 \(m\) 个形如 \(([l_{1},r_{1}],[l_{2},r_{2}])\) 的要求,这两个区间填好 ...

  2. Solution -「洛谷 P5048」「YunoOI 2019 模拟赛」Yuno loves sqrt technology III

    Description Link. 区间众数出现次数强制在线. Solution 三个 YLST 中比较清新的一个分块. 比较重点的地方在于询问散块的处理. 先离散化一下序列. 我们首先预处理出来一个 ...

  3. ESS、RSS、TSS

    回归平方和 ESS,残差平方和 RSS,总体平方和 TSS 残差平方和越小,自变量与因变量之间的相关性越好 总变差(TSS):被解释变量Y的观测值与其平均值的离差平方和(总平方和)(说明 Y 的总变动 ...

  4. Script:10g中显示Active Session Count by Wait Class

    摘自: http://www.askmaclean.com/archives/script-10g-show-active-session-count-wait-class.html SELECT T ...

  5. CF339D

    题目简化与分析: 题目翻译说的还是太复杂了,其实只是给你 $ n $ 个数,奇数位 \(\operatorname{or}\),偶数位 \(\operatorname{xor}\). 会修改某个元素 ...

  6. 详解.NET依赖注入中对象的创建与“销毁”

    在DI容器中注册类型,DI容器就可以帮我们创建类型的实例:如果注册类型实现了IAsyncDisposable或者IDisposable接口,对象销毁时DI容器还会帮我们调用DisposeAsync或D ...

  7. Python - 字典3

    修改字典项 您可以通过引用其键名来更改特定项的值: 示例,将 "year" 更改为 2018: thisdict = { "brand": "Ford ...

  8. javascript 如何开启调试功能

    目录 javascript 如何开启调试功能 方式一: 打开浏览器,点击源码,直接点击一个,就加上断点了 (基于浏览器) 方式二: 打开代码,在 js 中加入 debugger 关键字,就加上断点了( ...

  9. Godot引擎的一些踩坑记录(不断更新中)

    版本号 Godot 3.1.2 文件夹名称使用小写.编译\导出时有的tscn文件的引用路径, 有可能会变成小写路径(怀疑是bug),导致启动失败. ttc字体(文泉驿微米黑)导出时需要手动设置包含*. ...

  10. YbtOJ 「动态规划」第5章 状压DP

    犹豫了许久还是决定试试始终学不会的状压 dp.(上一次学这东西可能还是两年前的网课,显然当时在摸鱼一句都没听/kk 果然还是太菜. 例题1.种植方案 设 \(f_{i,j}\) 表示第 \(i\) 行 ...