diff --git a/.DS_Store b/.DS_Store
index 464ebbd..f475618 100644
Binary files a/.DS_Store and b/.DS_Store differ
diff --git a/android/.gradle/8.5/checksums/checksums.lock b/android/.gradle/8.5/checksums/checksums.lock
index 2ae4c2e..761f06a 100644
Binary files a/android/.gradle/8.5/checksums/checksums.lock and b/android/.gradle/8.5/checksums/checksums.lock differ
diff --git a/android/.gradle/8.5/executionHistory/executionHistory.bin b/android/.gradle/8.5/executionHistory/executionHistory.bin
index f9e3bac..a6f36fe 100644
Binary files a/android/.gradle/8.5/executionHistory/executionHistory.bin and b/android/.gradle/8.5/executionHistory/executionHistory.bin differ
diff --git a/android/.gradle/8.5/executionHistory/executionHistory.lock b/android/.gradle/8.5/executionHistory/executionHistory.lock
index 3f68a52..cec439a 100644
Binary files a/android/.gradle/8.5/executionHistory/executionHistory.lock and b/android/.gradle/8.5/executionHistory/executionHistory.lock differ
diff --git a/android/.gradle/8.5/fileHashes/fileHashes.bin b/android/.gradle/8.5/fileHashes/fileHashes.bin
index ba4ca5f..9e8c0f5 100644
Binary files a/android/.gradle/8.5/fileHashes/fileHashes.bin and b/android/.gradle/8.5/fileHashes/fileHashes.bin differ
diff --git a/android/.gradle/8.5/fileHashes/fileHashes.lock b/android/.gradle/8.5/fileHashes/fileHashes.lock
index 49abfd3..b8d7a61 100644
Binary files a/android/.gradle/8.5/fileHashes/fileHashes.lock and b/android/.gradle/8.5/fileHashes/fileHashes.lock differ
diff --git a/android/.gradle/8.5/fileHashes/resourceHashesCache.bin b/android/.gradle/8.5/fileHashes/resourceHashesCache.bin
index 781bfb4..c6f5350 100644
Binary files a/android/.gradle/8.5/fileHashes/resourceHashesCache.bin and b/android/.gradle/8.5/fileHashes/resourceHashesCache.bin differ
diff --git a/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock
index 6ccf9c2..6f58d4b 100644
Binary files a/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock and b/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock differ
diff --git a/android/.gradle/buildOutputCleanup/outputFiles.bin b/android/.gradle/buildOutputCleanup/outputFiles.bin
index 3629606..6712824 100644
Binary files a/android/.gradle/buildOutputCleanup/outputFiles.bin and b/android/.gradle/buildOutputCleanup/outputFiles.bin differ
diff --git a/android/.gradle/file-system.probe b/android/.gradle/file-system.probe
index 6818b5d..4e0fc20 100644
Binary files a/android/.gradle/file-system.probe and b/android/.gradle/file-system.probe differ
diff --git a/android/.idea/caches/deviceStreaming.xml b/android/.idea/caches/deviceStreaming.xml
new file mode 100644
index 0000000..64723d0
--- /dev/null
+++ b/android/.idea/caches/deviceStreaming.xml
@@ -0,0 +1,703 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/android/.idea/deploymentTargetSelector.xml b/android/.idea/deploymentTargetSelector.xml
index d9dbf01..ab7e9a1 100644
--- a/android/.idea/deploymentTargetSelector.xml
+++ b/android/.idea/deploymentTargetSelector.xml
@@ -4,15 +4,14 @@
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/android/app/build.gradle b/android/app/build.gradle
index d1545ae..0595b7f 100644
--- a/android/app/build.gradle
+++ b/android/app/build.gradle
@@ -1,10 +1,11 @@
plugins {
id 'com.android.application'
id 'kotlin-android'
+ id 'kotlin-kapt'
}
android {
- compileSdkVersion 30
+ compileSdkVersion 31
buildToolsVersion "30.0.3"
defaultConfig {
@@ -50,6 +51,12 @@ dependencies {
implementation 'org.tensorflow:tensorflow-lite-gpu:2.5.0'
implementation 'org.tensorflow:tensorflow-lite-support:0.3.0'
+ // Room 依赖
+ def room_version = "2.4.3"
+ implementation "androidx.room:room-runtime:$room_version"
+ kapt "androidx.room:room-compiler:$room_version"
+ implementation "androidx.room:room-ktx:$room_version"
+
androidTestImplementation 'androidx.test.ext:junit:1.1.2'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.3.0'
androidTestImplementation "com.google.truth:truth:1.1.3"
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index 135e176..4b35409 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -19,6 +19,7 @@
+
@@ -36,6 +37,7 @@
+
\ No newline at end of file
diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/poseestimation/DataFragment.kt b/android/app/src/main/java/org/tensorflow/lite/examples/poseestimation/DataFragment.kt
new file mode 100644
index 0000000..250c609
--- /dev/null
+++ b/android/app/src/main/java/org/tensorflow/lite/examples/poseestimation/DataFragment.kt
@@ -0,0 +1,17 @@
+package org.tensorflow.lite.examples.poseestimation
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.fragment.app.Fragment
+import org.tensorflow.lite.examples.poseestimation.R
+
+class DataFragment : Fragment() {
+ override fun onCreateView(
+ inflater: LayoutInflater, container: ViewGroup?,
+ savedInstanceState: Bundle?
+ ): View? {
+ return inflater.inflate(R.layout.fragment_data, container, false)
+ }
+}
\ No newline at end of file
diff --git a/android/app/src/main/java/org/tensorflow/lite/examples/poseestimation/ExerciseDetailActivity.kt b/android/app/src/main/java/org/tensorflow/lite/examples/poseestimation/ExerciseDetailActivity.kt
new file mode 100644
index 0000000..b1da155
--- /dev/null
+++ b/android/app/src/main/java/org/tensorflow/lite/examples/poseestimation/ExerciseDetailActivity.kt
@@ -0,0 +1,55 @@
+package org.tensorflow.lite.examples.poseestimation
+
+import android.content.Intent
+import android.os.Bundle
+import androidx.appcompat.app.AppCompatActivity
+import android.widget.ImageButton
+import android.widget.ImageView
+import android.widget.TextView
+import android.widget.Button
+
+class ExerciseDetailActivity : AppCompatActivity() {
+
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_exercise_detail)
+
+ // 找到布局中的控件
+ val backButton = findViewById(R.id.back_button)
+ val exerciseImage = findViewById(R.id.exercise_detail_image)
+ val exerciseName = findViewById(R.id.exercise_detail_name)
+ val exerciseDescription = findViewById(R.id.exercise_detail_description)
+ val startTrainingButton = findViewById