0
点赞
收藏
分享

微信扫一扫

Android Application的写法二


一、概述:

1、在此application里封装了对activity与service的统一管理
2、统一管理当前用户信息,在其它页面获取通过

Account account = ((ChatApplication)getApplication()).getCurrentAccount();

二、代码:

package com.android.chat;

import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import android.accounts.Account;
import android.app.Activity;
import android.app.Application;
import android.app.Service;
import android.content.Intent;
import android.util.Log;

/**
* @描述 application
* @项目名称 App_Chat
* @包名 com.android.chat
* @类名 ChatApplication
* @author chenlin
* @date 2013年6月24日 下午9:38:07
* @version 1.0
* @SVN $Rev$
* @updater $Author$
* @updateTime $Date$
* @更新描述 TODO
*/
public class ChatApplication extends Application {
private List<Activity> activitys = new LinkedList<Activity>();
private List<Service> services = new LinkedList<Service>();
private Account account;

@Override
public void onCreate() {
super.onCreate();

Log.d("ChatApplication", "init");
}

public void addActivity(Activity activity) {
activitys.add(activity);
}

public void removeActivity(Activity activity) {
activitys.remove(activity);
}

public void addService(Service service) {
services.add(service);
}

public void removeService(Service service) {
services.remove(service);
}

public void closeApplication() {
closeActivitys();
closeServices();
}

private void closeActivitys() {
ListIterator<Activity> iterator = activitys.listIterator();
while (iterator.hasNext()) {
Activity activity = iterator.next();
if (activity != null) {
activity.finish();
}
}
}

private void closeServices() {
ListIterator<Service> iterator = services.listIterator();
while (iterator.hasNext()) {
Service service = iterator.next();
if (service != null) {
stopService(new Intent(this, service.getClass()));
}
}
}

public Account getCurrentAccount() {
if (account == null) {
AccountDao dao = new AccountDao(this);
account = dao.getCurrentAccount();
}
return account;
}

}


举报

相关推荐

0 条评论