zoukankan      html  css  js  c++  java
  • 安卓开发 Activity入门

    生命周期

    Activity包含5种状态,涉及7种方法

      1. 启动状态

      2. 运行状态 ***

        即使内存不足,Android先销毁栈底的Activity,来确保当前Activity正常运行

      3. 暂停状态  (可见,无法获取焦点

      4. 停止状态  (完全不可见

      5. 销毁状态  

     

      OnCreat 创建时调用,初始化设置

      OnStart  Activity即将可见时调用 

      OnResume 获取焦点开始与用户交互时调用

      OnPause  在当前Activity被其他Activity覆盖或锁屏时调用

      OnStop 在Activity对用户不可见时调用

      OnDestroy 

      OnRestart

    Activity的启动模式

      standard模式

      singleTop模式

      singleTask模式

      singleInstance模式

    Activity 之间的跳转

      Intent

    显式意图

    Intent intent = new Intent(this, SecondActivity.class);
    startActivity(intent);

    隐式意图

    Intent intent = new Intent();
    intent.setAction("android.intent.action.VIEW");
    startActivity(intent);

    category是一个默认值的话,可以省略不屑

    在清单文件 AndroidManifest.xml 配置 <intent-filter> 如下所示

     

    <intent-filter tools:ignore="AppLinkUrlError">
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <data android:scheme="http" />
    </intent-filter>

    数据传递

    intent.putExtra("data", "draymonder");

    数据回传

    // 请求方
    Intent intent = new Intent(this, MainActivity.class);
    startActivityForResult(intent, 1);
    
    
    
    // 接收方回传数据
    Intent intent  = new Intent();
    intent.putExtra("data", "Hello");
    setResult(1, intent);

      

    // 请求方 因为 接收方Activity结束后 会调用回传函数
    @Override
    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
        super.onActivityReslt(requestCode, resultCode, data);
        if(requestCode == 1) {
            if(resultCode == 1) {
                String str = data.getStringExtra("data");
                System.out.println(str);
            }
        }
    }

     Bundle 传递信息

    Intent intent = new Intent(this, Main2Activity.class);
    Bundle bundle = new Bundle();
    bundle.putString("data", "draymonder");
    bundle.putInt("height", 173);
    intent.putExtras(bundle);
    startActivity(intent);

    获取信息

    Bundle bundle  = this.getIntent().getExtras();
    String str = bundle.getString("data");
    int height = (Integer) bundle.get("height");
    Log.i("Main2",str + " " + height);
  • 相关阅读:
    Mongodb介绍(非原创)
    软件架构设计常用方法-软件架构设计学习第五天(非原创) 发布成功,点击查看文章
    浅谈Javascript中的原型、原型链、继承
    GitHub当作私密的版本控制系统远端版本库私有化
    TortoiseGit 绑定 GitHub/Gitee ssh秘钥
    一次停电引发服务器硬件故障
    sed往指定位置插入变量的小技巧
    SQL server 2008 R2 安装步骤
    Sublime Text提示Unable to download XXX. Please view the console for more details安装插件失败解决
    Sublime Text3配置Lua运行环境
  • 原文地址:https://www.cnblogs.com/Draymonder/p/9842582.html
Copyright © 2011-2022 走看看