Преглед на файлове

1.设置页数据加载
2.心律图走势动态加载

Signed-off-by: duanchangpeng <838560574@qq.com>

duanchangpeng преди 4 години
родител
ревизия
048667d409

+ 3 - 1
app/src/main/java/com/example/watch/ui/activity/BaseData.kt

@@ -3,8 +3,10 @@ package com.example.watch.ui.activity
 import java.text.DecimalFormat
 
 class BaseData {
+    val name = "王仪涵"
     val heigh = 146
-    val sex = 1
+    val phone = "15253135699"
+    val sex = 2
     val age = 4
     val weight = 21
     val head = "123.jpg"

+ 64 - 31
app/src/main/java/com/example/watch/ui/activity/MainActivity.kt

@@ -17,6 +17,8 @@ import android.provider.Settings.SettingNotFoundException
 import android.view.KeyEvent
 import android.view.View
 import android.view.WindowManager
+import android.view.animation.Animation
+import android.view.animation.TranslateAnimation
 import android.widget.*
 import androidx.appcompat.app.AlertDialog
 import androidx.appcompat.app.AppCompatActivity
@@ -57,10 +59,12 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
 
     var toast: Toast? = null
     var mExitTime: Long = 0
+    var HeartLine = arrayListOf<Any>(0, 0, 0)
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         setContentView(R.layout.activity_main)
+
 //        首次加载
         FirstRun()
 
@@ -80,9 +84,45 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
 
 //        绘制心律图
         ChartView()
+//        心跳动画
+        heartAnimate()
 
     }
 
+    fun heartAnimate(){
+        val mIdIvFace = findViewById<ImageView>(R.id.heart)
+
+
+        // 设置移动效果
+        /**
+         *
+         * float fromXDelta 动画开始的点离当前View X坐标上的差值
+         * float toXDelta 动画结束的点离当前View X坐标上的差值
+         * float fromYDelta 动画开始的点离当前View Y坐标上的差值
+         * float toYDelta 动画开始的点离当前View Y坐标上的差值
+         */
+
+
+        // 设置移动效果
+        /**
+         *
+         * float fromXDelta 动画开始的点离当前View X坐标上的差值
+         * float toXDelta 动画结束的点离当前View X坐标上的差值
+         * float fromYDelta 动画开始的点离当前View Y坐标上的差值
+         * float toYDelta 动画开始的点离当前View Y坐标上的差值
+         */
+        val translateAnimation: Animation = TranslateAnimation(0F, 20F, 0F, 20F)
+        // 设置动画持续时间
+        // 设置动画持续时间
+        translateAnimation.duration = 30000
+        // 为ImageView设置动画效果
+        // 为ImageView设置动画效果
+        mIdIvFace.setAnimation(translateAnimation)
+        // 启动动画
+        // 启动动画
+        translateAnimation.startNow()
+    }
+
     fun setStatusBarColor(colorType: String) {
         val window = window
         window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS)
@@ -107,20 +147,6 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
             } else {
                 dialog.show(supportFragmentManager, "scan_fragment")
             }
-
-//            val fragmentManager: FragmentManager = this.supportFragmentManager
-//            val dialog = ScannerFragment.getInstance()
-//            dialog.show(fragmentManager, "scanFragment");
-
-//            if (isBLEEnabled()) {
-//                if (!mDeviceConnected) {
-//                    showDeviceScanningDialog()
-//                } else {
-//                    mManager!!.disConnect()
-//                }
-//            } else {
-//                showBLEDialog()
-//            }
         }
     }
 
@@ -152,8 +178,6 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
             val OneActivityIntent = Intent(this, OneActivity::class.java)
             startActivity(OneActivityIntent)
         } else {
-//            setContentView(R.layout.activity_main)
-            //        登录判断
             login()
         }
     }
@@ -171,7 +195,6 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
     }
 
 
-
     protected var mManager: WearManager? = null
     protected var mLoading: LoadingDialog? = null
     protected var mHandler = Handler(Looper.getMainLooper())
@@ -389,6 +412,27 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
         if (rrIntervals != null) {
             findViewById<TextView>(R.id.rrIntervals).text = rrIntervals.toString()
         }
+//        把心跳数塞进去
+        val aaChartView = findViewById<AAChartView>(R.id.aa_chart_view)
+        if(HeartLine.size > 10){
+            HeartLine.remove(0)
+        }
+        HeartLine.add(heartRate)
+        aaChartView.aa_onlyRefreshTheChartDataWithChartOptionsSeriesArray(
+            arrayOf(
+                AASeriesElement()
+                    .name("心率趋势图")
+                    .data(
+                        HeartLine.toArray()
+                    )
+            )
+        )
+
+//        todo 最大心率 和 平均心率
+//        val arrayList = ArrayList<Int>()
+
+
+
 //        运动强度
 //    男:((-55.0969 +(0.6309×HR)+(0.1988 xW)+(0.2017×A))/ 4.184)×60 xT
 //    女:((-20.4022 +(0.4472×HR) - (0.1263 xW)+(0.074×A))/ 4.184)×60 xT
