編輯:關於android開發
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;
}
/*★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★*/
}
Android一步一步帶你實現RecyclerView的拖拽和側滑刪除功能 先上效果圖: 本篇文章我們來學習一個開源項目Android-ItemTouchHelper
Linux內核系列—9.操作系統開發之Loader,linuxloader一個操作系統從開機到開始運行,大致經歷“引導—>加載內核入內存&m
上次介紹了Activity以及Intent的使用,這次就介紹Service,如果把Activity比喻為前台程
Android,androidstudio當我們自定義View的時候,在給View賦值一些長度寬度的時候,一般都是在layout布局文件中進行的。,比如android:l