Android第三章 Activity

来源:互联网 发布:enako 知乎 编辑:程序博客网 时间:2024/05/18 19:38

Application

每个应用程序在不指定application的时候,系统都会帮助生成一个Application的实例。
一个Application代表的就是当前的应用程序
一般使用Application来做

  • 共享数据
  • 循环便利退出
  • 初始化第三方组件
    如果要实现这上面这三点,一般需要实现单例模式,注意点:
  • 不允许私有构造方法,由系统初始化
  • 不允许创建对象,对象由系统创建
  • 在onCreate生命周期中,将instance对象和this绑定。

Activity

android的核心对象之一
所有和用户交互(显示,操作)的功能都在这里

1. android:screenOrientation 指定当前Activity显示横竖等2. android:exported 是否允许activity被其它程序调用3. android:launchMode 设置Activity的启动方式standard、singleTop、sin4. gleTask和singleInstance
  1. Android四大组件之一,
  2. Activity 95% 显示UI,处理和用户的交互
  3. Service 2% 处理后台长期任务,没有界面
  4. BroadcastReceiver 3% 通信,组件交互,
  5. ContextProvider 0% 获取联系人,短信。
Context 上下文1. context 是 Application 和 activity的父类2. 2.很多方法中,传递的都是上下文,而不是具体的Activity或者Applicati

Activity的生命周期

  1. 创建 onCreate - onStart - onResume
  2. 死亡 onPause - onStop - onDestroy
    被盖住的情况
  3. 完全盖住 onPause - onStop 运行 onRestart - onStart - onResume
  4. 遮住一部分 onPause 运行 onResume
  5. 被回收了 被杀死,不会再执行任何的方法,在回来的时候,已经不是它了,从新创建另外
    一个activity

创建Activity

  1. 创建类继承于Activity
  2. 重写onCreate的方法并且设置布局(setContentView)
  3. 在manifest中application节点下注册activity(name=创建activity)

跳转Activity

  1. Intent intent = new Intent(this, 要跳转的Activity.class);
  2. startActivity(intent);

Toast

1. 使用静态方法来创建一个Toast对象,调用show方法来展示到屏幕上,一段时间后会自动消失。2. Toast toast = Toast.makeText(Context context,"msg",时间);Toast.LENGTH_LONG,Toast.LENGTH_SHORT3. toast.show();

LogCat界面

  1. Log 日志输出工具
    2.
  2. Log.e w i d v
  3. 可以添加过滤器,一般使用Tag和Application Name(包名+类名)来做过滤
  4. 启动过程
    1. 用户点击某个应用
    1. android系统开始查找该应用中的manifest清单文件,并且开始实例化Application
    1. 开始在整个Application中查找启动页面,去实例化整个启动Activity
    1. 启动的Activity开始实例化,并且调用各个生命周期方法
1. 如果没有,执行:window-show View - other - android - logcat2.3. 过滤器,一般通过 应用程序包名和Tag来过滤4.5. 文本过滤,可以筛选文本6.7. 过滤等级 v,d,i,w,e分别对应Log类的5个日志输出8. Log.v9. Log.d10. Log.i System.out11. log.w12. Log.e

错误

1. ActivityNotFound 没有在manifest中声明2. 颜色必须是 3 4 6 83. Activity修改掉了MainActivity4. Activity配置的时候路径是你自己的5. TextView可以配置图片 左右上下 DrawableLeft,Right,Top,Bottom

关闭Activity

  1. finish();//关闭当前的Activity

点击事件是View的方法,任意一个视图都可以被点击

xml中配置的点击事件

1. 在对应的Activity中,去实现这个方法2. public void xxx(xml中设置的方法名)(View v){3. //v代表当前点击的视图4. }

代码中配置点击事件

  1. 直接设置this,让activity去实现这个接口,重写这个方法
  2. 直接new OnClickListener(){//重写方法};

Activity常用方法

1. //设置布局2. 设置布局:setContentView(View/layoutId)3. 关闭Activity:finish()4. 从Activity找到组件:findViewById(resId);

监听事件

1. 每个组件 都有 监听事件。2. View有三个监听器3.onClickListener 点击事件4. onLongClickListener 长按事件5. //自定义View去讲6.onTouchListener 触摸监听 (按下,抬起,滑动)
1. view.setOnClickListener(OnClickListener);2.3. interface OnClickListener4. {5. void onClick(View v);6. }

设置字体

1. 在accets中添加字体(不能中文)2. tv.setTypeface(Typeface.createFromAsset(getAssets(), "ttf/fzfdw.ttf"));

Activity栈

Activity带参跳转,带参返回

1. Bundle:专门用来携带数据的一个类,里面可以存放各种基本数据类型和序列化的对象。2. Intent:intent有一个Bundle的成员变量,所有数据实际存放在Bundle3. intent可以put的数据类型有:4. 8种基本数据类型和数组5. String和String数组6. ArrayList<String|Integer>7. 两种序列化对象1. Intent intent = new Intent(Activity.this,xxx.class);2. intent.putXXX(key,value);//将数据保存在intent中3. startActivity(intent);4.5.6. Intent intent = getIntent();7. XXX data = intent.getXXX(key[,defalutValue]);

Activity带参返回

启动和普通不一样,启动方法为
startActivityForResult(intent,请求识别码);
重写Activity的 onActivityResult的方法来接受返回数据
返回数据页面中调用 setResult(RESULT_CODE[,Intent data]);finish();返回数据
ImageView 动态设置图片 setImageResouce(R.drawable.xxx);

代码创建
布局技巧
include
merge

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 中考是什么 江苏省中考 中考辅导班 泰安中考 深圳中考网 中考题型 河北中考网 西安中考网 威海中考 中考内容 泰安中考网 中考难吗 潮州中考 中考多少分 中考时间表 上海中考网 天津中考网 中考卷子 广州中考 合肥中考 南宁中考 兰州中考 济南中考网 几号中考 江西中考网 取消中考 中考考场 徐州中考 中考的分数 成都中考 上海中考 石家庄中考 中考报名 镇江中考 中考日期 中考生物 衡水中考 泰州中考 中考照片 英语中考 杭州中考