Android编程-Activity

leoict2017 · · 101 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

 

重要的回调函数:

    onCreate():初始化activity要用的其他的组件(可以是其他的activity和contentprovider之类)。调用setContentView(),设定本Activity用户界面的布局。

    onPause():用户离开activity。确认哪些用户更改需要保存。

 

用户界面:

    用户界面由View的子类实现,每个view控制Activity中的一块矩形空间(例如按钮)。

    线程的View:

        小部件:按钮、文本框、复选框、图像。

        布局:ViewGroup的子类,线性布局、网格布局、相对布局。

    借助Android程序的资源内的xml布局文件来定义布局。这样Activity代码负责行为,而布局定义在xml中。

 

在清单文件中定义Activity,这样Activity才能被执行。

    Android SDK创建Android程序时,自动创建intent-filter:

<activity android:name=".ExampleActivity" android:icon="@drawable/app_icon">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" /> ------- 指定该Activity是Android程序的主入口
        <category android:name="android.intent.category.LAUNCHER" /> ------- Activity有系统的Launcher来启动
    </intent-filter>
</activity>

 

    开发者可以创建更多的<intent-filter>,与其他组件的隐式Intent想匹配,从而可以让其他组件激活此Activity。

    https://developer.android.com/guide/components/intents-filters.html

        Intent是一个消息对象。其使用方式如下:

        1) 启动Activity。

            将Intent传给startActivity(),可以启动一个Activity实例。Intent描述了要启动的Activity,并携带了必要的数据。

            将Intent传给startActivityForResult(),启动的Activity结束后会调用回调函数onActivityResult(),将结果返回。

        2) 启动Service。

            Intent指定具体哪个服务,并携带必要的数据。

            将Intent传递给startService(),启动一个服务,进行一次性操作(例如,下载文件)。

            将Intent传递给bindService(),绑定一个服务。

        3) 传递广播。

            广播是所有Android程序都可以接收的消息。Android OS将各种系统事件(例如充电)广播出去。

            将Intent传递给sendBroadcast()、sendOrderedBroadcast()、sendStickyBroadcast(),进行广播。

        Intent有如下类型:

        1) 显式Intent:通过类名来指定要启动的组件(反射机制)。

        2) 隐式Intent:声明要执行的动作(例如,在地图上显式位置),让其他Android程序完成此动作。

                                查找清单文件,如果隐式Intent与文件中的<intent-filter>匹配,则启动该Android程序。

                                如果有多个Android程序的<intent-filter>匹配,则显示一个列表,供用户选择。

        <略>

 

    保存Activity的状态:

        在Activity进入pause和stop状态之后,可能会被Android OS杀掉。

        在回调函数onSaveInstanceState()中保存状态,这样用户再次回到Android程序时,一切如初,好像什么也发生一样。

        在Android OS销毁Activity时,传递一个Bundle给onSaveInstanceState(),将名值对放入Bundle。

        当Android OS重新创建Activity时,Bundle被传递给onCreate()和onRestoreInstanceState(),于是Activity的状态可以恢复出来。

 

本文来自:博客园

感谢作者:leoict2017

查看原文:Android编程-Activity

101 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet