android学习笔记(1)
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)的更多相关文章
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
学习内容: 1.使用Volley实现异步加载Json数据... Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...
- Android学习笔记进阶之在图片上涂鸦(能清屏)
Android学习笔记进阶之在图片上涂鸦(能清屏) 2013-11-19 10:52 117人阅读 评论(0) 收藏 举报 HandWritingActivity.java package xiaos ...
- android学习笔记36——使用原始XML文件
XML文件 android中使用XML文件,需要开发者手动创建res/xml文件夹. 实例如下: book.xml==> <?xml version="1.0" enc ...
- Android学习笔记之JSON数据解析
转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...
- udacity android 学习笔记: lesson 4 part b
udacity android 学习笔记: lesson 4 part b 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...
- Android学习笔记36:使用SQLite方式存储数据
在Android中一共提供了5种数据存储方式,分别为: (1)Files:通过FileInputStream和FileOutputStream对文件进行操作.具体使用方法可以参阅博文<Andro ...
- Android学习笔记之Activity详解
1 理解Activity Activity就是一个包含应用程序界面的窗口,是Android四大组件之一.一个应用程序可以包含零个或多个Activity.一个Activity的生命周期是指从屏幕上显示那 ...
- Pro Android学习笔记 ActionBar(1):Home图标区
Pro Android学习笔记(四八):ActionBar(1):Home图标区 2013年03月10日 ⁄ 综合 ⁄ 共 3256字 ⁄ 字号 小 中 大 ⁄ 评论关闭 ActionBar在A ...
- 【转】Pro Android学习笔记(九八):BroadcastReceiver(2):接收器触发通知
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.sina.com.cn/flowingflying或作者@恺风Wei-傻瓜与非傻瓜 广播接 ...
- 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ...
随机推荐
- DESTOON做中英双语言(多语言)切换版本具体详解
第一次发原创好激动,该注意点什么? 在开发过程中用户有许多要求,比如这个多语言切换就是一个需求. 首先讲解一下DESTOON(DT)后台系统如何做这个中英.甚至多语言切换的这个功能. DT本身不自带多 ...
- 关于如何解决visualc++6.0打开文件闪退的一种方式(附带解决输入法无法显示)
这里我把VisualC++6.0安装程序和filetool分享在我的网盘里面了 网盘下载QAQ 链接:https://pan.baidu.com/s/1azSMX_cOKgb64WT7-gTdbQ?p ...
- vue中数字和字符串的转换问题(v-bind和v-model的使用)
可以看到上面自增加时,成了拼接字符串的效果. 打开vue工具查看: 此时n和sum都是数字,可以正常自增加,但是操作了section之后,n就变成了字符串: 此时再执行自增加,sum也会变成字符串形式 ...
- 搭建LNMP
搭建LNMP 准备(关闭防火墙,selinux) systemctl stop firewalld systemctl disable firewalld setenforce 0 安装依赖包( ...
- C++基础杂记(3)
类的继承 基类与派生类之间的构造行为 在派生类中使用基类方法 protected 的访问权限 多态公有继承 关键字 virtual 示例 抽象基类(ABC) 私有继承和保护继承 多重继承 类的继承 基 ...
- [Python急救站课程]同切圆的绘制
绘制同切圆 import turtle # 引用turtle 库 turtle.pensize(2) # 设置画笔宽度为2 像素 turtle.circle(10) # 绘制半径为10 像素的圆 tu ...
- 神经网络入门篇:详解向量化实现的解释(Justification for vectorized implementation)
向量化实现的解释 先对几个样本计算一下前向传播,看看有什么规律: 公式1.16: \(z^{[1](1)} = W^{[1]}x^{(1)} + b^{[1]}\) \(z^{[1](2)} = W^ ...
- (Good topic)字符串的最大公因子 (3.21leetcode每日打卡)
对于字符串 S 和 T,只有在 S = T + ... + T(T 与自身连接 1 次或多次)时,我们才认定 "T 能除尽 S". 返回最长字符串 X,要求满足 X 能除尽 s ...
- 算法训练 字符串的展开(isdigit与islower的发现)
在初赛普及组的"阅读程序写结果"的问题中,我们曾给出一个字符串展开的例子:如果在输入的字符串中,含有类似于"d-h"或者"4-8"的字串,我 ...
- 🔥🔥Java开发者的Python快速进修指南:网络编程及并发编程
今天我们将对网络编程和多线程技术进行讲解,这两者的原理大家都已经了解了,因此我们主要关注的是它们的写法区别.虽然这些区别并不是非常明显,但我们之所以将网络编程和多线程一起讲解,是因为在学习Java的s ...