【Android】Activity+Intent+drawable

在Android软件环境中,应用程序是由一组Activities 组成的,而每一个Activity 不但是本应用的组成部分,而且也对外开放,可以向同一系统内任何一个外部应用提供服务。一个Android应用程序是由四种不同的组件(Activities,Services,Broadcast  receivers,Content  providers)组成的;在Android应用程序的内部,通过在AndroidManifest.xml文件中Components的<intent-filter>元素来说明Components可以处理什么样的Intents,所有应用程序都是Components组成的,

Android 调用activity 所提供的接口(服务),并不是直接调用,而是借助一个叫做Intent 的机制实现的。所谓intent 就是对于服务的调用请求。每一个activity 都可以对外提供一系列的服务,这些服务以Intent-filter 的形式对外公开,并提交给系统进行注册。Activity 本身既是提供服务的组件,也可以是组件的客户。

intent-filter是一个activity 的能力列表。例如,一个用于编辑短信正文的文本编辑器activity 应通过AndroidManifest.xml文件中的<intent-filter>元素向系统注册,表明activity具有EDIT 和VIEW文本数据的能力,如果有另一个客户要求EDIT和VIEW一段文本数据,则系统可以调用本activity 予以满足。一个备忘录应用中,应用启动时可以显示一个现有备忘录的列表,这是由一个activity 实现的。当用户选择编辑或新建一个备忘时,这个activity 需要一个文本编辑器activity 来完成这项工作,它只需要以intent 的方式告诉系统说:“我需要一个具有编辑文本能力的activity 来帮我编辑一个备忘信息”,系统会自动寻找在<intent-filter>中声称具有该项能力的activity,然后激活这个activity,用来满足这个intent。

activity相当于控制部分,view相当于显示部分。两者之间是多对多的关系,所有东西必须用view来显示。Activity中加载相应的view才能显示出画面来,view是具体的画面布局(layout),由wegit控件组成。

如何获取 android.content.res package 中的资源

Resource类为每种资源提供了相应的接口来获取这种资源

Resources r = this.getContext().getResources();

getXXXX()

例如:

int getColor(int id)

Drawable getDrawable(int id)

String getString(int id)

直接获取res中存放的资源

InputStream openRawResource(int id)

获取资源的数据流,读取资源数据

void parseBundleExtras(
XmlResourceParser parser, Bundle outBundle)
从XML文件中获取数据

如何获取资源中的画图对象android.graphics.drawable

A Drawable is a general abstraction for “something that can be drawn.” A Drawable that wraps a bitmap and can be tiled, stretched, or aligned. You can create a BitmapDrawable from a file path, an input stream, through XML inflation, or from a Bitmap object. It can be defined in an XML file with the <bitmap> element.

  • Paint

数据包package:android.graphics
Android SDK中的简介:The Paint class holds the style and color information about how to draw geometries, text and bitmaps. 主要就是定义:画刷的样式,画笔的大小/颜色等。

  • Typeface

数据包 package:android.graphics
Android SDK中的简介:The Typeface class specifies the typeface and intrinsic style of a font. 主要就是定义:字体。

  • Canvas 核心类显示资源

Android SDK中的简介:The Canvas class holds the “draw” calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path, text, Bitmap), and a paint (to describe the colors and styles for the drawing).
按照结构的功能,将主要接口分为以下3部分:

boolean clipXXXX() Region区域操作:
DIFFERENCE
INTERSECT
REPLACE
REVERSE_DIFFERENCE
UNION
XOR

Region是画布(Canvas)中的有效区域,在无效区域上draw,对画布没有任何改变。

void drawXXXX() 画图函数
void rotate()
void scale()
void skew()
void translate()
画布操作函数
  • Bitmap(位图)

 

 

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

生活在西班牙

自己动手丰衣足食

BlueAsteroid

Just another WordPress.com site

Jing's Blog

Just another WordPress.com site

Start from here......

我的心情魔方

天才遠私廚

希望能做一個分享各種資訊的好地方

语义噪声

西瓜大丸子汤的博客

笑对人生,傲立寰宇

Just another WordPress.com site

Where On Earth Is Waldo?

A Project By Melanie Coles

the Serious Computer Vision Blog

A blog about computer vision and serious stuff

Cauthy's Blog

paper review...

Cornell Computer Vision Seminar Blog

Blog for CS 7670 - Special Topics in Computer Vision

datarazzi

Life through nerd-colored glasses

Luciana Haill

Brainwaves Augmenting Consciousness

槑烎

1,2,∞

Dr Paul Tennent

and the university of nottingham

turn off the lights, please

A bunch of random, thinned and stateless thoughts around the Web

%d bloggers like this: