关闭

Android08--Android之基本组件Activity

标签: android
196人阅读 评论(0) 收藏 举报
分类:

Android中的四大基本组件分别是:Activity,Service服务,Content Provider内容提供者,BroadcastReceiver广播接收器.
今天来学习Activity

/* 
 * 变量在Actvity不能只用static修饰, 在Android中尽量也要避免,最好以一种常量.
 * Activity他依赖于类存在,类依赖于进程,只有进程被销毁的时候,类中的静态变量才会更新
 */

1.首先是生命周期

这里写图片描述

这里写图片描述

2.类 对象 Activity的生命周期

一个Activity类的生存周期依赖于整个进程,Activity的生命周期到onDestory结束,一个类的对象的生命周期到finalize结束..

3.横屏与竖屏之间的切换和数据保存

1.横竖屏之间的切换是通过在AndroidManifest.xml中设置activity中的android:screenOrientation属性值来实现。在切换时,当前的Activity会onDestroy掉.然后显示时再创建.
它的属性:参见:
http://www.cnblogs.com/franksunny/archive/2012/03/21/2410484.html

2.现场保护:

屏幕在横屏和竖屏之间切换时,对于一些控件他是做了现场保护的,也就是说,会保存竖屏上的数据到横屏上去显示,而一些控件则需要自行保护.

1.EditText中只要设置上id,就可以横屏与竖屏之间保存数据并且显示了.
2.TextView如果设置点击时间,改变text的显示,就需要下面这样做了.

首先要实现一个函数:就是存储保护的数据以Bundle传输(现场保护)

  @Override
    protected void onSaveInstanceState(Bundle outState) {
        // 不可删除,否则本来可以保护的就也没用了
        super.onSaveInstanceState(outState);
        outState.putCharSequence("textView", textView.getText());
    }

在Activity创建的时候,将要做了保护的的数据显示:

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Log.d(TAG, "onCreate: ");
        textView = (TextView) findViewById(R.id.main_text);
        textView.setOnClickListener(this);
        if (savedInstanceState != null) {
            CharSequence charSequence = savedInstanceState.getCharSequence("textView");
            textView.setText(charSequence);
        }
    }

3.为了界面

1.我们需要将横屏时也要写一个xml,我们需要新建一个layout,选择横屏.
2.默认情况下,横屏和竖屏都会显示默认的Activity,在进行显示时,会先选择范围小的(先判断是否有横屏竖屏的布局)

4.finish和Destory的区别

1.finish结束当前Activity,目前只是将正在显示deActivity推到后台,还没有对资源进行相应的回收,当系统没有可用内存到时候,会按照优先级,释放部分应用,会在适合的时间执行到onDstory方法中.

2.onDstory方法执行之后就代表整个Actvity 的声明周期完了,会对资源进行回收.

5.退出(返回键的设置)

在我们使用Intent进行跳转时,返回键的默认设置是回到上一个Activity.

 @Override
    public void onBackPressed() {
        // 禁用返回按钮
//        super.onBackPressed();

        // SystemClock.uptimeMillis()取当前时间,安卓这样使用,System.currentTimeMillis()一样,前者取到的东西会多一些.
        // 和上一次点击时间相比
        if (SystemClock.uptimeMillis() - time < 3000) {
          /*  // 退出当前activity
            finish();
            // 退出当前应用
//            finishAffinity();,版本太高
            // 兼容的
            ActivityCompat.finishAffinity(this);*/

          /*  // 退出整个虚拟机,导致整个应用以为退出,会做一个恢复
            System.exit(0);*/

            // 杀死应用,也会做恢复.
            Process.killProcess(Process.myPid());
        } else {
            Toast.makeText(Other_Activity.this, "再点击一次退出", Toast.LENGTH_SHORT).show();
            time = SystemClock.uptimeMillis();
        }
0
0
查看评论

Android08--Android之Activity的四种启动模式

http://blog.csdn.net/shinay/article/details/7898492
  • u012954720
  • u012954720
  • 2016-08-29 21:46
  • 180

四大基本组件之Activity

Activity是什么?在Android应用中,一个 Activity 通常有一个单独的可视化界面,在这个界面上等可以显示控件(一般是通过加载Layout下的xml资源文件设置的View来实现页面布局),可以监听事件做出响应(在具体的Activity类中实现 ) 当新建应用时就会有一个Ma...
  • zhangbohun
  • zhangbohun
  • 2016-01-11 23:18
  • 117

学习笔记:Android基本组件之Activity

Android开发基本学习笔记记录,本文章主题为百度百科中的章节,稍有改动。 Activity概述   Activity是Android组件中最基本也是最为常见用的四大组件(Activity,Service,Content Provider,Broadcast Receiver)之一。...
  • lightlater
  • lightlater
  • 2016-01-04 12:32
  • 350

Android四大基本组件之 Activity

【Activity介绍】 Activity 是用户接口程序,原则上它会提供给用户一个交互式的接口功能。它是 android 应用程序的基本功能单元。Activity 本身是没有界面的。所以activity类创建了一个窗口,开发人员可以通过setContentView(View)接口把UI放到act...
  • qq_14984307
  • qq_14984307
  • 2016-04-15 12:43
  • 623

四大基本组件之Activity(生命周期)

1.启动Activity:系统会先调用onCreate方法,然后调用onStart方法,最后调用onResume,此时Activity进入运行状态。 2.当前Activity被其他Activity覆盖或被锁屏:系统会调用onPause方法,暂停当前Activity的执行。 3.当前Activit...
  • weixin_39704078
  • weixin_39704078
  • 2017-10-10 13:25
  • 42

Android应用程序的基本组件之Activity

一个Android应用程序可以有几个不同的组件构成,其中Android应用程序中基本组件有Activity,Servier,BroadcastReceiver,ContentProvider等,不同的组件具有不同的特性以及各自的生命周期,在android应用程序开发中经常用到。在接下来的几篇文章里,...
  • ACCP_2008123456
  • ACCP_2008123456
  • 2012-02-02 18:21
  • 826

Android基本组件-Activity

什么是Activity 在Android程序中,每个Activity继承自android.app.Activity, 有一个与之对应的xml布局文件, 一个界面对应一个Activity, 每个Activity都需要在AndroidManifest.xml中注册 Activit...
  • u013187626
  • u013187626
  • 2015-05-19 14:26
  • 240

Android四大基本组件——Activity

Activity: 应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。 Activity的知识点主要分为两个部分,Activity生命周期,Activity之间的Intent数据通信。 Activity声明周期 BACK键:...
  • L664675249
  • L664675249
  • 2015-10-04 13:10
  • 1153

Android四大基本组件_Activity

Android四大基本组件_Activity Activity : 应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。 Activity之间通过Intent进行通信。在Intent 的描述结构中,有两个最重要的部分:动作和动作对应...
  • as4061218
  • as4061218
  • 2015-12-03 16:17
  • 113

Android基本组件——Activity详解

应用程序中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。 Activity之间通过Intent进行通信。在Intent 的描述结构中,有两个最重要的部分:动作和动作对应的数据。 典型的动作类型有:M AIN(activity的门户)、VI...
  • ProgrammerMonkey
  • ProgrammerMonkey
  • 2014-09-27 10:36
  • 234
    个人资料
    • 访问:25747次
    • 积分:990
    • 等级:
    • 排名:千里之外
    • 原创:69篇
    • 转载:17篇
    • 译文:0篇
    • 评论:2条
    文章分类