android:activity知识点
一、活动流程
1、创建活动
public class firstActivity extends Activity{}
2、创建布局
新建first_layout.xml文件
3、注册活动
在androidManifest.xml中注册活动
二、活动的几个功能点
1、隐藏标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
2、使用Toast。提醒方式,不获得焦点,一段时间消失
Toast.makeText(firstActivity.this,"hello world",Toast.LENGTH_SHORT).show();
3、从布局文件获得元素
Button button1=(Button)findViewById(R.id.button_1);
4、使用menu
a.新建 android xml file来描述菜单main.xml
b.创建菜单 。重写活动中onCreateOptionMenu()方法
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
c.给菜单中选项添加响应。重写onOptionsItemSelected()方法
@Override
public boolean onOptionsItemSelected(MenuItem item){
switch(item.getItemId()){
case R.id.add_item:
Toast.makeText(this, "add", Toast.LENGTH_SHORT).show();
break;
case R.id.remove_item:
Toast.makeText(this, "remove", Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
5、销毁活动
finish();
三、活动之间相互调用。通过Intent类。有很多构造函数哦
1、显式启动另外一个活动。通过显式intent
Intent intent=new Intent(firstActivity.this,secondActivity.class); //显示调用构建方法
startActivity(intent);
2、隐式启动另外一个活动。隐式intent
a、在androidManifest.xml中给活动<activity>指定响应的action和category
b、构建intent,带有响应标识
Intent intent=new Intent("com.example.activitytest.ACTION_START");
startActivity(intent);
3、启动其它程序中的活动。通过隐式intent
a、启动系统内置浏览器
Intent intent=new Intent(Intent.ACTION_VIEW); //Intent.ACTION_VIEW常量为 “android.intent.action.view”
intent.setData(Uri.parse("http://www.baidu.com"));
b、启动内置拨号界面
Intent intent=new Intent(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel:10086"));
4、向下一个活动传递数据
a、向intent中写入数据
intent.putExtra("extra_data","我是数据哦");
b、从intent中取出数据
Intent intent=getIntent();
String data=intent.getStringExtra("extra_data");
5、向上一个活动传递数据
a、在第一个活动中启动带返回值的第二个活动。
startActivityForResult(intent,1);
b、在第二个活动中,给intent中写入数据
Intent intent=new Intent();
intent.putExtra("data_return","我是待返回的数据哦");
setResult(RESULT_OK,intent);
c、在第一个活动中,接收数据。通过重写onActivityResult()方法
@Override
protected void onActivityResult(int requestCode,int resultCode,Intent data){
switch(requestCode){
case 1:
if(resultCode==RESULT_OK){
String retrundata=data.getStringExtra("data_return");
Log.d("first",retrundata);
}
}
四、活动的生命周期
onCreate,onStart,onResume,onPause,onStop,onDestroy,onRestart
1、完整生存期 活动在onCreate和onDestroy方法之间所经历的,就是完整生存期。onCreate方法中完成初始化,onDestroy中释放内存
2、可见生存期 活动在onStart和onStop方法之间。可见生存期内,活动对于用户总是可见的,即便有可能无法和用户进行交互。
3、前台生存期 活动在onResume和onPause方法之间。前台生存期内,活动总是处于运行状态,此时的活动是可以和用户进行交互的。
五、活动的启动模式
在androidManifest.xml中,可以设置活动的启动模式四种
1、standard模式:每当启动一个新活动,系统都会创建该活动的一个实例。而不管这个活动是否已经在返回栈中存在。导致创建多个活动实例
2、singleTop模式:启动活动时,如果发现返回栈的栈顶已经是该活动,则认为可以直接使用它,而不会再创建新的实例。但是如果该活动不在栈顶,则创建一个新的实例。导致创建多个活动实例
3、singleTask模式:启动活动时,系统首先会在返回栈中检查是否存在该活动的实例,如果发现已经存在则直接使用该实例,并把在这个活动之上的所有活动统统出栈,如果没有发现就会创建一个新的活动实例。
4、singleInstance模式:指定为singleInstance模式的活动会启用一个新的返回栈来管理这个活动。解决共享活动实例的问题。
android:activity知识点的更多相关文章
- 【转】Android一些知识点汇总
Android常用知识点总汇 一.系统上安装了多种浏览器,能否指定某浏览器访问指定页面?请说明原由. 如果在你的android系统上安装了多种浏览器,能否指定某浏览器访问指定页面?答案当然是:肯定的. ...
- 详解Android Activity启动模式
相关的基本概念: 1.任务栈(Task) 若干个Activity的集合的栈表示一个Task. 栈不仅仅只包含自身程序的Activity,它也可以跨应用包含其他应用的Activity,这样有利于 ...
- Activity知识点详解
Activity知识点详解 一.什么是Activity 官方解释: The Activity class is a crucial component of an Android app, and t ...
- Android:Activity+Fragment及它们之间的数据交换.
Android:Activity+Fragment及它们之间的数据交换 关于Fragment与Fragment.Activity通信的四种方式 比较好一点的Activity+Fragment及它们之间 ...
- Android Activity launchMode研究
Android Activity launchMode研究 Activity的Launch mode一共有四种: standard, singleTop, singleTask, singleInst ...
- android Activity类中的finish()、onDestory()和System.exit(0) 三者的区别
android Activity类中的finish().onDestory()和System.exit(0) 三者的区别 Activity.finish() Call this when your a ...
- Android Activity的生命周期简单总结
Android Activity的生命周期简单总结 这里的内容参考官方的文档,这篇文章的目的不是去总结Activity是如何启动,如何创造,以及暂停和销毁的,而是从实际开发中分析在Activity各个 ...
- Android Activity返回键控制的两种方式
Android Activity返回键监听的两种方式 1.覆写Activity的OnBackPressed方法 官方解释: Called when the activity has detected ...
- Android Activity和Fragment的转场动画
Android Activity和Fragment的转场动画 Activity转场动画 Activity的转场动画是通过overridePendingTransition(int enterAnim, ...
- android Activity生命周期(设备旋转、数据恢复等)与启动模式
1.Activity生命周期 接下来将介绍 Android Activity(四大组件之一) 的生命周期, 包含运行.暂停和停止三种状态,onCreate.onStart.onResume.o ...
随机推荐
- SpringCloud之自动化配置-config
编程开发的时候有没有觉得很多配置文件需要维护,比如,修改了数据库连接,所有用到该数据库的服务配置都得替换,是不是超级的麻烦呢 下面,给大家介绍一下Spring提供的配置自动化组件-spring clo ...
- Android 集成支付宝第三方登录
前言: 在集成支付宝支付的时候遇到一点小麻烦,先在此记录供大家参考 1.授权 支付宝第三方登录需要在后台进行授权,在查看授权的时候我们一定要看清楚时候真的已经获得了权限(我在没有获取权限的情况下集成的 ...
- docker-compose up启动又停止,需要加tty为true
如果docker-compose.yml如下,则用docker-compose up -d启动起来的容器可能会立即停止. version: '2' services: mir-http-repo: i ...
- [转]如何创建一个自签名的SSL证书(X509)
原文出自:http://www.joyios.com/?p=47 引言 使用HTTP(超文本传输)协议访问互联网上的数据是没有经过加密的.也就是说,任何人都可以通过适当的工具拦截或者监听到在网络上传输 ...
- Myeclipse的webservice本地监听设置(一个简陋的代理)
(1) 首先打开Myeclipse,然后选择window--->show view ---->other (2)搜索tcp,然后找到如图的样式 (3)选中,点击ok (4)弹出下图界面 ( ...
- java.util.concurrent.locks.LockSupport (讲得比较细)
转自: https://my.oschina.net/readjava/blog/282882 摘要: 要学习JAVA中是如何实现线程间的锁,就得从LockSupport这个类先说起,因为这个 ...
- Android-自定义TabHost
效果图: 布局代码相关: <!-- 自定义简单的TabHost选项卡 --> <LinearLayout xmlns:android="http://schemas.and ...
- spring 3.0版本以上jar包使用以及依赖关系
本文转载自:http://blog.csdn.net/huiwenjie168/article/details/8477837 spring.jar是包含有完整发布的单个jar包,spring.jar ...
- css--一些基本属性
关于css各标签的属性: w3cschool一应俱全 设置固定的图片: body { background-image: url(bgimage.gif); background-attachment ...
- GO学习笔记 - 没有参数的 return 语句返回各个返回变量的当前值,这种用法被称作“裸”返回。
Go 的返回值可以被命名,并且就像在函数体开头声明的变量那样使用. 返回值的名称应当具有一定的意义,可以作为文档使用. 没有参数的 return 语句返回各个返回变量的当前值.这种用法被称作“裸”返回 ...