• 0755-82538016
  • 0755-82560826
  • 深圳网站建设_APP小程序开发_博纳网络

    • 网站建设案例
      • ";

        营销网站建设

        全网营销网站

        高端网站建设

        商城网站建设

        外贸网站建设

        小程序开发

        区块链开发

        物联网项目开发

        定制app开发

        在线教育网站

        速成网站建设

        服装网站建设

        餐饮网站建设

        珠宝首饰网站

        机械制造网站

        文化旅游网站

        家装建材网站

        美容化妆品网站

        数码产品网站

        模板案例库

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站推广
      • ";

        网站优化基础

        建站优化

        网站优化

        营销推广

        整站优化

        推广帮助

        谷歌搜索

        推广方案

        推广套餐

        推广技巧

        百度排名

        巧用微博推广

        直播视频网站推广法

        微信推广网站方法

        网站外链推广

        公共微信号推广

        网站优化闲谈

        常见问题

        公司资讯

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站制作资讯
      • ";

        网站制作

        外贸网站建设

        网站设计

        网站代运营

        深圳网站建设专栏

        深圳小程序开发

        网站改版

        APP开发

        网站建设方案

        安全维护

        软件开发

        平台搭建

        建站行业资讯

        域名注册

        虚拟主机

        企业邮局

        国外主机

        VPS独享空间

        免备案香港服务器

        如何解析域名

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 网站报价
      • ";

        网站报价

        建站方案

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 公司动态
      • ";
        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 关注博纳
      • ";

        网站制作精英团队

        网站建设公司愿景

        公司介绍

        主营业务

        博纳文化

        加入博纳

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
    • 联系我们
      • ";

        网站建设公司联系方式

        网站建设、网站制作公司乘车路线

        联系电话:0755-82560826 82538016 82560635邮箱:qin@198bona.com地址:深圳市福田区皇岗路5007神采苑402栋610
      网站制作资讯

      当前位置:

        主页网站制作资讯APP开发项目开发怎样解决Activity消息路由实操代码

      项目开发怎样解决Activity消息路由实操代码

      发布时间:2019-03-20

      文章编辑:网站建设 文章来源:APP开发 浏览量:次

        开发APP对于FLAG解决方案,首先深圳APP开发公司本文就FLAG解决方案对于FLAG进行简单介绍,启动Activity时,可以通过在传递给startActivity()的Intent中加入相应的FLAG,修改Activit与其任务的默认关联方式。
      常用的FLAG说明:FLAG_ACTIVITY_NEW_TASK在新任务中启动Activity,如果为正在启动的Activity运行任务,则该任务会转到前台并恢复其最后状态,同时Activity会在onNewIntent()中收到新Intent。
        使用这个FLAG会产生与“singleTask”启动模式相同的行为。FLAG_ACTIVITY_SINGLE_TOP
      如果正在启动的Activity是当前Activity(位于返回栈的顶部),则现有实例会接收对onNewIntent()的调用,而不是创建Activity的新实例。使用这个FLAG会产生与“singleTop”启动模式相同的行为。
      FLAG_ACTIVITY_CLEAR_TOP
      如果正在启动的Activity已在当前任务中运行,则会销毁当前任务顶部的所有Activity,并通过onNewIntent()将此Intent传递
      给Activity已恢复的实例(现在位于顶部),而不是启动该Activity的新实例。
      注意:如果指定Activity的启动模式为“standard”,则该Activity也会从堆栈中移除,并在其位置启动一个新实例,以便处理传入的Intent。这是因为当启动模式为“standard”时,将始终为新Intent创建新实例。FLAG_ACTIVITY_NO_HISTORY新的Activity将不在历史堆栈中保留,一旦从此Activity跳转到其他的Activity,那么这个Activity就销毁了。例如A启动B的时候,给B设置了FLAG_ACTIVITY_NO_HISTORY,那么B启动C后,堆栈中保留的Activity就会变为A和C。
      开发APP关于解决Activity消息路由解决方案
        在Android开发中,常遇到多个Activity间的直接通信和调用,这样会导致Acticity间的横向依赖。
      为了解决此问题,可以设计和实现一个路由框架,实现不同Activity间的解耦。
      APP开发公司关于关于设计思路 
        实现一个Activity路由类,由这个类实现Activity间的路由,各Activity间不直接联系,由路由类作为中间件,实现各Activity间的联系。目前大多数路由方式都是采用URL的方式实现的,在此利用类的反射机制实现此功能,实现方式相对简单。
      APP开发公司Activity消息路由具体实现 路由类的示例代码如下:publicclassActivityRouter{  //每创建一个Activity,就在此定义一个字符串,记录此Activity的类名
       
        public static final String SECOND_ ACTIVITY = "com. example. myapplication. SecondActivity";     public static final String THREE_ ACTIVITY = "com. example. myapplication. ThreeActivity";     public static final String FOUR_ ACTIVITY = "com. example. myapplication. FourActivity";    // 传递 Activity 消息的方法, activityContext 表示 调用 startActivity 的 Activity, activityName    // 表示被调用或被通知的 Activity 的类名字符串     public static boolean ActivityRouter( Intent intent, Context activityContext, final String activityName){     if( intent == null || activityContext == null || activityName == null){         return false;    }     Class<?> activityClass = null;     try {        // 通过类名字符串,找到相应的类         activityClass = Class. forName( activityName);         if( activityClass != null){             intent. setClass( activityContext, activityClass);        }
       } catch (Exception e){         e. printStackTrace();         return false;    }     return true;   } } 使用 示例: //Activity 间不传值时的情况 Intent intent = new Intent(); if (ActivityRouter. ActivityRouter( intent, MainActivity. this, ActivityRouter. SECOND_ ACTIVITY)) {     startActivity( intent); } //Activity 间传值时的情况 Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle. putString(" keyString", "string"); bundle. putInt(" keyInt", 100);
      intent. putExtras( bundle); if (ActivityRouter. ActivityRouter( intent, MainActivity. this, ActivityRouter. THREE_ ACTIVITY)) {     startActivity( intent); } //Activity 间传值,且主调 Activity 需要接收被调 Activity 返回值的情况 Intent intent = new Intent(); Bundle bundle = new Bundle(); bundle. putString(" keyString", "hello"); bundle. putInt(" keyInt", 400); intent. putExtras( bundle); if (ActivityRouter. ActivityRouter( intent, MainActivity. this, ActivityRouter. FOUR_ ACTIVITY)) {     startActivityForResult( intent, REQUESTCODE); }
      好了,APP开发公司本文关于“
      项目开发怎样解决Activity消息路由实操代码”的经验分享就到这里,谢谢关注,博纳网络编辑整理。
       
       

      当前文章链接:/construction/appkaifa/2408.html
      上一篇:开发APP公司关于Activity四种模式概述 下一篇:开发APP关于Activity数据的保存和恢复方法详解
      返回列表
      如果您觉得案例还不错请帮忙分享:

      [声明]本网转载网络媒体稿件是为了传播更多的信息,此类稿件不代表本网观点,本网不承担此类稿件侵权行为的连带责任。故此,如果您发现本网站的内容侵犯了您的版权,请您的相关内容发至此邮箱【qin@198bona.com 】,我们在确认后,会立即删除,保证您的版权。

      相关案例推荐

      • 艺术仓

        艺术仓

        行业网站

        艺术仓

      • 聚腾营销

        聚腾营销

        企业网站

        聚腾营销

      • 艾都广告

        艾都广告

        企业网站

        艾都广告

      资讯分类

      • 网站制作
      • 外贸网站建设
      • 网站设计
      • 网站代运营
      • 深圳网站建设专栏
      • 深圳小程序开发
      • 网站改版
      • APP开发
      • 网站建设方案
      • 安全维护
      • 软件开发
      • 平台搭建
      • 建站行业资讯
      • 域名注册
      • 虚拟主机
      • 企业邮局
      • 国外主机
      • VPS独享空间
      • 免备案香港服务器
      • 如何解析域名

      最新发布

      • 社区APP开发上线后影响用户使用的粘性有哪些?
      • 为什么说大健产业O2OAPP开发潜力无限
      • 网络公司对社区O2OAPP开发基本认识
      • 工业4.0时代怎样做好一个APP的开发工作?
      • APP开发公司分析APP应用开发下一个巨头在哪些领域?
      • APP电子商务平台开发前景如何?
      • 社交类型APP开发需要具备的五个必要条件
      • 社交类型APP平台开发使用小程序还是APP模式好?
      • 使用HTML语言开发APP商城可以吗?
      • 社区O2OAPP开发的方向选择

      相关资讯

      • APP网站制作流程以及栏目分布
      • 企业网站优化人员面对搜索引擎的困惑
      • 企业门户网站如何做好针对搜索引擎的优化工作
      • APP/PC购物商城网站如何做好产品图片的优化技巧
      • 网站软文内容以及网站外链存在的几种形式对网站有多大影响
      • 如何做好网站软文标题的描述更适合搜索引擎的需要?
      • 网站建设好后期出现被搜索引擎降权的几个主要因素
      • 小程序开发制作前途取决于市场,别被您的同行抢了先机
      • APP开发公司提醒您关注:电商平台要求商家“二选一”引多方不满 专家提建议
      • APP为什么会在我们的手机界面上变成僵尸图标?

      热门搜索

      • APP开发公司
      • 设计公司
      • 外贸网站建设
      • APP开发
      • 网站免费制作
      • 网站建设
      • 代运营网站
      • 小程序开发
      • 品牌网站建设
      • 深圳网站制作

      Copyright © 2021 博纳网络 版权所有  粤ICP备17054727号

      • 🏠

        首页

      • 💬

        咨询

      • 📞

        通话

      • 📂

        案例

      • ⬆

        返回