Android应用开发中Activity类的用法
来源:互联网 发布:php反射机制和作用 编辑:程序博客网 时间:2024/05/16 10:57
新创建的activity
package example.com.myapplication;import android.app.Activity;import android.os.Bundle;/** * Created by Administrator on 2016/9/22. */public class FirstActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); }}
Activity创建完成后,为了它可以访问系统必须要声明注册它到应用的AndroidManifest.xml文件中:
<application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="example.com.myapplication.FirstActivity"></activity> </application>显示跳转
// Intent intent = new Intent();// intent.setClass(MainActivity.this, FirstActivity.class); Intent intent = new Intent(this, FirstActivity.class); startActivity(intent);隐身跳转
一个Activity如果需要隐式跳转,那么在清单文件中必须添加以下子节点
<activity android:name="example.com.myapplication.FirstActivity"> <intent-filter> <action android:name="com.example.startFirst"></action> <category android:name="android.intent.category.DEFAULT"></category> </intent-filter> </activity>
Intent intent = new Intent(); intent.setAction("com.example.startFirst"); startActivity(intent);
###应用场景
* 显示意图:启动同一个应用中的Activity
* 隐式意图:启动不同应用中的Activity
* 再启动效率上,隐式远远低于显式
* 如果系统中有多个Activity与意图设置的Action匹配,那么在启动Activity时,会弹出一个对话框,里面包含所有匹配的Activity
startActivityForResult
MainActivity
public static final int REQUSET = 1; public void click(View v) { Intent intent = new Intent(this, FirstActivity.class); startActivityForResult(intent,REQUSET); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // requestCode标示请求的标示 resultCode表示有数据 if (requestCode==REQUSET && resultCode == 1){ Toast.makeText(this,data.getStringExtra("data"),Toast.LENGTH_SHORT).show(); } }
FirstActivitypublic class FirstActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.fisrt); Intent intent = new Intent(); intent.putExtra("data", "startActivityForResult"); setResult(1, intent); finish(); }}
#Activity生命周期 http://blog.csdn.net/eastmoon502136/article/details/50628315
* oncreate:Activity对象创建完毕,但此时不可见
* onstart:Activity在屏幕可见,但是此时没有焦点
* onResume:Activity在屏幕可见,并且获得焦点
* onPause:Activity此时在屏幕依然可见,但是已经没有焦点
* onStop:Activity已经不可见了,但此时Activity的对象还在内存中
* onDestroy:Activity对象被销毁
###内存不足
* 内存不足时,系统会优先杀死后台Activity所在的进程,都杀光了,如果内存还是不足,那么就会杀死暂停状态的Activity所在的进程,如果还是不够,有可能杀死前台进程
* 如果有多个后台进程,在选择杀死的目标时,采用最近最少使用算法(LRU)
###Activity任务栈* 应用运行过程中,内存中可能会打开多个Activity,那么所有打开的Activity都会被保存在Activity任务栈* 栈:后进先出,最先进栈,就会最后出栈###Activity的启动模式* 标准模式:默认就是这个模式* singleTop:如果目标Activity不在栈顶,那么就会启动一个新的Activity,如果已经在栈顶了,那么就不会再启动了* singleTask:如果栈中没有该Activity,那么启动时就会创建一个该Activity,如果栈中已经有该Activity的实例存在了,那么在启动时,就会杀死在栈中处于该Activity上方的所有Activity全部杀死,那么此时该Activity就成为了栈顶Activity。 * singleTask的作用:保证整个栈中只有一个该Activity的实例* singleInstance:设为此模式的Activity会有一个自己独立的任务栈,该Activity的实例只会创建一个,保存在独立的任务栈中 * singleInstance的作用:保证整个系统的内存中只有一个该Activity的实例
0 0
- Android应用开发中Activity类的用法
- Android应用开发中BroadcastReceiver的用法
- Android开发应用中Activity详解
- Android中Activity中Fragment的应用
- android应用开发之Activity的生命周期
- Android应用开发之activity的创建
- Android Activity中ConfigChanges属性的用法
- 【Android 应用开发】Activity生命周期 与 Activity 之间的通信
- Android应用中Activity的生命周期
- android中Activity的生命周期及应用
- android应用开发笔记---Activity
- Android应用开发:Activity 生命周期
- Android开发中插入新的Activity
- Android开发中插入新的Activity
- Android开发中Activity的生命周期
- android开发中activity的启动方式
- android开发中结束所有的activity
- Android开发中插入新的Activity
- 面向对象程序设计上机练习十一(运算符重载)
- iOS开发之直播App流程介绍
- win7 caffe使用笔记——solver求解器参数以及损失函数的使用
- Android仿Instagram图片加载策略(模糊图片占位+下载进度条)
- Android Preference置灰显示
- Android应用开发中Activity类的用法
- 装饰者模式
- Eclipse中下载SVN插件以及SVN的实际操作
- 代码结构优化工作中的细节
- App优化之提升你的App启动速度
- C语言模拟学生学籍管理系统
- 4.22
- hdu--1233(最小生成树)
- Windows XP系统用还原点启动后 Delphi 7代码编辑器的保留字显示问题修复