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