Browse Source

1、页面跳转动画
2、数据库存储bug

RaoMeng 9 years ago
parent
commit
952cdcb91f

+ 4 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/CustomCrashActivity.java

@@ -4,6 +4,7 @@ import android.app.Activity;
 import android.content.Intent;
 import android.graphics.drawable.AnimationDrawable;
 import android.os.Bundle;
+import android.support.v7.app.AlertDialog;
 import android.view.View;
 import android.widget.Button;
 import android.widget.ImageView;
@@ -34,6 +35,9 @@ public class CustomCrashActivity extends Activity {
         /*if (stackTraceString != null){
             Toast.makeText(this,stackTraceString,Toast.LENGTH_LONG).show();
         }*/
+        if (AppConfig.DEBUG){
+            new AlertDialog.Builder(this).setMessage(stackTraceString).show();
+        }
         final Class<? extends Activity> activityClassFromIntent = CustomActivityOnCrash.getRestartActivityClassFromIntent(intent);
         final CustomActivityOnCrash.EventListener listenerFromIntent = CustomActivityOnCrash.getEventListenerFromIntent(intent);
 

+ 16 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/BaseFragment.java

@@ -1,6 +1,7 @@
 package com.xzjmyk.pm.activity.ui;
 
 import android.app.Activity;
+import android.content.Intent;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.util.Log;
@@ -8,6 +9,8 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
+import com.xzjmyk.pm.activity.R;
+
 public class BaseFragment extends Fragment {
 
 	public String TAG() {
@@ -79,4 +82,17 @@ public class BaseFragment extends Fragment {
 		super.onDetach();
 		Log.d("roamer", TAG() + " onDetach");
 	}
+
+
+	@Override
+	public void startActivity(Intent intent) {
+		super.startActivity(intent);
+		getActivity().overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
+	}
+
+	@Override
+	public void startActivityForResult(Intent intent, int requestCode) {
+		super.startActivityForResult(intent, requestCode);
+		getActivity().overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
+	}
 }

+ 4 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/MainActivity.java

@@ -743,4 +743,8 @@ public class MainActivity extends BaseActivity implements NetWorkObservable.NetW
     }
 
 
+    @Override
+    public void startActivity(Intent intent) {
+        super.startActivity(intent);
+    }
 }

+ 21 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/base/ActionBackActivity.java

@@ -1,6 +1,7 @@
 package com.xzjmyk.pm.activity.ui.base;
 
 import android.content.Context;
+import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.os.Build;
 import android.os.Bundle;
