您的位置:首页 > 移动开发 > Android开发

Android 总结

2015-10-28 12:35 656 查看
android
android框架:



android开发四大重要组件: activity 、intent、service、Content Provider

文件目录分析

src文件: 放置的是编写的源程序文件。

gen文件: 由Eclipse 的ADT插件自动生成的文件, 里面有一个
R.java文件,保存开发所需各种资源引用的ID 号,通过ID 即可访问资源。

androidxx: 有一个android.jar 的版本文件,即是引用的android类库文件。 

assets文件: 用来存放原始格式的文件,如音频文件等二进制格式文件。此目录中的资源不能被R.java 文件引用。

res文件: 放置android程序的所有的图像、颜色、风格、主题界面布局和字符串等资源。在res 文件中放置的资源都在 R.java中自动生成对应的资源ID 号,通过对应的ID 号,即可访问到对应的资源。

res中的子目录: drawable-Xdpi 对应放置的是不同分辨率的png 图片,应用于程序的图标;

layout 子目录:放置的是与布局配置相关的XML文件,每个Activity 组件都有对应布局文件;

values子目录:里面有一个 strings.xml文件,保存相应的键值对,同时在 R.java 中生成对应的ID 号。

AndroidManifest.xml文件: 是整个android程序的界面配置文件。

android组件

android应用程序由组件组成, 组件是可以被调用的基本功能模块。

Activity组件:是android程序的呈现层,显示可视化的用户界面,并接收与用户交互所产生的界面事件。

Service组件: 一般用于没有用户界面,但需要长时间在后台运行的应用。

BroadcastReceiver组件:是用来接受并响应广播消息的组件。

ContentProvider组件:是android系统提供的一种标准的数据共享机制,应用程序可以通过ContentProvider 访问其他应用程序的私有的数据。 私有数据可以是存储在文件系统中的文件,也可以是SQLite 数据库中的数据。



Activity 组件

主要作用:Activity是用户和android应用程序
交互 可视化接口。一个Activity中可以有多个控件。可以把Activity看作控件的容器。

Activity 关注的是创建一个或多个给开发者放置UI并交互的窗口

创建方法4个步骤:

1、一个Activity就是一个类,并且该类要继承 Activity。

2、需要覆写 onCreate() 方法,( 当Activity第一次运行时,就调用onCreate() 方法。

3、每一个Activity 都需要在AndroidManifest.xml 中配置。

4、在Activity中添加必要的控件。

在AndroidManifest.xml中注册Activity

创建一对<Activity></Activity>,指定name和label 属性

添加控件:注意:View类是android所有控件的父类。在Activity 中添加控件,首先在 layout文件中的main.xml 中添加,同时可以为控件添加ID号:

格式 @+标识符――代表一个内部类,在R.java中自动生成。

/ +标识符――代表该类的某一常量即ID号。

Activity组件中获取控件:在引用 R.java 中的ID即可获取控件,使用

获取控件

View
findViewById(int
id)
Finds a view that was identified by the id attribute from the XML.
为控件设置内容: setText( );

控件widgets 小工具

View类是 widgets类的基类,而widgets 是创建各种用户接口(Button,TextView......)的父类。

TextViw: 应在布局文件中注册。

Button:

EditText:

RadioGroup: 多个只能选择一个时,用组来嵌套RadioButton,有纵向和横向布局

RadioButton

Toast:

menu: 创建menu不需在xml文件中注册,只需重写下面方法即可:

boolean
onCreateOptionsMenu(Menu menu)
Initialize the contents of the Activity's standard options menu.
根据传入的 menu,调用menu类的add方法添加按钮。

abstract MenuItem
add(int
groupId, int itemId, int order, CharSequence title)
Add a new item to the menu.
多个Activity组件

多个Activity组件之间存在跳转关系,即通过触发某一时间从一个Activity跳转到另外一个Activity。



一个Activity对象调用startActivity()方法,即可跳转到该参数绑定的另外一个Activity。 Intent对象实现两个对象跳转的绑定方法:


public Intent setClass (Context packageContext, Class<?>
cls)

第一个参数为起始Activity, 第二个参数为目的Activity:

Intent intent = new Intent();
// access data
intent.putExtra("TestValue", "123");
// add a listener

intent.setClass(Activity02.this, OtherActivity.class);
// contact other activity
Activity02.this.startActivity(intent);

startActivity( Internt intent ) 方法

void
startActivity(Intent intent)
Launch a new activity.
Intent 的基本作用:

Intent是在整个应用程序之间传输数据使用的。 可以理解为一个有关请求的组件。

一个Intent对象包含了一组信息: Component name、 Action、 Data、 Category、 Extras、 Flags 等。

两个Activity之间的数据传输可以使用Intent对象的Extras属性:

Extras 存放着一对键值对,通过一系列的

Intent
putExtra(String name, double value)
Add extended data to the intent.
int
getIntExtra(String name, int defaultValue)
Retrieve extended data from the intent.
获取相对应的数据。

Activity的生命周期:

android应用程序中的Activity是以栈的形式保存的,多个Activity是以进栈或出栈保存在内存当中。





一个完整的Activity的生命周期经历7个周期,同时需要重写 7个方法。

public class Activity extends ApplicationContext {
protected void onCreate(Bundle savedInstanceState);

protected void onStart();

protected void onRestart();

protected void onResume();

protected void onPause();

protected void onStop();

protected void onDestroy();
}


onCreate( )方法:当第一次创建Activity时调用该方法,并调用该方法里面的常见的静态方法。这些静态方法一般是用来创建Views类等。(生成

  onStart()方法:当应用程序在屏幕中可视化时即调用该方法。(进栈

onResume( )方法:当某个Activity位于屏幕的前景,并与用户交互时,调用该方法。(位于栈顶

启动一个Activity都调用以上三个方法。

onPause( )方法:当别的Activity进栈即启动别的Activity,调用该方法来保存该Activity所用到的数据

onStop( )方法:当完全启动另一个Activity即前一个Activity处于后台完全不可见时,调用该方法。(若只是部分遮挡,此时不会调用该方法)

onRestart( )方法:当一个Activity还保存在栈中,并需要重新启动时,即调用该方法。

onDestroy( )方法:销毁一个Activity时,调用该方法。(出栈

Task 和 Activity

一个应用程序有多个Activity,不同的Activity都有自己的生命周期。Task用来管理应用程序的Activity。

Task是以栈的形式管理Activity的。

Activity 风格:

默认为满屏。

对话框: 设置对话框风格Activity,只需在androidManifeset.xml文件注册的Activity添加风格的主题:

<activity android:theme= “@android:style/Theme.Dialog”/>

Activity布局

Activity默认使用线性布局。当需要使用不同布局时,需要指定使用的布局文件。

默认:setContentView(R.layout.main );

void
setContentView(int
layoutResID)
Set the activity content from a layout resource.
线性布局: LinearLayout有纵向和横向两个方向,并使用权重控制控件各自的大小比例:android:layout_weight

该权重不仅涉及控件的比例,还涉及控件的内容,内容较多的,所占位置较大

表格布局:TableLayout 表格布局里面有个子标签<TableRow/> 用来指定行,而列由具体的控件决定,一个控件占一列。

相对布局:RelativeLayout 相对布局就是各个控件之间的相对空间的安排。相对布局的属性值由ID和true/false指定。 各自的相对关系由ID号或者 true/ false 指定。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: