美文网首页
Android之Activity学习

Android之Activity学习

作者: schao14 | 来源:发表于2017-06-26 23:47 被阅读0次

    一, Activity基本概念

    Activity是Android的四大组件之一,它是一种可以包含用户界面的组件,主要用于和用户进行交互,比如打电话,照相,发送邮件,或者显示一个地图!Activity用于显示用户界面,用户通过Activity交互完成相关操作 , 一个App允许有多个Activity。

    二, Activity的生命周期

    1.(http://www.runoob.com/w3cnote/android-tutorial-activity.html)这是来自于菜鸟教程上的一张图,十分形象的展现了Activity的生命周期。

    2. Activity的生命周期主要可以通过以下函数控制

    public class Activity extends ApplicationContext {

    protected void onCreate(Bundle icicle);

    protected void onStart();

    protected void onRestart();

    protected void onResume();

    protected void onFreeze(Bundle outIcicle);

    protected void onPause();

    protected void onStop();

    protected void onDestroy();

    }

    onCreate(Bundle) 函数是你进行初始化的地方,这个也是执行

    setContentView(View)函数的地方,setContentView(View)函数可以传入一个由XML

    编制的UI界面,可以使UI和具体实现完全分离。

    onPause()函数是处理用户离开当前 Activity 的地方。更重要的是,任何在当前

    Activity中的任何改变都要在这个函数中提交。

    3. Activity有四种状态:

    活动状态,当Activity处于Stack(栈)顶时,就是手机当前的现实屏幕,这是 Activity就

    处于activity或者运行状态。

    运行但是失去焦点,当Activity还处于运行状态时,但是屏幕是有另外一个Activity

    处于文档处于焦点状态,当前的Activity就处于pause。

    停止,当Activity被另一个Activity完全覆盖的时候,就被停止了,其实就是虽然在

    运行,但是用户却看不见。

    结束,当Activity处于pause或者stop时,系统可以结束 Activity,回收资源,这

    是Activity就是处于结束状态了。

    处于结束状态的是Activity,如果要使用户可见,只要重启才可以。

    三, 启动Activity的方式

    1.显式启动:通过包名来启动

    startActivity(newIntent(当前Act.this,要启动的Act.class));

    2.隐式启动:通过Intent-filter的Action,Category或data来实现

    这个是通过Intent的intent-filter**来实现的

    3. 另外还有一个直接通过包名启动apk的:

    Intentintent=getPackageManager().getLaunchIntentForPackage("类名");if(intent!=null)startActivity(intent);

    四,系统提供的常见Activity

    1.拨打电话

    Uriuri=Uri.parse("tel:10086");Intentintent=newIntent(Intent.ACTION_DIAL,uri);startActivity(intent);

    2.发送短信

    Uriuri=Uri.parse("smsto:10086");Intentintent=newIntent(Intent.ACTION_SENDTO,uri);intent.putExtra("sms_body","Hello");startActivity(intent);

    3.打开浏览器

    Uriuri=Uri.parse("http://www.baidu.com");Intentintent=newIntent(Intent.ACTION_VIEW,uri);startActivity(intent);

    4.显示地图:

    Uriuri=Uri.parse("geo:39.9,116.3");Intentintent=newIntent(Intent.ACTION_VIEW,uri);startActivity(intent);

    5.打开摄像头拍照

    打开拍照程序Intentintent=newIntent(MediaStore.ACTION_IMAGE_CAPTURE);startActivityForResult(intent,0);

    取出照片数据

    Bundleextras=intent.getExtras();Bitmapbitmap=(Bitmap)extras.get("data");

    相关文章

      网友评论

          本文标题:Android之Activity学习

          本文链接:https://www.haomeiwen.com/subject/kylscxtx.html