@@ -12,6 +13,7 @@ import android.view.VelocityTracker;
 
 import com.xzjmyk.pm.activity.AppConfig;
 import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.R;
 
 public class ActionBackActivity extends StackActivity {
 
@@ -160,4 +162,23 @@ public class ActionBackActivity extends StackActivity {
     protected void setNotTouchEvent(boolean b) {
         this.b = b;
     }
+
+
+    @Override
+    public void startActivity(Intent intent) {
+        super.startActivity(intent);
+        overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
+    }
+
+    @Override
+    public void startActivityForResult(Intent intent, int requestCode) {
+        super.startActivityForResult(intent, requestCode);
+        overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
+    }
+
+    @Override
+    public void onBackPressed() {
+        super.onBackPressed();
+        overridePendingTransition(R.anim.anim_activity_back_in,R.anim.anim_activity_back_out);
+    }
 }

+ 21 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/base/BaseActivity.java

@@ -2,6 +2,7 @@ package com.xzjmyk.pm.activity.ui.base;
 
 import android.app.Activity;
 import android.content.Context;
+import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.os.Bundle;
 import android.util.TypedValue;
@@ -12,6 +13,7 @@ import com.android.volley.Request;
 import com.android.volley.RetryPolicy;
 import com.umeng.analytics.MobclickAgent;
 import com.xzjmyk.pm.activity.MyApplication;
+import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.erp.net.ViewUtil;
 import com.xzjmyk.pm.activity.ui.erp.view.CustomProgressDialog;
 import com.xzjmyk.pm.activity.util.Constants;
@@ -164,4 +166,23 @@ public abstract class BaseActivity extends ActionBackActivity {
     public void ToastMessage(String message) {
         ViewUtil.ToastMessage(this, message);
     }
+
+
+    @Override
+    public void startActivity(Intent intent) {
+        super.startActivity(intent);
+        overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
+    }
+
+    @Override
+    public void startActivityForResult(Intent intent, int requestCode) {
+        super.startActivityForResult(intent, requestCode);
+        overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
+    }
+
+    @Override
+    public void onBackPressed() {
+        super.onBackPressed();
+        overridePendingTransition(R.anim.anim_activity_back_in,R.anim.anim_activity_back_out);
+    }
 }

+ 14 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/base/EasyFragment.java

@@ -1,6 +1,7 @@
 package com.xzjmyk.pm.activity.ui.base;
 
 import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
 import android.support.v4.app.Fragment;
 import android.util.Log;
@@ -9,6 +10,7 @@ import android.view.View;
 import android.view.ViewGroup;
 
 import com.lidroid.xutils.ViewUtils;
+import com.xzjmyk.pm.activity.R;
 
 /**
  * @author Dean Tao
@@ -146,4 +148,16 @@ public abstract class EasyFragment extends Fragment {
         Log.d("roamer", TAG() + " onDetach");
     }
 
+
+    @Override
+    public void startActivity(Intent intent) {
+        super.startActivity(intent);
+        getActivity().overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
+    }
+
+    @Override
+    public void startActivityForResult(Intent intent, int requestCode) {
+        super.startActivityForResult(intent, requestCode);
+        getActivity().overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
+    }
 }

+ 2 - 5
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/activity/CommonFragmentActivity.java

@@ -1,15 +1,12 @@
 package com.xzjmyk.pm.activity.ui.erp.activity;
 
-import android.content.Intent;
 import android.os.Bundle;
 import android.support.v4.app.FragmentTransaction;
-import android.view.KeyEvent;
 import android.widget.FrameLayout;
 
 import com.lidroid.xutils.ViewUtils;
 import com.lidroid.xutils.view.annotation.ViewInject;
 import com.xzjmyk.pm.activity.R;
-import com.xzjmyk.pm.activity.ui.MainActivity;
 import com.xzjmyk.pm.activity.ui.base.BaseActivity;
 import com.xzjmyk.pm.activity.ui.erp.util.Constants;
 import com.xzjmyk.pm.activity.ui.groupchat.AutoCreateChatFragment;
@@ -56,12 +53,12 @@ public class CommonFragmentActivity extends BaseActivity {
     }
 
 
-    @Override
+  /*  @Override
     public boolean onKeyDown(int keyCode, KeyEvent event) {
         if(keyCode == KeyEvent.KEYCODE_BACK) { //监控/拦截/屏蔽返回键
             startActivity(new Intent(CommonFragmentActivity.this, MainActivity.class));
             return false;
         }
         return super.onKeyDown(keyCode, event);
-    }
+    }*/
 }

+ 9 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/db/DBManager.java

