Activity有些公共部分,比如setContentView、Activity管理、初始化操作、联网操作、Activity跳转、关闭当前Activity、保存用户登录信息、读取用户登录信息等。

我们可以抽取成一个抽象类BaseActivity,再新建Activity的时候,继承BaseActivity重写一些方法即可,如果用不着的方法也可以不用管。

public abstract class BaseActivity extends FragmentActivity{   /*★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★*/   public AsyncHttpClient client=new AsyncHttpClient();//联网操作需要的AsyncHttpClient对象   /*★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★*/   @Override   protected void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      //设置当前View      setContentView(getLayoutId());      //绑定控件      ButterKnife.bind(this);      //将当前的activity添加到自己的栈空间中      AppManager.getInstance().add(this);      //初始化操作      initTitle();      initData();   }   /*★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★*/   public abstract RequestParams getParams();   public abstract String getUrl();   public abstract int getLayoutId();   public abstract void initTitle();   public abstract void initData();   /*★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★*/   /**    * 启动新的Activity    */   public void goToActivity(Class activity,Bundle bundle){      Intent intent=new Intent(this,activity);      if(bundle!=null){//       intent.putExtras(bundle);         intent.putExtra("data",bundle);      }      startActivity(intent);   }

   /**    * 关闭当前Activity    */   public void closeCurrentActivity(){      AppManager.getInstance().removeCurrent();   }   /*★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★*/   /**    * 保存用户登录信息    * @param user    */   public void saveLogin(User user){      SharedPreferences sp = getSharedPreferences(AppNetConfig.USER_INFO, MODE_PRIVATE);      SharedPreferences.Editor editor = sp.edit();      editor.putString(AppNetConfig.UF_ACC, user.UF_ACC);      editor.putString(AppNetConfig.UF_AVATAR_URL, user.UF_AVATAR_URL);      editor.putString(AppNetConfig.UF_IS_CERT, user.UF_IS_CERT);      editor.putString(AppNetConfig.UF_PHONE, user.UF_PHONE);      editor.commit();   }

   /**    * 读取本地保存的用户信息    * 注意:SP保存的头像图片地址为服务器的url,本地头像是另外一个地址,不在这里保存    * @return    */   public User readLogin(){      User user=new User();      SharedPreferences sp = getSharedPreferences(AppNetConfig.USER_INFO, MODE_PRIVATE);      user.UF_ACC=sp.getString(AppNetConfig.UF_ACC,"");      user.UF_AVATAR_URL=sp.getString(AppNetConfig.UF_AVATAR_URL,"");      user.UF_IS_CERT=sp.getString(AppNetConfig.UF_IS_CERT,"");      user.UF_PHONE=sp.getString(AppNetConfig.UF_PHONE,"");      return user;   }   /*★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★*/}

转载于:https://www.cnblogs.com/libuyi/p/5904464.html

BaseActivity的抽取相关推荐

  1. android 怎么封装方法,开发那点事(九)安卓开发,封装常用方法,工作用

    开发背景 思路来源于开发那点事(八)在js的基础上封装的一些功能,这次写了一个安卓项目,并封装了网络请求,加载对话框,等常用的一些方法 公用方法 1 Common,LogUtil等工具类抽取 2 Ap ...

  2. 2.抽取代码(BaseActivity)

    知识点 俩种退出程序的方法 复制集合 同步的用法 字符数组 工厂模式,生产fatgment,解决了碎片重复创建的问题 全局上下文 actionbar用法 fargmentadapter,当viewpa ...

  3. android 程序类图,Android模板设计模式之 - 构建整个应用的BaseActivity

    1. 模式介绍 模式的定义 定义一个操作中的算法的框架,而将一些步骤延迟到子类中.使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤. 模式的使用场景 多个子类有公有的方法,并且逻辑基本相 ...

  4. Android运行时权限,设置帮助类BaseActivity;电话权限,短信权限,

                                      Android运行时权限设置帮助类BaseActivity  一.电话权限 package com.glandroid.smssen ...

  5. 知识图谱中传统关系抽取方法

    目前主要采用统计机器学习的方法,将关系实例转换成高 维空间中的特征向量或直接用离散结构来表示,在标注语 料库上训练生成分类模型,然后再识别实体间关系  基于特征向量方法 最大熵模型(Kambhatl ...

  6. SSAN 关系抽取 论文笔记

    20210621 https://zhuanlan.zhihu.com/p/353183322 [KG笔记]八.文档级(Document Level)关系抽取任务 共指id嵌入一样 但是实体嵌入的时候 ...

  7. 机器不学习:浅析深度学习在实体识别和关系抽取中的应用

    机器不学习 jqbxx.com -机器学习好网站 命名实体识别(Named Entity Recognition,NER)就是从一段自然语言文本中找出相关实体,并标注出其位置以及类型,如下图.命名实体 ...

  8. url获取网站信息不包含网页源文件内的标签_前嗅ForeSpider链接抽取应用场景及链接在源码的html标签里写脚本...

    今天,小编给大家带来的教程为:前嗅ForeSpider脚本教程中,链接抽取的应用场景,以及链接在源码的html标签里写脚本的实战教程.具体内容如下: 一.应用场景 当需要手动添加链接时,可添加链接脚本 ...

  9. opennre 中文关系抽取_OpenNRE 2.0:可一键运行的开源关系抽取工具包

    OpenNRE(https://github.com/thunlp/OpenNRE.git)是清华大学自然语言处理实验室推出的一款开源的神经网络关系抽取工具包,包括了多款常用的关系抽取模型,发布仅一年 ...

最新文章

  1. C++ Primer 5th笔记(chap 13 拷贝控制)三五法则
  2. 如何在防火墙或路由器中禁止访问一些公司不相关网站
  3. 【loj#6220】sum
  4. python解决https私密连接警告信息
  5. CF838C-Future Failure【dp,子集卷积】
  6. 判断unsigned long long乘法溢出_信息安全课程17:缓冲区溢出2
  7. 文件共享服务器地址格式,文件共享服务器配置
  8. 获取某一列_Excel VBA 8.2 获取多列唯一值,不用肉眼,VBA帮你快速搞定
  9. 疫情下远程办公的第二天,躺下来刷刷手机
  10. Java开发笔记(五十)几种开放性修饰符
  11. Django SCRF跨站点请求伪造
  12. 关于AOP方面的设计 UML图
  13. 阿里云智能图像识别服务发布
  14. 幕布(思维导图)官方版 v1.1.15
  15. php 购物车 原理及实现,纯干货丨PHP实现购物车的构建
  16. 2021软科大学排名爬虫程序
  17. 华南理工大学数学专业考研试题参考解答
  18. jvm动态年龄计算规则以及为什么要这样做
  19. EOS系列 - EOSIO 跨链通信
  20. 渗透测试-SQL注入之sqlmap的使用方法及实战案例

热门文章

  1. 秘鲁农业功臣-国际农民丰收节贸易会:蔬菜用广州话发音
  2. @总结 - 4@ 多项式的多点求值与快速插值
  3. iShow UI for React 最佳实践
  4. 《Android进阶之光》--多线程编程
  5. eclipse中出现Context startup failed due to previous errors错误解决方法
  6. PEOPEO飘飘人项目总监胡实:项目经理进阶指南
  7. Apple Pay会不会成为下一个eBay(完结)
  8. PMCAFF | 别学东学西了,先建立自己的知识体系吧
  9. 全球化的LoRaWAN协议会给我们带来什么?
  10. Vert.x中EventBus中的使用