| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170 |
- package com.uas.pda_wms.activity;
- import android.content.Context;
- import android.content.Intent;
- import android.os.Bundle;
- import android.os.Handler;
- import android.os.Message;
- import android.view.WindowManager;
- import com.uas.pda_wms.R;
- import com.uas.pda_wms.application.PdaApplication;
- import com.uas.pda_wms.global.GloableParams;
- import com.uas.pda_wms.tools.DataSourceManager;
- import com.uas.pda_wms.tools.SharedPreUtil;
- import com.uas.pda_wms.tools.VolleyUtil;
- import com.uas.pda_wms.util.CommonUtil;
- import com.uas.pda_wms.util.Constants;
- import java.util.List;
- import java.util.Map;
- /**
- * 应用开机启动页面
- * Created by RaoMeng on 2017/4/10.
- */
- public class SplashActivity extends BaseActivity {
- private String cacheUri;
- private String mIp, mPort;
- private long startLoginTime;
- private Handler mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- long time = System.currentTimeMillis() - startLoginTime;
- switch (msg.what) {
- //连接成功
- case VolleyUtil.SUCCESS_SUCCESS:
- //添加缓存
- saveCache(mIp, mPort);
- if (time <= 2000) {
- mHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- startLogin();
- }
- }, 2000 - time);
- } else {
- startLogin();
- }
- break;
- //连接失败
- case VolleyUtil.FAILED_FAILED:
- String notice = (String) msg.obj;
- CommonUtil.toastNoRepeat(SplashActivity.this, notice);
- if (time <= 2000) {
- mHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- startServer();
- }
- }, 2000 - time);
- } else {
- startServer();
- }
- break;
- }
- }
- };
- private void startLogin() {
- Intent intent = new Intent();
- intent.setClass(SplashActivity.this, MainActivity.class);
- intent.putExtra("isConnected", true);
- startActivity(intent);
- finish();
- }
- private void startServer() {
- Intent intent = new Intent();
- intent.setClass(SplashActivity.this, MainActivity.class);
- intent.putExtra("isConnected", false);
- startActivity(intent);
- finish();
- }
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- }
- @Override
- protected void initViews() {
- if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
- finish();
- return;
- }
- // requestWindowFeature(Window.FEATURE_NO_TITLE);
- getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
- // CommonUtil.initStatusBar(this, R.color.transparent);
- setContentView(R.layout.activity_splash);
- }
- @Override
- protected void initEvents() {
- }
- @Override
- protected void initDatas() {
- if ((getIntent().getFlags() & Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT) != 0) {
- finish();
- return;
- }
- loadCache();
- }
- //加载缓存
- private void loadCache() {
- cacheUri = SharedPreUtil.getString(this, SharedPreUtil.KEY_URI, null);
- //Toast.makeText(getActivity(),cacheUri,Toast.LENGTH_SHORT).show();
- //当缓存不为空
- if (cacheUri != null) {
- //将缓存数据加载到数据源UriList
- DataSourceManager.getDataSourceManager().setUriList(cacheUri);
- List<Map<String, String>> list = DataSourceManager.getDataSourceManager().getUriList();
- mIp = list.get(0).get(DataSourceManager.KEY_IP);
- mPort = list.get(0).get(DataSourceManager.KEY_PORT);
- startLoginTime = System.currentTimeMillis();
- String mSystemCache = SharedPreUtil.getString(this, Constants.FLAG.SELECTED_SYSTEM_CACHE, "ERP");
- connect(mIp, mPort, mSystemCache);
- } else {
- mHandler.postDelayed(new Runnable() {
- @Override
- public void run() {
- startServer();
- }
- }, 2000);
- }
- }
- private void connect(String ip, String port, String site) {
- String url = getIPAddress(ip, port, site);
- //传递Handler对象给Volley
- VolleyUtil.setVolleyHandler(mHandler);
- //连接服务器
- VolleyUtil.getVolleyUtil().requestConnectServer(this, url, VolleyUtil.METHOD_POST, VolleyUtil.FRAGMENT_CONNECTSERVER);
- }
- //添加缓存
- private void saveCache(String ip, String port) {
- cacheUri = DataSourceManager.getDataSourceManager().addUriItem(ip, port);
- SharedPreUtil.saveString(this, SharedPreUtil.KEY_URI, cacheUri);
- }
- //拼接IP地址
- private String getIPAddress(String ip, String port, String site) {
- //将IP和port保存
- Context ct = getApplicationContext() == null ? PdaApplication.getmContext() :
- getApplicationContext();
- GloableParams.setUri(ip, port, site, ct);
- /*
- * http://IP+端口/ERP/请求路径
- * http://192.168.253.111:8090/ERP/oa/info/getPagingRelease.action*/
- // String applyAddr = "http://" + GloableParams.IP + ":" + GloableParams.PORT + GloableParams.ADDRESS_CONNECT_SERVER;
- return GloableParams.ADDRESS_CONNECT_SERVER;
- }
- }
|