第一行代码Android学习笔记(一)activity

来源:互联网 发布:淘宝雪花秀是正品吗 编辑:程序博客网 时间:2024/05/11 18:37

2.1 活动是什么

活动是一种包含用户界面的组件,主要用于和用户进行交互。简单说就是android应用界面。


2.2 活动的基本用法

该部分内容主要是要学习如何手动去创建一个activity、如何创建和加载布局,以及如何在AndroidMainfect文件中注册,toast及其menu的使用,及活动的销毁。

布局加载:如果要将布局first_layout加载到活动FirstActivity中,则主要在OnCreate()中进行加载,使用函数setContentView(R.layout.,first_layout);一般OnCreate都是进行一些初始化的工作。

活动的注册:是在AndroidMaininfect文件中操作的,在application中通过<activity>标签进行注册。包括活动name,代表注册哪个活动;label,代表了活动标题栏的内容以及启动器中应用程序的显示名称。然后比较重要的是一个标签是<intent-filter>,包含action和catagory,主要进行主活动的设置或当前活动能够响应的action和category。

在活动使用menu:菜单项的创建时在res下的menu目录下,在main.xml文件中去创建,使用<item>标签。在活动中使用onCreateOptionsMenu()创建菜单。getMenuInflater().inflate(R.menu.main, menu). 然后使用onOptionsItemSelected()来响应menu事件。


2.3活动的切换(Intent)

显示intent:比如要从FirstActivity到SecondActivity,则:

Intent intent = new Intent(FirstActivity.this, SecondActivity.class);

startActivity(intent);

隐式intent:

1.可以通过AndroidMainfect.xml中的intent-filter标签来指定当前活动可以响应什么样的action和category。

如:<activity android:name=" .SecondActivity">

<intent-filter>

<action android:name="com.example.activitytest.ACTION_START"  />

<category android:name = "android.intent.category.DEFAULT">

</intent-filter>

</activity>

以上表明该活动可以响应com.example.activitytest.ACTION_START这个action及对应catagory也要匹配。

2.使用隐式intent还可以启动其他应用程序的活动。

如:Intent intent = new Intent(Intent.ACTION_VIEW);

intent.setData(Uri.parse("http://www.baidu.com"));

startActivity(intent);

以上会启动系统浏览器。

另外,在intent-filter标签中还可以通过data标签指定当前活动可以响应什么数据类型。比如:

<data android:scheme= "http">

2.4 Intent可以向上一个或向下一个活动传递数据

Intent.putExtra("extra_data", data)

getIntent.getStringExtra("extra_data");

返回数据给上一个活动,上一个活动采用startActivityForResult(intent, 1); 在下一个活动通过setResult(RESULT_OK, intent)返回数据。

然后上一个活动中用回调函数onActivityResult(int  requestCode, int resulltCode, Intent data)接收返回的数据.


2.5活动的生命周期

android是通过使用返回栈来管理活动的。活动的状态主要分为四种:运行状态、暂停状态、停止状态、销毁状态。

活动的生存期:7个回调函数涵盖了每一个环节。onCreate(), onStart(), onResume(), onPause(), onStop(), onDestroy(), onRestart()

其中,出了onRestart(),其他6个都是两两对应的。

*注意对话框类型活动的不同。

活动的创建会一次调用:onCreate(), onStart(), onResume(),

从该活动切换到下一个普通活动,则会调用:onPause(), onStop(), 相应的恢复到该活动会调用:onRestart(),  onStart(), onResume()

从该活动切换到下一个对话框活动,则会调用:onPause(), 恢复调用:onResume()


2.6 活动被收回如何保存临时数据

使用onSaveInstanceState(Bundle outstate)保存数据。

outstate.putString();

取数据:

使用OnCreate(Bundle savedInstanceState)中的参数来获取。


2.7 活动的启动模式:standard、singletop、singleTask、singleInstance

通过android:launchMode="singletop"  来设定                

singleInstance 是指给活动维护一个新的返回栈,供别的程序也来调用该活动

今天先到这里吧。。。



0 0
原创粉丝点击