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 ...
随机推荐
- 使用Debian 11基础镜像制作java8镜像
下面是dockerfile内容: FROM debian:bullseye # 切换apt源为清华源,并安装vim ping telnet命令 RUN apt-get update && ...
- QQ机器人整理合集
QQ机器人有什么用呢? QQ机器人可以实现包括自动回复.定时推送.发送图片QQ机器人,营销圈用的比较多,可以开发各种自动功能等等.用其制作的QQ机器人程序 机器人框架+插件 小栗子机器人 官网:htt ...
- 调节LED的亮度
虽然Devices Plus已经介绍过Arduino的多种应用和作品示例,但是了解相关基础知识对于任何项目的构建仍然是非常重要的!这次,我们将为您介绍Arduino电子制作的基础知识.此次的分享嘉宾是 ...
- 代码的艺术-Writing Code Like a Pianist
前言 如何评定一个系统的质量?什么样的系统或者软件可以称之为高质量?可以从三个角度来看,一是架构设计,例如技术选型.分布式系统中的数据一致性考虑等,二是项目管理,无论是敏捷开发还是瀑布式开发,都应当对 ...
- 一个Node.js的小爬虫
爬虫其实就是对网页内特定id.class.标签内容的提取,多是循环出来的,对我们爬取非常便利. 1.安装node node官网下载安装包安装,后在命令行工具中输入node -v查看node安装的版本. ...
- Qt OpenGL textures详解
1. 初始化opengl资源 Q_INIT_RESOURCE:textures(资源名称) QSurfaceFormat:定义3d面显示方式 如果在vs+qt vs tools 中无法正常显示3d图形 ...
- Python 环境迁移
平时用python环境会装一堆依赖,也包括自己的模块,要迁移到陌生环境,得好好处理才行. 下面介绍个方法,实践过还可以: 总结下步骤: miniconda或conda安装一个python环境,pyth ...
- 关于IP我们需要知道的
IP 在这个数字世界中,互联网已成为我们生活的一部分.而在互联网的背后,网络知识如同一张巨大的蜘蛛网,将我们与世界各地的信息紧密联系在一起.其中,IP这个看似平凡的名词,却是支撑这个虚拟世界的重要基石 ...
- Stride游戏引擎试毒
想找别的引擎用, 主要还是因为unity和国内盗版用户的互相伤害, 就算用免费的个人版也要不停的验证. stride引擎, 原名xenko, 再原名paradox... 一开始是日本厂商开发的引擎, ...
- 让物体动起来,Unity的几种移动方式
一.前言 在大部分的Unity游戏开发中,移动是极其重要的一部分,移动的手感决定着游戏的成败,一个优秀的移动手感无疑可以给游戏带来非常舒服的体验.而Unity中有多种移动方法,使用Transform, ...