@string/hello 【Android Notes】

1. why are those parameters defined in ‘strings.xml’, rather than ‘string.xml‘?

answer: 在res/values目录下创建一个strings.xml配置文件,用来声明一些在程序中使用的字符串常量。

2. R.java

R.java类是Java源文件和引用资源之间的一个索引文件。该文件中针对不同的资源创建不同的内部类,由系统自动生成,无须修改。attr中声明属性;drawable中声明一些图片资源;layout中声明布局文件;string中声明字符串。

A project’s R.java file is an index into all the resources defined in the file. You use this class in your source code as a sort of short-hand way to refer to resources you’ve included in your project. This is particularly powerful with the code-completion features of IDEs like Eclipse because it lets you quickly and interactively locate the specific reference you’re looking for.
The important thing to notice for now is the inner class named “layout”, and its member field “main”. The Eclipse plugin noticed that you added a new XML layout file and then regenerated this R.java file. As you add other resources to your projects you’ll see R.java change to keep up.

在R.java 档案中,分别有attr(属性)、drawable(图片、图示)、id(识别符号)、layout(介面描述)、string(文字)这几种资源型态,就XML 描述档中的id 来说,开发工具会根据XML描述档中指定的id,生成对应的资源,并自动指定一个位址。

有了「R.java」做中介,在XML 描述档中,我们可以通过:

@[类型]/[识别符号]

当我们在res 资料夹中新增各种一个XML 档案,或是一张图片时,开发工具会从res 资料夹中搜集,并将各种资源汇整成一个索引,自动产生出R.java 档。

3. Bundle

「Bundle 」的内容与手机平台的记忆体管理有关。当Android 应用程式启动、换到背景等待、关闭时,都会用到「savedInstanceState」这个实体来处理记忆体相关的事宜。

「onCreate」这个方法永远都是传入「Bundle savedInstanceState」这个参数,写应用程式时只要正确照规定传入即可,

Google Android 将其应用程式的介面称为视图(View),而负责控制各种动作行为的程式主体(Controller),则称为活动(Activity);要将一个显示元素的层次结构转换显示到一个萤幕上,Activity 会呼叫它用来设定View 的「setContentView」方法,并传入想引用的XML 描述文件

setContentView(R.layout.main);

4. Button

Button button = (Button) findViewById(R.id.submit);

button.setOnClickListener(new ClickListener(){
});

通过findViewById 方法,从资源档中取得对应的介面元件(按钮)。这边取出的是「R.id.submit」按钮元件。

5. Editbox编辑栏位

EditText fieldheight = (EditText)findViewById(R.id.height);
EditText fieldweight = (EditText)findViewById(R.id.weight);

6. Activity VS. View

Activity 是一个单独的屏幕,每个Activity都被实现为一个独立的类; View 通常调用startActiviy()可以从一个屏幕到另一个屏幕,打开Activity的条件被封装在Intent中。(Intent是不同组件之间相互导航的纽带,封装了不同组件之间导航查找的条件.)

View是基本控件,可分为view和viewGroup,如按钮、单选框等;viewGroup是指布局控件,即用来控制界面中控件如何布局摆放.

7. AndroidManifest.xml 程序清单文件

只有在该文件中声明后的组件,才可以使用。该文件也会声明一些权限信息和其他配置信息。

<activity>用来声明Activity组件,其中的<intent-filter>子元素代表该Activity的访问能力,其中的<action>和<category>代表当前的Activity是App的入口程序。

Android中一种很好的设计思想就是可以把界面上的组件声明在配置文件当中,既降低了程序的耦合性,又提高了程序的运行效率。

 

 

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: