zoukankan      html  css  js  c++  java
  • Activity总结

    一言不合就让我写android了!!!!!!!!!!!!!!

    来到公司后被分到了一个写android的组,虽然在大四的时候看过一点关于android的书,不过对android还是一无所知,所以现在让我来写android就是让我从头来写android啊!

    以上都是废话

    Activity是android四大组件之一,也是我第一个接触的内容

    Activity重要的知识点有

      1,怎么创建Activity

      2,Activity之间的交互(包括信息传递,内容保存)

      3,Activity的生命周期

      4,Activity的启动模式

    一,创建Activity

      其实这个很简单,创建一个class继承activity,然后可以重写它的一些函数,如oncreate,onstart,onresume,onpause,onstop,ondestory等等

      当然,在我看来,oncreate是必须的,基本上大家都习惯在这个函数里给Activity添加布局,及处理一些事件,如button的点击事件等

      但是如果你想让别人知道启动你这个Activity需要传入什么数据,方便别人调用你编写的Activity的话,最好写一个函数actionStart,这个函数不仅让别人知道怎么启动你写的活动,也让别人启动你的活动的方法更加简单

    二,Activity之间的交互

      对于这一点,大多数情况下都是使用Intent,启动一个活动有两种方法,显示启动和隐式启动,显示启动就是直接在Intent中指明要启动哪个活动,这个很简单,二隐式启动就要给Intent添加action,category和data,只有匹配的时候才会启动相应的Activity,不过也有可能启动活动时没有匹配的,于是程序就会出错,所以我们隐式启动时可以先调用PackageManager的resolveActivity方法和Intent的resolveActivity方法来进行判断,如果没有找到合适的,这两个方法就会返回null,当然还有一个方法就是PackageManager的queryIntentActivity方法,不过这个方法返回的并不是最适合的Activity,它将会返回所有能匹配的Activity。

      活动之间的交互还有就是调用活动时向下一个活动传递数据,或者返回数据给上一个活动,同时也会用保存当前活动的临时数据,方便下一次活动可见时恢复数据

      向下一个活动传递数据直接调用Intent的putExtra就可以了

      传递数据给上一个活动就比较麻烦一点,首先我们应该使用startActivityForResult,然后在另一个活动结束时调用setResult返回数据,不过我们还需要在上一个活动中重写onActivityResult方法来获取返回的数据,如果用户是点击back键来返回的话,就要重写onBackPressed来调用setResult了。

      保存当前活动的数据,我们可以使用onSaveInstanceState方法,这个方法一定会在活动被回收之前调用,里面有一个Buddle,我们可以把数据保存在里面,而且我们在oncreate里面就会有这个Buddle,可以在oncreate里面恢复数据

    三,Activity的生命周期

      在创建Activity的时候就说过了,可以重写的那些方法就代表了它的生命周期,生命周期可分为三个阶段,完整生存期,可见生存期,前台生存期

    四,Activity的启动模式

      大致美味四种模式,standart,singletop,singletask,singleinstance

      启动模式设置有两种方法

        1,直接在xml文件中android:launchmode中指明

        2,在Intent中指明

    整体学了这些,有的细节没写出来,比如back stack,指明在哪个back stack等等,相信还有很多Activity的知识以后会碰到,暂时总结那么点吧!

  • 相关阅读:
    【翻译】ASP.NET Web API入门
    ASP.NET Web API 简介
    浅析利用MetaWeblog接口同步多个博客
    说说JSON和JSONP,也许你会豁然开朗
    说说JSON和JSONP,也许你会豁然开朗
    点击ListView 获取所选择行的数据
    Label 控件设置背景透明色
    C#遍历窗体所有控件或某类型所有控件 (转)
    使用Window 自带的控件 axWindowsMediaPlayer 制作播放器
    ASP.net 学习路线(详细)
  • 原文地址:https://www.cnblogs.com/chensunrise/p/5683090.html
Copyright © 2011-2022 走看看