@@ -400,9 +444,6 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
 
 //        根据运动强度加载不同的背景色,状态栏颜色 和 提示语
         headStatus(ActityVal.toInt())
-//    todo 全部卡路里
-//        this.findViewById<TextView>(R.id.calNum).text =
-//            BaseData().calcSumCalc(heartRate, BaseData().sex, BaseData().weight, BaseData().age, 1)
     }
 
     fun setDeafultData() {
@@ -497,6 +538,7 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
 
     fun ChartView() {
         val aaChartView = findViewById<AAChartView>(R.id.aa_chart_view)
+//        arrayOf(0, 0)
         val aaChartModel = AAChartModel()
             .chartType(AAChartType.Line)
             .backgroundColor("#fff")
@@ -504,17 +546,7 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
                 arrayOf(
                     AASeriesElement()
                         .name("心率趋势图")
-                        .data(
-                            arrayOf(
-                                0,
-                                0,
-                                0,
-                                0,
-                                0,
-                                0,
-                                0
-                            )
-                        )
+                        .data(HeartLine.toArray())
                 )
             )
         /*图表视图对象调用图表模型对象,绘制最终图形*/
@@ -526,3 +558,4 @@ class MainActivity : AppCompatActivity(), ScannerFragment.OnDeviceSelectedListen
 
 
 
+

+ 38 - 3
app/src/main/java/com/example/watch/ui/activity/SettingActivity.kt

@@ -4,6 +4,10 @@ import android.content.Intent
 import android.os.Bundle
 import android.view.View
 import android.view.WindowManager
+import android.widget.Button
+import android.widget.LinearLayout
+import android.widget.TextView
+import android.widget.Toast
 import androidx.appcompat.app.AppCompatActivity
 import com.example.watch.R
 
@@ -16,6 +20,37 @@ class SettingActivity : AppCompatActivity() {
 
 //        切换tab
         turnTabPage()
+//        获取基础数据
+        getBaseData()
+//        获取新版本
+        getLastVersion()
+
+//        推出登录
+        logout()
+
+    }
+
+    private fun logout() {
+        findViewById<Button>(R.id.logout).setOnClickListener {
+            Toast.makeText(this, "当前账号已退出", Toast.LENGTH_LONG).show()
+            startActivity(Intent(this, LoginActivity::class.java))
+        }
+
+    }
+
+    private fun getLastVersion() {
+        findViewById<LinearLayout>(R.id.curent_version).setOnClickListener {
+            Toast.makeText(this, "当前版本已是最新版本", Toast.LENGTH_LONG).show()
+        }
+    }
+
+    private fun getBaseData() {
+        findViewById<TextView>(R.id.name).text = BaseData().name
+        findViewById<TextView>(R.id.phone).text = BaseData().phone
+        var sex = if (BaseData().sex == 1) "男" else "女"
+        val baseInfo =
+            BaseData().age.toString() + "岁" + " | " + sex + " | " + BaseData().heigh + "cm |  " + BaseData().weight + "kg"
+        findViewById<TextView>(R.id.baseInfo).text = baseInfo
     }
 
     fun setStatusBarColor() {
@@ -25,13 +60,13 @@ class SettingActivity : AppCompatActivity() {
         window.statusBarColor = resources.getColor(R.color.pink)
     }
 
-    private fun turnTabPage(){
+    private fun turnTabPage() {
         val home_btn = findViewById<View>(R.id.navigation_home)
-        home_btn.setOnClickListener{
+        home_btn.setOnClickListener {
             startActivity(Intent(this, MainActivity::class.java))
         }
         val setting_btn = findViewById<View>(R.id.navigation_setting)
-        setting_btn.setOnClickListener{
+        setting_btn.setOnClickListener {
             val SettingActivityIntent = Intent(this, SettingActivity::class.java)
             startActivity(SettingActivityIntent)
         }

+ 4 - 3
app/src/main/res/layout/activity_setting.xml

@@ -63,7 +63,7 @@
                         android:id="@+id/name"
                         android:layout_width="wrap_content"
                         android:layout_height="wrap_content"
-                        android:text="王仪涵" />
+                        android:text="***" />
 
                     <ImageView
                         android:id="@+id/sex"
@@ -83,7 +83,7 @@
                 </LinearLayout>
 
                 <TextView
-                    android:id="@+id/textView4"
+                    android:id="@+id/baseInfo"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:layout_gravity="center"
@@ -122,6 +122,7 @@
         </LinearLayout>
 
         <LinearLayout
+            android:id="@+id/curent_version"
             android:layout_width="match_parent"
             android:layout_height="60dp"
             android:background="@color/white"
@@ -177,7 +178,7 @@
         </LinearLayout>
 
         <Button
-            android:id="@+id/button2"
+            android:id="@+id/logout"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
             android:background="@color/white"