@@ -23,6 +23,15 @@ import java.util.Map;
  */
 public class DBManager {
     private DBOpenHelper helper;
+
+    public SQLiteDatabase getDb() {
+        return db;
+    }
+
+    public void setDb(SQLiteDatabase db) {
+        this.db = db;
+    }
+
     private SQLiteDatabase db;
 
     public DBManager(Context ct) {

+ 17 - 0
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/BaseFragment.java

@@ -1,5 +1,6 @@
 package com.xzjmyk.pm.activity.ui.erp.fragment;
 
+import android.content.Intent;
 import android.os.Bundle;
 import android.support.annotation.Nullable;
 import android.support.v4.app.Fragment;
@@ -7,6 +8,7 @@ import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 
+import com.xzjmyk.pm.activity.R;
 import com.xzjmyk.pm.activity.ui.erp.view.CustomProgressDialog;
 
 /**
@@ -17,6 +19,7 @@ public abstract class BaseFragment extends Fragment {
     protected View root;
     protected CustomProgressDialog progressDialog;
 
+    //工厂模式
     public static <T extends BaseFragment> T newInstance(Class<T> tClass){
         if (tClass != null){
             try {
@@ -55,4 +58,18 @@ public abstract class BaseFragment extends Fragment {
     protected abstract void initEvents();
 
     protected abstract void initDatas();
+
+
+    @Override
+    public void startActivity(Intent intent) {
+        super.startActivity(intent);
+        getActivity().overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
+    }
+
+    @Override
+    public void startActivityForResult(Intent intent, int requestCode) {
+        super.startActivityForResult(intent, requestCode);
+        getActivity().overridePendingTransition(R.anim.anim_activity_in, R.anim.anim_activity_out);
+    }
+
 }

+ 7 - 3
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionAllFragment.java

@@ -332,7 +332,7 @@ public class SubscriptionAllFragment extends BaseFragment {
                 keyStrings.add(cacheKeysArray[i]);
             }
         }
-        rbPos = 0;
+//        rbPos = 0;
         List<SubscriptionNumber> dbSubscriptionNumbers
                 = mDbManager.queryFromAllSubs(new String[]{currentMaster,currentUser}, "subs_master=? and subs_username=? ");
         if (dbSubscriptionNumbers == null || dbSubscriptionNumbers.size() == 0) {
@@ -397,7 +397,9 @@ public class SubscriptionAllFragment extends BaseFragment {
             switch (msg.what) {
                 case GET_ALL_SUBSCRIPTION:
                     progressDialog.dismiss();
-                    mDbManager.deleteMasterAllSubs(currentMaster, currentUser);
+                    if (mDbManager.getDb().isOpen()){
+                        mDbManager.deleteMasterAllSubs(currentMaster, currentUser);
+                    }
                     String resultJson = msg.getData().getString("result");
                     Log.d("allsubscriptionResult: ", resultJson);
                     try {
@@ -454,7 +456,9 @@ public class SubscriptionAllFragment extends BaseFragment {
                                         }
                                     }
                                 }
-                                mDbManager.saveListToAllSubs(mNetSubscriptionNumbers);
+                                if (mDbManager.getDb().isOpen()){
+                                    mDbManager.saveListToAllSubs(mNetSubscriptionNumbers);
+                                }
                             }
 
                             //遍历更新removed属性的列表,筛选出stautus不等于1且removed不等于1的数据

+ 6 - 2
WeiChat/src/main/java/com/xzjmyk/pm/activity/ui/erp/fragment/SubscriptionMyFragment.java

@@ -161,7 +161,9 @@ public class SubscriptionMyFragment extends BaseFragment {
             switch (msg.what){
                 case GET_MY_SUBSCRIPTION:
                     progressDialog.dismiss();
-                    mDbManager.deleteMasterMySubs(currentMaster,currentUser);
+                    if (mDbManager.getDb().isOpen()){
+                        mDbManager.deleteMasterMySubs(currentMaster,currentUser);
+                    }
                     String resultJson = msg.getData().getString("result");
                     Log.d("subscriptionResult",resultJson);
                     try {
@@ -189,7 +191,9 @@ public class SubscriptionMyFragment extends BaseFragment {
                                     mPersonalSubscriptionBeans.add(personalSubscriptionBean);
                                 }
                                 mMySubscriptionAdapter.notifyDataSetChanged();
-                                mDbManager.saveListToMySubs(mPersonalSubscriptionBeans);
+                                if (mDbManager.getDb().isOpen()){
+                                    mDbManager.saveListToMySubs(mPersonalSubscriptionBeans);
+                                }
                                 if (mPullListView.isRefreshing()){
                                     mPullListView.onRefreshComplete();
                                     Crouton.makeText(getActivity(),"刷新成功", 0xff99cc00, 1500).show();

+ 8 - 0
WeiChat/src/main/res/anim/anim_activity_back_in.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<translate xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="300"
+    android:fromXDelta="-100%p"
+    android:toXDelta="0"
+    >
+
+</translate>

+ 8 - 0
WeiChat/src/main/res/anim/anim_activity_back_out.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<translate xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="300"
+    android:fromXDelta="0"
+    android:toXDelta="100%p"
+    >
+
+</translate>

+ 8 - 0
WeiChat/src/main/res/anim/anim_activity_in.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<translate xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="300"
+    android:fromXDelta="100%p"
+    android:toXDelta="0"
+    >
+
+</translate>

+ 12 - 0
WeiChat/src/main/res/anim/anim_activity_out.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<scale xmlns:android="http://schemas.android.com/apk/res/android"
+    android:duration="300"
+    android:fromYScale="1"
+    android:toYScale="0.9"
+    android:fromXScale="1"
+    android:toXScale="0.9"
+    android:pivotX="50%"
+    android:pivotY="50%"
+    >
+
+</scale>

+ 17 - 0
WeiChat/src/main/res/values-v14/styles.xml

@@ -3,6 +3,7 @@
     <!-- Application theme. -->
     <style name="AppTheme" parent="AppBaseTheme">
         <!-- All customizations that are NOT specific to a particular API-level can go here. -->
+        <!--<item name="android:windowAnimationStyle">@style/noAnimation</item>-->
     </style>
     
     <style name="AppBaseTheme" parent="Theme.AppCompat.Light.DarkActionBar">
@@ -135,4 +136,20 @@
     <style name="MyActionBar" parent="Widget.AppCompat.ActionBar.TabView">
         <item name="android:background">@color/antionbaritemcolor</item>
     </style>
+
+    <style name="noAnimation">
+        <item name="android:activityOpenEnterAnimation">@null</item>
+        <item name="android:activityOpenExitAnimation">@null</item>
+        <item name="android:activityCloseEnterAnimation">@null</item>
+        <item name="android:activityCloseExitAnimation">@null</item>
+        <item name="android:taskOpenEnterAnimation">@null</item>
+        <item name="android:taskOpenExitAnimation">@null</item>
+        <item name="android:taskCloseEnterAnimation">@null</item>
+        <item name="android:taskCloseExitAnimation">@null</item>
+        <item name="android:taskToFrontEnterAnimation">@null</item>
+        <item name="android:taskToFrontExitAnimation">@null</item>
+        <item name="android:taskToBackEnterAnimation">@null</item>
+        <item name="android:taskToBackExitAnimation">@null</item>
+
+    </style>
 </resources>

+ 14 - 0
WeiChat/src/main/res/values/styles.xml

@@ -1042,5 +1042,19 @@
         <item name="android:windowExitAnimation">@anim/popup_exit</item>
     </style>
 
+    <style name="noAnimation">
+        <item name="android:activityOpenEnterAnimation">@null</item>
+        <item name="android:activityOpenExitAnimation">@null</item>
+        <item name="android:activityCloseEnterAnimation">@null</item>
+        <item name="android:activityCloseExitAnimation">@null</item>
+        <item name="android:taskOpenEnterAnimation">@null</item>
+        <item name="android:taskOpenExitAnimation">@null</item>
+        <item name="android:taskCloseEnterAnimation">@null</item>
+        <item name="android:taskCloseExitAnimation">@null</item>
+        <item name="android:taskToFrontEnterAnimation">@null</item>
+        <item name="android:taskToFrontExitAnimation">@null</item>
+        <item name="android:taskToBackEnterAnimation">@null</item>
+        <item name="android:taskToBackExitAnimation">@null</item>
 
+    </style>
 </resources>