BaseActivity的抽取
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;
}
/*★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★*/
}
BaseActivity的抽取的更多相关文章
- 2.抽取代码(BaseActivity)
知识点 俩种退出程序的方法 复制集合 同步的用法 字符数组 工厂模式,生产fatgment,解决了碎片重复创建的问题 全局上下文 actionbar用法 fargmentadapter,当viewpa ...
- 04、抽取BaseActivity
// 在使用SDK各组件之前初始化context信息,传入ApplicationContext // 注意该方法要再setContentView方法之前实现 // SDKInitializer.ini ...
- 高效抽取loading,再多的载入页面也不怕
当今的app基本上有两个操作,一个是载入数据 ,一个就是把数据显示到页面上.但假设页面特别的多.就每一个页面都要载入数据,就要写 loading 页面.我之前就是用dialog写,抽取出来一个类.哪里 ...
- 使用rowid抽取数据方法以及大数据量游标卡住的应对
平时工作的时候,经常会遇到这种事情,从一个大表A中,抽取字段a在一个相对较小B的表的数据,比如,从一个详单表中,抽取几万个用户号码的话单出来.这种时候,一般来说, 做关联查询: create tabl ...
- TODO:从数据库中随机抽取一条记录
TODO:从数据库中随机抽取一条记录 1.最直接,最粗暴的方法先计算记录的总数,然后选择一个从0到记录总数之间的随机数n,利用skip跳过n条记录,这是效率低下的的方法,首先的记录总数,在用skip会 ...
- 【NLP】Tika 文本预处理:抽取各种格式文件内容
Tika常见格式文件抽取内容并做预处理 作者 白宁超 2016年3月30日18:57:08 摘要:本文主要针对自然语言处理(NLP)过程中,重要基础部分抽取文本内容的预处理.首先我们要意识到预处理的重 ...
- SQL Server 随机数,随机区间,随机抽取数据rand(),floor(),ceiling(),round(),newid()函数等
在查询分析器中执行:select rand(),可以看到结果会是类似于这样的随机小数:0.36361513486289558,像这样的小数在实际应用中用得不多,一般要取随机数都会取随机整数.那就看下面 ...
- Android 谈谈封装那些事 --BaseActivity 和 BaseFragment(二)
1.前言 昨天谈了BaseActivity的封装,Android谈谈封装那些事--BaseActivity和BaseFragment(一)有很多小伙伴提了很多建议,比如: 通用标题栏可以自定义Vi ...
- tungsten抽取和应用mysql binlog
首先举例说明 api的基本使用方式 首先进行配置 , 可以看到源数据库和目的数据库 TungstenProperties tp=new TungstenProperties(); tp.setStri ...
随机推荐
- 利用@property实现可控的属性操作
利用@property实现可控的属性操作 Python中没有访问控制符, 不像java之类的 public class Person{ private int x public int getAge( ...
- Python数据类型之“数字(numerics)”
上一节内容说的是"Python基本语法",本节主要讲下Python中的数据类型. 存储在内存中的数据通常有两个属性: 在内存中的存放位置:这个存放位置通过变量名可以找到: 在内存中 ...
- javascript中可变值与不可变值(原始值)
字符串原始值修改不了1 var str = "abc"; 2 str[0] = "d"; 3 console.log(str[1]="f") ...
- 使用SSIS进行数据清洗
简介 OLTP系统的后端关系数据库用于存储不同种类的数据,理论上来讲,数据库中每一列的值都有其所代表的特定含义,数据也应该在存入数据库之前进行规范化处理,比如说"age"列 ...
- CSS文本方向
前面的话 一般地,正常网页文本方向都是从上到下,从左到右.实际上,有多种设置文本方向的属性,前面已经详细介绍过text-align,HTML全局属性中有一个"dir"属性就是专门用 ...
- CSS光标cursor
前面的话 在浏览器中,光标对于提供交互反馈很有用.通过在不同的场景中改变光标,就能赋予其不同的含义 定义 cursor光标 值: [<uri>,]*[auto | default | po ...
- 前端学PHP之基础语法
× 目录 [1]代码标识 [2]注释 [3]输出 [4]计算表达式 [5]大小写 [6]空白符 前面的话 PHP是一种创建动态交互性站点的强有力的服务器端脚本语言.PHP能够包含文本.HTML.CSS ...
- 2014牡丹江网络zoj3816Generalized Palindromic Number(dfs或者bfs)
#include <iostream> #include <stdio.h> #include <cmath> #include <algorithm> ...
- 蒙特·卡罗算法的Python实现
一 背景 此算法诞生的背景是: 曼哈顿计划,有极大的计算需求. 计算机刚开始发展,最适合做计算. 蒙特卡洛算法理论基础是概率论,实际就是暴力计算逼近理想结果.正是在以上两个背景下,它刚好得到了极大的应 ...
- [java] 汇率换算器实现-插曲1-正则表达式(1)
[java] 汇率换算器实现-插曲1-正则表达式(1) // */ // ]]> // */ // ]]> [java] 汇率换算器实现-插曲1-正则表达式(1) Table of C ...