/**============================================================ * 版权: 久其软件 版权所有 (c) * 包: com.jiuqi.njt.ui * 修改记录: * 日期 作者 内容 * ============================================================= * 2013-7-31 liyue * ============================================================*/ package com.jiuqi.njt.ui; import java.util.ArrayList; import java.util.List; import android.annotation.SuppressLint; import android.app.Activity; import android.content.Intent; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.text.TextUtils; import android.util.Log; import android.view.MotionEvent; import android.view.View; import android.view.Window; import android.view.WindowManager; import android.view.animation.AlphaAnimation; import android.view.animation.Animation; import android.view.animation.Animation.AnimationListener; import com.jiuqi.njt.R; import com.jiuqi.njt.data.CheckStateInterface; import com.jiuqi.njt.data.MyApp; import com.jiuqi.njt.data.OptsharepreInterface; import com.jiuqi.njt.db.ModuleDBHelper; import com.jiuqi.njt.model.CModuleBean; import com.jiuqi.njt.register.RegisterUtils; import com.jiuqi.njt.register.city.AllProvince; import com.jiuqi.njt.register.city.City; import com.jiuqi.njt.register.city.CityBean; import com.jiuqi.njt.util.Constants; import com.jiuqi.njt.util.DateUtil; import com.jiuqi.njt.util.ModuleUtil; import com.jiuqi.njt.util.login.AutoLoginTask; /** * <p> * SplashActivity * </p> * * <p> * Copyright: 版权所有 (c)<br> * Company: 久其 * </p> * * @author liyue * @version 2013-7-31 */ public class SplashActivity extends Activity { private boolean _active = true; private OptsharepreInterface sharePre; private MyApp application; // 初始化8个模块 private ModuleUtil moduleUtil; private List<String> userModuleStrList; private List<CModuleBean> userModuleBeansList; private List<String> roleModuleStrList; private List<CModuleBean> roleModuleBeansList; private ModuleDBHelper helper = null; private final static String TAG = "SplashActivity"; // private WriteFile writeFile = new WriteFile(TAG+ JqydDateUtil.getDateDayOne(new Date())); /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { Intent intent= getIntent(); String name =intent.getStringExtra("name"); String pwd = intent.getStringExtra("pwd"); sharePre = new OptsharepreInterface(SplashActivity.this); checkLoginState(name, pwd); /** * 如果数据库中没有天气预报行政区划数据,启动线程解析获取数据 */ if (!sharePre.getPres(Constants.SAVECITYDATA).equals("1")) { /** * 启动线程去读取RAW文件夹下面的行政区划数据, */ new Thread(new City(SplashActivity.this)).start(); // new Thread(new Runnable() { // @Override // public void run() { // new AllProvince().getProvinceData(SplashActivity.this); // } // }).start(); } requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); super.onCreate(savedInstanceState); final View view = View.inflate(this, R.layout.splash_activity, null); setContentView(view); this.setTitle("久其农机通"); application = (MyApp) getApplicationContext(); // 渐变展示启动屏 AlphaAnimation aa = new AlphaAnimation(0.3f, 1.0f); aa.setDuration(2000); view.startAnimation(aa); aa.setAnimationListener(new AnimationListener() { @Override public void onAnimationEnd(Animation arg0) { toMainActivity(); } @Override public void onAnimationRepeat(Animation animation) { } @Override public void onAnimationStart(Animation animation) { // 检测网络状况 if (new CheckStateInterface(SplashActivity.this).checkConnection()) { checkLoginState();// 检测是否自动登录 } } }); deleteMoreFile(); } private void deleteMoreFile() { // TODO Auto-generated method stub int count = 6; // DateUtil.deleteMoreFile(SplashActivity.this, "lxsb_recordLog","Home1Activity", count); // DateUtil.deleteMoreFile(SplashActivity.this, "lxsb_recordLog","SplashActivity", count); // DateUtil.deleteMoreFile(SplashActivity.this, "lxsb_recordLog","ModulerCustomActivity", count); // DateUtil.deleteMoreFile(SplashActivity.this, "lxsb_recordLog","AutoLoginTask", count); // DateUtil.deleteMoreFile(SplashActivity.this, "lxsb_recordLog","GetRoleAndUserModuleTask", count); try { DateUtil.deleteMoreFile(SplashActivity.this, "", "crash-", count); DateUtil.deleteMoreFile(SplashActivity.this, "lxsb_recordLog","LXRBRZ-UPLOCATION", count); DateUtil.deleteMoreFile(SplashActivity.this, "lxsb_recordLog","LXRBRZ-UPPLAN", count); DateUtil.deleteMoreFile(SplashActivity.this, "lxsb_recordLog","LXRBRZ-UPLOCATIONMGR", count); DateUtil.deleteMoreFile(SplashActivity.this, "lxsb_recordLog","LOCATIONUTIL", count); DateUtil.deleteMoreFile(SplashActivity.this, "lxsb_recordLog","Retransmission", count); DateUtil.deleteMoreFile(SplashActivity.this, "lxsb_recordLog","WearthActivityNew", count); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } } @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN) { _active = false; } return true; } /** * 检查自动登录状态 */ private void checkLoginState(String name,String pwd) { Log.e("mly", name + "------" + pwd ); // 获取用户名密码 if (!TextUtils.isEmpty(name) && !TextUtils.isEmpty(pwd)) { sharePre.putPres("isAutoLogin", "1"); sharePre.putPres("account", name); sharePre.putPres("password", pwd); // handler.sendEmptyMessage(100); } } /** * 检查自动登录状态 */ private void checkLoginState() { String isAuto = sharePre.getPres("isAutoLogin"); Log.e(TAG, "自动登录"+"1".equals(isAuto)); if ("1".equals(isAuto)) { // 获取用户名密码 String account = sharePre.getPres("account"); String pwd = sharePre.getPres("password"); if (!TextUtils.isEmpty(account) && !TextUtils.isEmpty(pwd)) { // Intent intent = new Intent(SplashActivity.this,AutoLoginService.class); // intent.putExtra("NOTCHECK", true); // startService(new Intent(SplashActivity.this,AutoLoginService.class)); // handler.sendEmptyMessage(100); // new AutoLoginTask(SplashActivity.this).execute(); // new AutoLoginTask(SplashActivity.this).execute(); } } } private Handler handler = new Handler() { @Override public void handleMessage(Message msg) { // TODO Auto-generated method stub super.handleMessage(msg); switch (msg.what) { case 100: new AutoLoginTask(SplashActivity.this).execute(); // RegisterUtils.loginSuccess(SplashActivity.this); break; default: break; } } }; @SuppressLint("NewApi") private void toMainActivity() { String isAuto = sharePre.getPres("isAutoLogin"); if (!showHelpOnFirstLaunch() && sharePre.getPres("isWelcome").equals("yes")) { if ("1".equals(isAuto)) { startActivity(new Intent(SplashActivity.this, LoginActivityNew.class)); }else{ // 显示过 startActivity(new Intent(SplashActivity.this, NjtMainActivity.class)); } } else { // // 1、初次打开应用时把数据默认到数据库 // helper = new ModuleDBHelper(this); // if ((helper.queryRoleModule(sharePre.getPres("roleguid")).size() == 0)&& (helper.queryUserModule(sharePre.getPres("guid")).size() == 0)) // { // initializeUserModuleData(); // initializeRoleModuleData(); // } // else // { // Log.wtf("177", "数据库有内容"); // } if ("1".equals(isAuto)) { handler.sendEmptyMessage(100); } startActivity(new Intent(SplashActivity.this, GuideActivity.class)); } finish(); } /** * * Description: 判断是否是新版本 Title: showHelpOnFirstLaunch */ private boolean showHelpOnFirstLaunch() { try { PackageInfo info = getPackageManager().getPackageInfo("com.jiuqi.njt", 0); String currentVersion = String.valueOf(info.versionCode); String lastVersion = sharePre.getPres("lastVersionCode"); System.out.println("curr:" + currentVersion + "la:" + lastVersion); if (!currentVersion.equals(lastVersion)) { sharePre.putPres("lastVersionCode", currentVersion); return true; } } catch (PackageManager.NameNotFoundException e) { } return false; } // 在初次打开应用时把用户模块数据默认到数据库中方法 @SuppressLint("NewApi") private void initializeUserModuleData() { moduleUtil = new ModuleUtil(); userModuleStrList = new ArrayList<String>(); userModuleBeansList = new ArrayList<CModuleBean>(); List<CModuleBean> queryList = new ArrayList<CModuleBean>(); userModuleStrList = moduleUtil.getUserModuleDefalut(); userModuleBeansList = getCModuleBeanList(userModuleStrList); helper.addUserModule(userModuleBeansList, sharePre.getPres("guid")); queryList = helper.queryUserModule(sharePre.getPres("guid")); } // 在初次打开应用时把角色模块数据默认到数据库中方法 @SuppressLint("NewApi") private void initializeRoleModuleData() { moduleUtil = new ModuleUtil(); roleModuleStrList = new ArrayList<String>(); roleModuleBeansList = new ArrayList<CModuleBean>(); roleModuleStrList = moduleUtil.getRoleModuleDefalut(); roleModuleBeansList = getCModuleBeanList(roleModuleStrList); helper.addRoleModule(roleModuleBeansList); roleModuleBeansList = helper.queryRoleModule(sharePre .getPres("roleguid")); } // 把List<String>拆分再转换成List<CModule>集合的方法 @SuppressLint("NewApi") private List<CModuleBean> getCModuleBeanList(List<String> list) { List<CModuleBean> moduleBeanslist = new ArrayList<CModuleBean>(); CModuleBean cmBean; for (int i = 0; i < list.size(); i++) { String sigleModulestr = list.get(i); String[] strarray = sigleModulestr.split(","); cmBean = new CModuleBean(); cmBean.setCode(Integer.parseInt(strarray[0])); cmBean.setpCode(Integer.parseInt(strarray[1])); cmBean.setName(strarray[2]); cmBean.setImage(strarray[3]); if (strarray[4].equals("1")) { cmBean.setShow(true); } else { cmBean.setShow(false); } cmBean.setOrderNumber(Integer.parseInt(strarray[5])); cmBean.setLevel(Integer.parseInt(strarray[6])); cmBean.setTypeModule("1"); if (strarray[7].equals("1")) { cmBean.setDefaultDisplay(true); } else { cmBean.setDefaultDisplay(false); } cmBean.setUrl(""); cmBean.setRoleGuid(sharePre.getPres("roleguid")); moduleBeanslist.add(cmBean); } return moduleBeanslist; } }