创建全局的application
在application 节点下 加上 android:name =”MyApplication“
public class MyApplication extends Application {
private static MyApplication application;
private static int mainThreadTid;
private static Handler handler;
@Override
public void onCreate() {
super.onCreate();
application=this;
handler=new Handler();
mainThreadTid = android.os.Process.myTid();
}
public static MyApplication getApplication() {
return application;
}
/**
* 获取主线程的线程ID
* @return
*/
public static int getMainThreadId(){
return mainThreadTid;
}
public static Handler getHandler() {
return handler;
}
}
二 BaseActivity 框架的搭建
所有的activity都继承BaseActivity Activity在创建的时候都加入到一个activity集合里面,集合用LinkedList(增删比较方便)
在创建一个方法 exitApp ,当应用退出的时候把所有的Activity都finish掉
public void exitApp(){
List<BaseActivity> copy;
synchronized (mActivities) {
copy = new ArrayList<BaseActivity>(mActivities);
}
for(BaseActivity activity:copy){
activity.finish();
}
android.os.Process.killProcess(android.os.Process.myPid());
}
//destory的时候 ,移除掉所有的activity
@Override
protected void onDestroy() {
super.onDestroy();
synchronized (mActivities) {
mActivities.remove(this);
}
}
三 创建一个loadingPage ,继承FrameLayout 这个FrameLayout里面是把每各个fragment都添加
进去,然后根据不同的状态进行显示和隐藏,FragmeLayout本身就是一个ViewGroup,showPage()方法
是控件显示和隐藏的,由于主线程不能进行耗时的操作,子线程不能更新ui,所以要开起线程
在application 节点下 加上 android:name =”MyApplication“
public class MyApplication extends Application {
private static MyApplication application;
private static int mainThreadTid;
private static Handler handler;
@Override
public void onCreate() {
super.onCreate();
application=this;
handler=new Handler();
mainThreadTid = android.os.Process.myTid();
}
public static MyApplication getApplication() {
return application;
}
/**
* 获取主线程的线程ID
* @return
*/
public static int getMainThreadId(){
return mainThreadTid;
}
public static Handler getHandler() {
return handler;
}
}
二 BaseActivity 框架的搭建
所有的activity都继承BaseActivity Activity在创建的时候都加入到一个activity集合里面,集合用LinkedList(增删比较方便)
在创建一个方法 exitApp ,当应用退出的时候把所有的Activity都finish掉
public void exitApp(){
List<BaseActivity> copy;
synchronized (mActivities) {
copy = new ArrayList<BaseActivity>(mActivities);
}
for(BaseActivity activity:copy){
activity.finish();
}
android.os.Process.killProcess(android.os.Process.myPid());
}
//destory的时候 ,移除掉所有的activity
@Override
protected void onDestroy() {
super.onDestroy();
synchronized (mActivities) {
mActivities.remove(this);
}
}
三 创建一个loadingPage ,继承FrameLayout 这个FrameLayout里面是把每各个fragment都添加
进去,然后根据不同的状态进行显示和隐藏,FragmeLayout本身就是一个ViewGroup,showPage()方法
是控件显示和隐藏的,由于主线程不能进行耗时的操作,子线程不能更新ui,所以要开起线程