Activity应该知道的一切(1)

1、activity是什么

activity:翻译为“活动”,是Android程序的四大组件(广播、服务、内容提供者)之一,提供了与用户交互的可视化界面(用户能够看到的界面都是在activity中),包含了一些供用户观看和操作的控件,通常一个activity代表手机屏幕的一屏。

2、activity的简单实用

要想使用一个事物,必须要先有这个事物;如果此事物都不存在,何谈使用呢?因此要使用activity就必须先创建一个activity!       2.1、创建Activity

    activity是基本组件之一,要创建activity就必须继承Activity或者Activity的子类。

    方式一 、在包名文件夹右键--》New-->Java Class,如图:

    

    在弹出框中编辑Activity信息,如图:

    

    方式二、在包名文件夹右键--》New-->Activity,如图:

    

    选择Gallery浏览,如图:


    此时选择空样式即可,填写activity信息,如图:


    两种方式创建结果一样,如图:


    2.2注册Activity并启动程序

    android程序的四大组件都必须在清单文件AndroidManifest.xml中配置注册。

    

    <activity></activity>标签必须放在<application></application>里面。

    

    如果程序中没有声明任何一个Activity作为主Activity启动,程序仍然可以正常安装,只是无法在启动器中看到或者打开这个程序,这种程序一般都作为第三方服务供其他的应用在内部进行调用。

    此时即可编译代码,启动程序:

    

    2.3启动另一个Activity

    如果一个程序中只有一个活动界面就太简单了,那么如果有多个Activity,该怎样从一个启动的activity中进入另一个activity中呢?现在按照上面的步骤再创建一个SecondActivity,如图:

    

    此时你会发现类中没有任何方法和属性,这是默认创建的Activity。如果要给此activity填充内容界面,需要为该activity创建布局文件,并加载进该activity。

    创建布局文件:

        在res文件夹中选中layout文件夹右键--》New--》Layout resource file,如图:

    

    

        如上填写布局信息,完成后,会自动在R文件中生成对应资源的ID。

    加载进activity:

     通常集成activity或其子类后,需要重写onCreate()方法,

    

    并在方法中加载该活动页面的界面。如图:

    

    常用方法1 setContentView(int layoutResID) 加载布局资源,参数:资源在R文件中生成的id。

    既然第二个Activity已经有了那么怎样从MainActivity中进入该Activity中呢?

    操作控件:

    首先,在创建MainActivity布局中,没有加入任何的自定义元素,此时添加一个按钮Button,当用户点击按钮时,进入SecondActivity。

    在activity_main.xml中添加按钮Button,如图:

    

    其次,要点击按钮,就必须在MainActivity中查找到按钮控件,如图:

    

    常用方法2 findViewByID(int id) 查找布局资源中的控件,参数:控件在R文件中生成的id。

    然后,点击按钮,如何知道按钮被用户点击了呢?那就需要监听此按钮被点击的事件,给按钮设置点击事件,如图:


    常用方法3 setOnClickListener(OnClickListener listener) 给控件设置点击监听事件,参数:点击监听接口实例对象。

    最后,既然知道了用户点击了按钮,接下来就是进行跳转到SecondActivity。Activity进行跳转提供了一个方法:

    常用方法4 startActivity(Intent intent)启动新的Activity,参数:意图Intent 对象

    Intent是Android程序中各组件之间进行通信交互的主要方式,可以指定活动意图而且还可以传递数据。

    

    重新编译代码启动程序,点击按钮进行跳转,却发现如下错误:SecondActivity没有找到,问是否在清单文件中注册。刚刚在创建SecondActivity时,并没有在ActivityManifest.xml 中注册,四大组件必须在清单文件中进行注册。  

    

    再重新编译运行即可!

    2.4关闭Activity

    在上一步进行了跳转新的Activity,那么怎么关闭新的Activity呢?接下来在activity_second.xml布局文件中添加一个按钮,当点击按钮的时候,关闭当前的Activity。

    步骤不再赘述,如图:

   

    

     常用方法5 finish()关闭当前Activity。

猜你喜欢

转载自blog.csdn.net/JackiAndroid/article/details/80036895
今日推荐