app/src/main/AndroidManifest.xml
@@ -29,12 +29,13 @@ android:supportsRtl="true" android:theme="@style/AppTheme" tools:replace="android:icon"> <activity android:name=".activity.LoginActivity" android:screenOrientation="portrait"> <activity android:name=".activity.SplashActivity" android:screenOrientation="portrait" android:theme="@style/AppSplash"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".activity.LoginActivity" android:screenOrientation="portrait"/> <activity android:name=".activity.MapActivity" android:screenOrientation="portrait"/> <activity android:name=".activity.DeviceDataActivity" android:screenOrientation="portrait"/> <activity android:name=".activity.ChartActivity" android:screenOrientation="portrait"/> app/src/main/java/com/moral/screen/activity/ChartActivity.java
@@ -264,4 +264,13 @@ } }); } @Override protected void onDestroy() { super.onDestroy(); if(timer!=null){ timer.cancel(); timer =null; } } } app/src/main/java/com/moral/screen/activity/DeviceDataActivity.java
@@ -157,4 +157,12 @@ }); } @Override protected void onDestroy() { super.onDestroy(); if(timer!=null){ timer.cancel(); timer =null; } } } app/src/main/java/com/moral/screen/activity/MapActivity.java
@@ -31,13 +31,15 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.Timer; import java.util.TimerTask; /** * Created by hjzhang on 2018/7/2. */ public class MapActivity extends BaseActivity { private TextView tv_left; private TextView tv_left,tv_right; private MapView bmapView; private BaiduMap mBaiduMap; BitmapDescriptor bdNormal = BitmapDescriptorFactory @@ -57,6 +59,22 @@ private ImageView iv_close; private LinearLayout ll_pop; private DeviceBean curDeviceBean; private Timer timer; /** * 计时器 */ private boolean isFinish = false; private void showData() { timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { if(!isFinish){ getData(false); } } },0,10*1000); } @Override protected void getBundleExtras(Bundle extras) { @@ -70,6 +88,7 @@ @Override protected void initViews() { tv_left = findView(R.id.tv_left); tv_right = findView(R.id.tv_right); bmapView = findView(R.id.bmapView); popView = LayoutInflater.from(this).inflate(R.layout.pop_layout,null); tv_name = popView.findViewById(R.id.tv_name); @@ -102,17 +121,25 @@ startActivity(intent); } }); tv_right.setOnClickListener(this); } @Override protected void initData() { getData(); getData(true); showData(); } @Override protected void processClick(View view) { switch (view.getId()){ case R.id.tv_left: finish(); break; case R.id.tv_right: MainApp.theApp.mSharedPreferencesUtil.exitLogin(); Intent intent = new Intent(MapActivity.this,LoginActivity.class); startActivity(intent); finish(); break; } @@ -152,7 +179,7 @@ /** * 标注地图 */ private void showMapData(){ private void showMapData(boolean show){ mBaiduMap.clear(); MarkerOptions mo = null; Marker mMarker = null; @@ -184,7 +211,7 @@ .zIndex(i); } // 掉下动画 mo.animateType(MarkerOptions.MarkerAnimateType.drop); mo.animateType(MarkerOptions.MarkerAnimateType.grow); mMarker = (Marker) (mBaiduMap.addOverlay(mo)); mkList.add(mMarker); } @@ -211,12 +238,16 @@ bdC.recycle(); super.onDestroy(); bmapView.onDestroy(); if(timer!=null){ timer.cancel(); timer =null; } } private void getData() { private void getData(final boolean show) { HashMap<String, String> params = new HashMap<>(); params.put("organizationId", MainApp.theApp.orgId+""); mHttpUtils.doGet(API.DEVICES, params, CacheMode.DEFAULT, true, new HttpCallBack() { mHttpUtils.doGet(API.DEVICES, params, CacheMode.DEFAULT, show, new HttpCallBack() { @Override public void onSuccess(String res, String msg) { if (progressDialog.isShowing()) { @@ -227,15 +258,17 @@ deviceList.clear(); deviceList.addAll(temp); } if(deviceList.size()>0){ DeviceBean bean = deviceList.get(0); LatLng ll = new LatLng(bean.getLatitude(), bean.getLongitude()); MapStatus.Builder builder = new MapStatus.Builder(); builder.target(ll).zoom(18.0f); mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build())); if(show){ if(deviceList.size()>0){ DeviceBean bean = deviceList.get(0); LatLng ll = new LatLng(bean.getLatitude(), bean.getLongitude()); MapStatus.Builder builder = new MapStatus.Builder(); builder.target(ll).zoom(18.0f); mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(builder.build())); } } showMapData(); showMapData(show); } @Override app/src/main/java/com/moral/screen/activity/SplashActivity.java
New file @@ -0,0 +1,38 @@ package com.moral.screen.activity; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import com.moral.screen.MainApp; import com.moral.screen.R; public class SplashActivity extends Activity implements Runnable { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ac_splash); Thread delayThread = new Thread(this); delayThread.start(); } @Override public void run() { try { Thread.sleep(1000); } catch(InterruptedException e) { e.printStackTrace(); } if(MainApp.theApp.orgId==0){ Intent intent = new Intent(this, LoginActivity.class); startActivity(intent); }else{ Intent intent = new Intent(this, MapActivity.class); startActivity(intent); } finish(); } } app/src/main/java/com/moral/screen/utils/SharedPreferencesUtil.java
@@ -3,6 +3,10 @@ import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import com.moral.screen.MainApp; import com.moral.screen.activity.MapActivity; public class SharedPreferencesUtil { private Context mContext; public final static String SP_LOGIN_USER_KEY = "login_user"; @@ -23,6 +27,14 @@ return orgId; } public void exitLogin(){ SharedPreferences preferences = mContext.getSharedPreferences(SP_LOGIN_USER_KEY, Context.MODE_PRIVATE); Editor editor = preferences.edit(); editor.putInt("orgId",0); editor.commit(); MainApp.theApp.orgId=0; } /** * 保存是否第一次登陆 app/src/main/res/layout/ac_map_layout.xml
@@ -33,6 +33,18 @@ android:singleLine="true" android:text="监测地点" android:textSize="17sp" /> <TextView android:id="@+id/tv_right" android:layout_width="wrap_content" android:layout_height="match_parent" android:gravity="center" android:textColor="@color/white" android:drawablePadding="@dimen/x4" android:textSize="14sp" android:text="退出登录" android:layout_alignParentRight="true" android:paddingRight="@dimen/x16" /> </RelativeLayout> <RelativeLayout android:layout_width="match_parent" app/src/main/res/layout/ac_splash.xml
New file @@ -0,0 +1,6 @@ <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> </LinearLayout> app/src/main/res/mipmap-xxxhdpi/start.jpg
app/src/main/res/values/strings.xml
@@ -1,3 +1,3 @@ <resources> <string name="app_name">screen</string> <string name="app_name">大气智慧监测</string> </resources> app/src/main/res/values/styles.xml
@@ -8,5 +8,10 @@ <item name="colorAccent">@color/colorAccent</item> </style> <style name="AppTheme" parent="Base.Theme.Design"> </style> <style name="AppSplash" parent="android:Theme"> <item name="android:windowBackground">@mipmap/start</item> <item name="android:windowNoTitle">true</item> <item name="android:windowFullscreen">true</item> </style> </resources>