Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4ca9f6c011 |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,2 @@
|
||||
#Mon May 25 02:38:34 GMT 2026
|
||||
gradle.version=9.4.1
|
||||
Binary file not shown.
+24
-59
@@ -1,77 +1,42 @@
|
||||
plugins {
|
||||
id 'com.android.application'
|
||||
id 'org.jetbrains.kotlin.android'
|
||||
id "com.android.application"
|
||||
id "org.jetbrains.kotlin.android"
|
||||
}
|
||||
|
||||
android {
|
||||
namespace 'com.senstools'
|
||||
namespace "com.senstools"
|
||||
compileSdk 34
|
||||
|
||||
defaultConfig {
|
||||
applicationId "com.senstools"
|
||||
minSdk 26
|
||||
targetSdk 34
|
||||
versionCode 1
|
||||
versionName "1.0.0"
|
||||
|
||||
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
|
||||
}
|
||||
|
||||
buildTypes {
|
||||
release {
|
||||
minifyEnabled false
|
||||
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
|
||||
}
|
||||
}
|
||||
compileOptions {
|
||||
sourceCompatibility JavaVersion.VERSION_17
|
||||
targetCompatibility JavaVersion.VERSION_17
|
||||
}
|
||||
kotlinOptions {
|
||||
jvmTarget = '17'
|
||||
}
|
||||
buildFeatures {
|
||||
viewBinding true
|
||||
}
|
||||
kotlinOptions { jvmTarget = "17" }
|
||||
buildFeatures { viewBinding true }
|
||||
}
|
||||
|
||||
dependencies {
|
||||
// AndroidX Core
|
||||
implementation 'androidx.core:core-ktx:1.12.0'
|
||||
implementation 'androidx.appcompat:appcompat:1.6.1'
|
||||
implementation 'com.google.android.material:material:1.11.0'
|
||||
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||
|
||||
// Navigation
|
||||
implementation 'androidx.navigation:navigation-fragment-ktx:2.7.6'
|
||||
implementation 'androidx.navigation:navigation-ui-ktx:2.7.6'
|
||||
|
||||
// Lifecycle
|
||||
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.7.0'
|
||||
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0'
|
||||
|
||||
// Coroutines
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
|
||||
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3'
|
||||
|
||||
// Room Database
|
||||
implementation 'androidx.room:room-runtime:2.6.1'
|
||||
implementation 'androidx.room:room-ktx:2.6.1'
|
||||
annotationProcessor 'androidx.room:room-compiler:2.6.1'
|
||||
|
||||
// Maps
|
||||
implementation 'com.google.android.gms:play-services-maps:18.2.0'
|
||||
implementation 'com.google.android.gms:play-services-location:21.1.0'
|
||||
|
||||
// Charts
|
||||
implementation 'com.github.PhilJay:MPAndroidChart:v3.1.0'
|
||||
|
||||
// DataStore
|
||||
implementation 'androidx.datastore:datastore-preferences:1.0.0'
|
||||
|
||||
// Testing
|
||||
testImplementation 'junit:junit:4.13.2'
|
||||
androidTestImplementation 'androidx.test.ext:junit:1.1.5'
|
||||
androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.1'
|
||||
implementation "androidx.core:core-ktx:1.12.0"
|
||||
implementation "androidx.appcompat:appcompat:1.6.1"
|
||||
implementation "com.google.android.material:material:1.12.0"
|
||||
implementation "androidx.constraintlayout:constraintlayout:2.1.4"
|
||||
implementation "androidx.navigation:navigation-fragment-ktx:2.7.6"
|
||||
implementation "androidx.navigation:navigation-ui-ktx:2.7.6"
|
||||
implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0"
|
||||
implementation "androidx.lifecycle:lifecycle-livedata-ktx:2.7.0"
|
||||
implementation "androidx.lifecycle:lifecycle-runtime-ktx:2.7.0"
|
||||
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3"
|
||||
implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3"
|
||||
implementation "androidx.room:room-runtime:2.6.1"
|
||||
implementation "androidx.room:room-ktx:2.6.1"
|
||||
annotationProcessor "androidx.room:room-compiler:2.6.1"
|
||||
implementation "com.google.android.gms:play-services-maps:18.2.0"
|
||||
implementation "com.google.android.gms:play-services-location:21.1.0"
|
||||
implementation "com.github.PhilJay:MPAndroidChart:v3.1.0"
|
||||
implementation "androidx.datastore:datastore-preferences:1.0.0"
|
||||
implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.1.0"
|
||||
}
|
||||
|
||||
@@ -37,14 +37,14 @@
|
||||
android:label="@string/app_name"
|
||||
android:roundIcon="@mipmap/ic_launcher_round"
|
||||
android:supportsRtl="true"
|
||||
android:theme="@style/Theme.sensTools"
|
||||
android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar"
|
||||
tools:targetApi="31">
|
||||
|
||||
<activity
|
||||
android:name=".presentation.ui.MainActivity"
|
||||
android:exported="true"
|
||||
android:screenOrientation="portrait"
|
||||
android:theme="@style/Theme.sensTools">
|
||||
android:theme="@style/Theme.AppCompat.DayNight.DarkActionBar">
|
||||
<intent-filter>
|
||||
<action android:name="android.intent.action.MAIN" />
|
||||
<category android:name="android.intent.category.LAUNCHER" />
|
||||
|
||||
@@ -34,10 +34,10 @@ class LanguageManager(private val context: Context) {
|
||||
|
||||
fun getLanguageDisplayName(language: String, context: Context): String {
|
||||
return when (language) {
|
||||
"zh" -> context.getString(R.string.language_chinese)
|
||||
"en" -> context.getString(R.string.language_english)
|
||||
"ja" -> context.getString(R.string.language_japanese)
|
||||
"ko" -> context.getString(R.string.language_korean)
|
||||
"zh" -> context.getString(com.senstools.R.string.language_chinese)
|
||||
"en" -> context.getString(com.senstools.R.string.language_english)
|
||||
"ja" -> context.getString(com.senstools.R.string.language_japanese)
|
||||
"ko" -> context.getString(com.senstools.R.string.language_korean)
|
||||
else -> language
|
||||
}
|
||||
}
|
||||
|
||||
+17
-52
@@ -1,29 +1,22 @@
|
||||
package com.senstools.presentation.ui.settings
|
||||
|
||||
import androidx.fragment.app.viewModels
|
||||
import androidx.fragment.app.Fragment
|
||||
import android.app.AlertDialog
|
||||
import android.os.Bundle
|
||||
import com.senstools.databinding.FragmentSettingsBinding
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.widget.ArrayAdapter
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.fragment.app.viewModels
|
||||
import com.senstools.databinding.FragmentSettingsBinding
|
||||
import com.senstools.presentation.ui.map.provider.MapType
|
||||
import com.senstools.presentation.viewmodel.SettingsViewModel
|
||||
|
||||
class SettingsFragment : Fragment() {
|
||||
|
||||
private var _binding: FragmentSettingsBinding? = null
|
||||
private val binding get() = _binding!!
|
||||
|
||||
private val viewModel: SettingsViewModel by viewModels()
|
||||
private lateinit var languageManager: LanguageManager
|
||||
|
||||
private val mapProviders = listOf("Google", "°Ù¶È", "¸ßµÂ")
|
||||
private val mapProviders = listOf("Google", "百度", "高德")
|
||||
private val allMapTypes = MapType.values().map { it.displayName }
|
||||
private val languages = listOf("zh", "en", "ja", "ko")
|
||||
|
||||
override fun onCreateView(
|
||||
inflater: LayoutInflater,
|
||||
container: ViewGroup?,
|
||||
@@ -31,43 +24,19 @@ class SettingsFragment : Fragment() {
|
||||
): View {
|
||||
_binding = FragmentSettingsBinding.inflate(inflater, container, false)
|
||||
languageManager = LanguageManager(requireContext())
|
||||
return binding.root
|
||||
return binding!!.root
|
||||
}
|
||||
|
||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||
super.onViewCreated(view, savedInstanceState)
|
||||
setupSpinners()
|
||||
setupObservers()
|
||||
setupListeners()
|
||||
}
|
||||
|
||||
private fun setupSpinners() {
|
||||
val providerAdapter = ArrayAdapter(
|
||||
requireContext(),
|
||||
android.R.layout.simple_dropdown_item_1line,
|
||||
mapProviders
|
||||
)
|
||||
binding.tvDefaultMapProvider.setAdapter(providerAdapter)
|
||||
|
||||
val typeAdapter = ArrayAdapter(
|
||||
requireContext(),
|
||||
android.R.layout.simple_dropdown_item_1line,
|
||||
allMapTypes
|
||||
)
|
||||
binding.tvDefaultMapType.setAdapter(typeAdapter)
|
||||
|
||||
val languageAdapter = ArrayAdapter(
|
||||
requireContext(),
|
||||
android.R.layout.simple_dropdown_item_1line,
|
||||
getLanguageDisplayNames()
|
||||
)
|
||||
binding.tvLanguage.setAdapter(languageAdapter)
|
||||
binding.tvDefaultMapProvider.setText(mapProviders.firstOrNull() ?: "")
|
||||
binding.tvDefaultMapType.setText(allMapTypes.firstOrNull() ?: "")
|
||||
binding.tvLanguage.setText(languages.firstOrNull() ?: "")
|
||||
}
|
||||
|
||||
private fun getLanguageDisplayNames(): List<String> {
|
||||
return languages.map { languageManager.getLanguageDisplayName(it, requireContext()) }
|
||||
}
|
||||
|
||||
private fun setupObservers() {
|
||||
viewModel.settings.observe(viewLifecycleOwner) { settings ->
|
||||
binding.apply {
|
||||
@@ -76,16 +45,14 @@ class SettingsFragment : Fragment() {
|
||||
switchMap.isChecked = settings.mapEnabled
|
||||
sliderGpsRate.value = settings.gpsRate.toFloat()
|
||||
sliderSensorRate.value = settings.sensorRate.toFloat()
|
||||
tvDefaultMapProvider.setText(settings.defaultMapProvider, false)
|
||||
tvDefaultMapType.setText(settings.defaultMapType.displayName, false)
|
||||
tvDefaultMapProvider.setText(settings.defaultMapProvider)
|
||||
tvDefaultMapType.setText(settings.defaultMapType.displayName)
|
||||
tvLanguage.setText(
|
||||
languageManager.getLanguageDisplayName(settings.language, requireContext()),
|
||||
false
|
||||
)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupListeners() {
|
||||
binding.apply {
|
||||
switchGps.setOnCheckedChangeListener { _, isChecked ->
|
||||
@@ -103,32 +70,30 @@ class SettingsFragment : Fragment() {
|
||||
sliderSensorRate.addOnChangeListener { _, value, _ ->
|
||||
viewModel.setSensorRate(value.toInt())
|
||||
}
|
||||
tvDefaultMapProvider.setOnItemClickListener { _, _, position, _ ->
|
||||
viewModel.setDefaultMapProvider(mapProviders[position])
|
||||
tvDefaultMapProvider.setOnClickListener {
|
||||
viewModel.setDefaultMapProvider(mapProviders.first())
|
||||
}
|
||||
tvDefaultMapType.setOnItemClickListener { _, _, position, _ ->
|
||||
val selectedType = MapType.values().find { it.displayName == allMapTypes[position] }
|
||||
tvDefaultMapType.setOnClickListener {
|
||||
val selectedType = MapType.values().first()
|
||||
selectedType?.let { viewModel.setDefaultMapType(it) }
|
||||
}
|
||||
tvLanguage.setOnItemClickListener { _, _, position, _ ->
|
||||
val selectedLang = languages[position]
|
||||
tvLanguage.setOnClickListener {
|
||||
val selectedLang = languages.first()
|
||||
viewModel.setLanguage(selectedLang)
|
||||
languageManager.setLanguage(selectedLang)
|
||||
showLanguageRestartDialog()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun showLanguageRestartDialog() {
|
||||
AlertDialog.Builder(requireContext())
|
||||
.setTitle(getString(R.string.language))
|
||||
.setTitle(getString(com.senstools.R.string.language))
|
||||
.setMessage("Language change requires app restart to take effect.")
|
||||
.setPositiveButton("OK") { dialog, _ ->
|
||||
dialog.dismiss()
|
||||
}
|
||||
.show()
|
||||
}
|
||||
|
||||
override fun onDestroyView() {
|
||||
super.onDestroyView()
|
||||
_binding = null
|
||||
|
||||
@@ -50,7 +50,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="Pitch: 0.00��" />
|
||||
android:text="Pitch: 0.00" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvRoll"
|
||||
@@ -58,7 +58,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="Roll: 0.00��" />
|
||||
android:text="Roll: 0.00" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvYaw"
|
||||
@@ -66,7 +66,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:gravity="center"
|
||||
android:text="Yaw: 0.00��" />
|
||||
android:text="Yaw: 0.00" />
|
||||
</LinearLayout>
|
||||
</LinearLayout>
|
||||
</com.google.android.material.card.MaterialCardView>
|
||||
@@ -111,7 +111,7 @@
|
||||
<TextView android:id="@+id/tvSpeed" android:text="0.00 m/s" />
|
||||
|
||||
<TextView android:text="@string/bearing" />
|
||||
<TextView android:id="@+id/tvBearing" android:text="0.00��" />
|
||||
<TextView android:id="@+id/tvBearing" android:text="0.00" />
|
||||
|
||||
<TextView android:text="@string/satellites" />
|
||||
<TextView android:id="@+id/tvSatellites" android:text="0" />
|
||||
@@ -262,7 +262,7 @@
|
||||
android:layout_width="0dp"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_weight="1"
|
||||
android:text="Temp: 0.00��C" />
|
||||
android:text="Temp: 0.00C" />
|
||||
|
||||
<TextView
|
||||
android:id="@+id/tvHumidity"
|
||||
|
||||
@@ -151,7 +151,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp">
|
||||
|
||||
<com.google.android.material.textfield.AutoCompleteTextView
|
||||
<EditText
|
||||
android:id="@+id/tvDefaultMapProvider"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -170,7 +170,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp">
|
||||
|
||||
<com.google.android.material.textfield.AutoCompleteTextView
|
||||
<EditText
|
||||
android:id="@+id/tvDefaultMapType"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
@@ -189,7 +189,7 @@
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_marginTop="4dp">
|
||||
|
||||
<com.google.android.material.textfield.AutoCompleteTextView
|
||||
<EditText
|
||||
android:id="@+id/tvLanguage"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="wrap_content"
|
||||
|
||||
@@ -1,73 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">sensTools</string>
|
||||
<string name="nav_dashboard">Dashboard</string>
|
||||
<string name="nav_data">Data</string>
|
||||
<string name="nav_map">Map</string>
|
||||
<string name="nav_settings">Settings</string>
|
||||
|
||||
<!-- Dashboard -->
|
||||
<string name="flight_dashboard">Flight Dashboard</string>
|
||||
<string name="gps_data">GPS Data</string>
|
||||
<string name="sensor_data">Sensor Data</string>
|
||||
<string name="acceleration">Accelerometer (m/s?)</string>
|
||||
<string name="gyroscope">Gyroscope (¡ã/s)</string>
|
||||
<string name="magnetometer">Magnetometer (¦ÌT)</string>
|
||||
<string name="environment">Environment</string>
|
||||
<string name="start_recording">Start Recording</string>
|
||||
<string name="stop_recording">Stop Recording</string>
|
||||
|
||||
<!-- Labels -->
|
||||
<string name="longitude">Longitude:</string>
|
||||
<string name="latitude">Latitude:</string>
|
||||
<string name="altitude">Altitude:</string>
|
||||
<string name="speed">Speed:</string>
|
||||
<string name="bearing">Bearing:</string>
|
||||
<string name="satellites">Satellites:</string>
|
||||
<string name="pitch">Pitch:</string>
|
||||
<string name="roll">Roll:</string>
|
||||
<string name="yaw">Yaw:</string>
|
||||
<string name="pressure">Pressure:</string>
|
||||
<string name="temperature">Temperature:</string>
|
||||
<string name="humidity">Humidity:</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="data_collection">Data Collection</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="about">About</string>
|
||||
<string name="gps_data_label">GPS Data</string>
|
||||
<string name="sensor_data_label">Sensor Data</string>
|
||||
<string name="map_display">Map Display</string>
|
||||
<string name="gps_sampling_rate">GPS Sampling Rate (Hz)</string>
|
||||
<string name="sensor_sampling_rate">Sensor Sampling Rate (Hz)</string>
|
||||
<string name="default_map_provider">Default Map Provider</string>
|
||||
<string name="default_map_type">Default Map Type</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="select_provider">Select Provider</string>
|
||||
<string name="select_map_type">Select Map Type</string>
|
||||
<string name="select_language">Select Language</string>
|
||||
|
||||
<!-- Map Types -->
|
||||
<string name="google_normal">Google Normal</string>
|
||||
<string name="google_satellite">Google Satellite</string>
|
||||
<string name="google_terrain">Google Terrain</string>
|
||||
<string name="google_hybrid">Google Hybrid</string>
|
||||
<string name="baidu_normal">Baidu Normal</string>
|
||||
<string name="baidu_satellite">Baidu Satellite</string>
|
||||
<string name="baidu_hybrid">Baidu Hybrid</string>
|
||||
<string name="gaode_normal">Gaode Normal</string>
|
||||
<string name="gaode_satellite">Gaode Satellite</string>
|
||||
|
||||
<!-- Languages -->
|
||||
<string name="language_chinese">ÖÐÎÄ</string>
|
||||
<string name="language_english">English</string>
|
||||
<string name="language_japanese">ÈÕ±¾ÕZ</string>
|
||||
<string name="language_korean">???</string>
|
||||
|
||||
<!-- Data Files -->
|
||||
<string name="file_name">File Name</string>
|
||||
<string name="file_size">File Size</string>
|
||||
<string name="file_date">File Date</string>
|
||||
<string name="export">Export</string>
|
||||
<string name="delete">Delete</string>
|
||||
</resources>
|
||||
@@ -1,73 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">sensTools</string>
|
||||
<string name="nav_dashboard">ダッシュボード</string>
|
||||
<string name="nav_data">データ</string>
|
||||
<string name="nav_map">地図</string>
|
||||
<string name="nav_settings">設定</string>
|
||||
|
||||
<!-- Dashboard -->
|
||||
<string name="flight_dashboard">フライトダッシュボード</string>
|
||||
<string name="gps_data">GPSデータ</string>
|
||||
<string name="sensor_data">センサーデータ</string>
|
||||
<string name="acceleration">加速度計 (m/s?)</string>
|
||||
<string name="gyroscope">ジャイロスコープ (°/s)</string>
|
||||
<string name="magnetometer">磁力計 (μT)</string>
|
||||
<string name="environment">環境</string>
|
||||
<string name="start_recording">記録開始</string>
|
||||
<string name="stop_recording">記録停止</string>
|
||||
|
||||
<!-- Labels -->
|
||||
<string name="longitude">経度:</string>
|
||||
<string name="latitude">緯度:</string>
|
||||
<string name="altitude">高度:</string>
|
||||
<string name="speed">速度:</string>
|
||||
<string name="bearing">方位:</string>
|
||||
<string name="satellites">衛星数:</string>
|
||||
<string name="pitch">ピッチ:</string>
|
||||
<string name="roll">ロール:</string>
|
||||
<string name="yaw">ヨー:</string>
|
||||
<string name="pressure">気圧:</string>
|
||||
<string name="temperature">温度:</string>
|
||||
<string name="humidity">湿度:</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="data_collection">データ収集</string>
|
||||
<string name="display">表示</string>
|
||||
<string name="about">情報</string>
|
||||
<string name="gps_data_label">GPSデータ</string>
|
||||
<string name="sensor_data_label">センサーデータ</string>
|
||||
<string name="map_display">地図表示</string>
|
||||
<string name="gps_sampling_rate">GPSサンプリングレート (Hz)</string>
|
||||
<string name="sensor_sampling_rate">センサーサンプリングレート (Hz)</string>
|
||||
<string name="default_map_provider">デフォルト地図プロバイダー</string>
|
||||
<string name="default_map_type">デフォルト地図タイプ</string>
|
||||
<string name="language">言語</string>
|
||||
<string name="select_provider">プロバイダーを選択</string>
|
||||
<string name="select_map_type">地図タイプを選択</string>
|
||||
<string name="select_language">言語を選択</string>
|
||||
|
||||
<!-- Map Types -->
|
||||
<string name="google_normal">Google 標準</string>
|
||||
<string name="google_satellite">Google 衛星</string>
|
||||
<string name="google_terrain">Google 地形</string>
|
||||
<string name="google_hybrid">Google ハイブリッド</string>
|
||||
<string name="baidu_normal">百度 標準</string>
|
||||
<string name="baidu_satellite">百度 衛星</string>
|
||||
<string name="baidu_hybrid">百度 ハイブリッド</string>
|
||||
<string name="gaode_normal">高德 標準</string>
|
||||
<string name="gaode_satellite">高德 衛星</string>
|
||||
|
||||
<!-- Languages -->
|
||||
<string name="language_chinese">中国語</string>
|
||||
<string name="language_english">英語</string>
|
||||
<string name="language_japanese">日本語</string>
|
||||
<string name="language_korean">韓国語</string>
|
||||
|
||||
<!-- Data Files -->
|
||||
<string name="file_name">ファイル名</string>
|
||||
<string name="file_size">ファイルサイズ</string>
|
||||
<string name="file_date">ファイル日付</string>
|
||||
<string name="export">エクスポート</string>
|
||||
<string name="delete">削除</string>
|
||||
</resources>
|
||||
@@ -1,73 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">sensTools</string>
|
||||
<string name="nav_dashboard">????</string>
|
||||
<string name="nav_data">???</string>
|
||||
<string name="nav_map">??</string>
|
||||
<string name="nav_settings">??</string>
|
||||
|
||||
<!-- Dashboard -->
|
||||
<string name="flight_dashboard">?? ????</string>
|
||||
<string name="gps_data">GPS ???</string>
|
||||
<string name="sensor_data">?? ???</string>
|
||||
<string name="acceleration">???? (m/s?)</string>
|
||||
<string name="gyroscope">?????? (¡ã/s)</string>
|
||||
<string name="magnetometer">??? (¦ÌT)</string>
|
||||
<string name="environment">??</string>
|
||||
<string name="start_recording">?? ??</string>
|
||||
<string name="stop_recording">?? ??</string>
|
||||
|
||||
<!-- Labels -->
|
||||
<string name="longitude">??:</string>
|
||||
<string name="latitude">??:</string>
|
||||
<string name="altitude">??:</string>
|
||||
<string name="speed">??:</string>
|
||||
<string name="bearing">??:</string>
|
||||
<string name="satellites">?? ?:</string>
|
||||
<string name="pitch">??:</string>
|
||||
<string name="roll">?:</string>
|
||||
<string name="yaw">?:</string>
|
||||
<string name="pressure">??:</string>
|
||||
<string name="temperature">??:</string>
|
||||
<string name="humidity">??:</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="data_collection">??? ??</string>
|
||||
<string name="display">?????</string>
|
||||
<string name="about">??</string>
|
||||
<string name="gps_data_label">GPS ???</string>
|
||||
<string name="sensor_data_label">?? ???</string>
|
||||
<string name="map_display">?? ??</string>
|
||||
<string name="gps_sampling_rate">GPS ??? ?? (Hz)</string>
|
||||
<string name="sensor_sampling_rate">?? ??? ?? (Hz)</string>
|
||||
<string name="default_map_provider">?? ?? ???</string>
|
||||
<string name="default_map_type">?? ?? ??</string>
|
||||
<string name="language">??</string>
|
||||
<string name="select_provider">??? ??</string>
|
||||
<string name="select_map_type">?? ?? ??</string>
|
||||
<string name="select_language">?? ??</string>
|
||||
|
||||
<!-- Map Types -->
|
||||
<string name="google_normal">Google ??</string>
|
||||
<string name="google_satellite">Google ??</string>
|
||||
<string name="google_terrain">Google ??</string>
|
||||
<string name="google_hybrid">Google ??</string>
|
||||
<string name="baidu_normal">??? ??</string>
|
||||
<string name="baidu_satellite">??? ??</string>
|
||||
<string name="baidu_hybrid">??? ??</string>
|
||||
<string name="gaode_normal">??? ??</string>
|
||||
<string name="gaode_satellite">??? ??</string>
|
||||
|
||||
<!-- Languages -->
|
||||
<string name="language_chinese">???</string>
|
||||
<string name="language_english">??</string>
|
||||
<string name="language_japanese">???</string>
|
||||
<string name="language_korean">???</string>
|
||||
|
||||
<!-- Data Files -->
|
||||
<string name="file_name">?? ??</string>
|
||||
<string name="file_size">?? ??</string>
|
||||
<string name="file_date">?? ??</string>
|
||||
<string name="export">????</string>
|
||||
<string name="delete">??</string>
|
||||
</resources>
|
||||
@@ -1,73 +1,65 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<resources>
|
||||
<string name="app_name">sensTools</string>
|
||||
<string name="nav_dashboard">仪表盘</string>
|
||||
<string name="nav_data">数据</string>
|
||||
<string name="nav_map">地图</string>
|
||||
<string name="nav_settings">设置</string>
|
||||
|
||||
<!-- Dashboard -->
|
||||
<string name="flight_dashboard">飞行仪表盘</string>
|
||||
<string name="gps_data">GPS数据</string>
|
||||
<string name="sensor_data">传感器数据</string>
|
||||
<string name="acceleration">加速度计 (m/s?)</string>
|
||||
<string name="gyroscope">陀螺仪 (°/s)</string>
|
||||
<string name="magnetometer">磁力计 (μT)</string>
|
||||
<string name="environment">环境</string>
|
||||
<string name="start_recording">开始记录</string>
|
||||
<string name="stop_recording">停止记录</string>
|
||||
|
||||
<!-- Labels -->
|
||||
<string name="longitude">经度:</string>
|
||||
<string name="latitude">纬度:</string>
|
||||
<string name="altitude">高度:</string>
|
||||
<string name="speed">速度:</string>
|
||||
<string name="bearing">方向:</string>
|
||||
<string name="satellites">卫星数:</string>
|
||||
<string name="pitch">俯仰:</string>
|
||||
<string name="roll">横滚:</string>
|
||||
<string name="yaw">偏航:</string>
|
||||
<string name="pressure">气压:</string>
|
||||
<string name="temperature">温度:</string>
|
||||
<string name="humidity">湿度:</string>
|
||||
|
||||
<!-- Settings -->
|
||||
<string name="data_collection">数据采集</string>
|
||||
<string name="display">显示</string>
|
||||
<string name="about">关于</string>
|
||||
<string name="gps_data_label">GPS数据</string>
|
||||
<string name="sensor_data_label">传感器数据</string>
|
||||
<string name="map_display">地图显示</string>
|
||||
<string name="gps_sampling_rate">GPS采样率 (Hz)</string>
|
||||
<string name="sensor_sampling_rate">传感器采样率 (Hz)</string>
|
||||
<string name="default_map_provider">默认地图提供商</string>
|
||||
<string name="default_map_type">默认地图类型</string>
|
||||
<string name="language">语言</string>
|
||||
<string name="select_provider">选择提供商</string>
|
||||
<string name="select_map_type">选择地图类型</string>
|
||||
<string name="select_language">选择语言</string>
|
||||
|
||||
<!-- Map Types -->
|
||||
<string name="google_normal">Google 标准</string>
|
||||
<string name="google_satellite">Google 卫星</string>
|
||||
<string name="google_terrain">Google 地形</string>
|
||||
<string name="google_hybrid">Google 混合</string>
|
||||
<string name="baidu_normal">百度 标准</string>
|
||||
<string name="baidu_satellite">百度 卫星</string>
|
||||
<string name="baidu_hybrid">百度 混合</string>
|
||||
<string name="gaode_normal">高德 标准</string>
|
||||
<string name="gaode_satellite">高德 卫星</string>
|
||||
|
||||
<!-- Languages -->
|
||||
<string name="language_chinese">中文</string>
|
||||
<string name="nav_dashboard">Dashboard</string>
|
||||
<string name="nav_data">Data</string>
|
||||
<string name="nav_map">Map</string>
|
||||
<string name="nav_settings">Settings</string>
|
||||
<string name="flight_dashboard">Dashboard</string>
|
||||
<string name="gps_data">GPS Data</string>
|
||||
<string name="sensor_data">Sensor Data</string>
|
||||
<string name="acceleration">Accel (m/s²)</string>
|
||||
<string name="gyroscope">Gyro (°/s)</string>
|
||||
<string name="magnetometer">Mag (µT)</string>
|
||||
<string name="environment">Environment</string>
|
||||
<string name="start_recording">Start</string>
|
||||
<string name="stop_recording">Stop</string>
|
||||
<string name="latitude">Lat:</string>
|
||||
<string name="longitude">Lng:</string>
|
||||
<string name="altitude">Alt:</string>
|
||||
<string name="bearing">Heading:</string>
|
||||
<string name="speed">Speed:</string>
|
||||
<string name="pressure">Pressure:</string>
|
||||
<string name="temperature">Temp:</string>
|
||||
<string name="humidity">Humidity:</string>
|
||||
<string name="timestamp">Time:</string>
|
||||
<string name="data_collection">Data Collection</string>
|
||||
<string name="display">Display</string>
|
||||
<string name="about">About</string>
|
||||
<string name="gps_data_label">GPS Data</string>
|
||||
<string name="sensor_data_label">Sensor Data</string>
|
||||
<string name="map_display">Map Display</string>
|
||||
<string name="gps_sampling_rate">GPS Rate (Hz)</string>
|
||||
<string name="sensor_sampling_rate">Sensor Rate (Hz)</string>
|
||||
<string name="default_map_provider">Default Provider</string>
|
||||
<string name="default_map_type">Default Map Type</string>
|
||||
<string name="language">Language</string>
|
||||
<string name="select_provider">Select Provider</string>
|
||||
<string name="select_map_type">Select Map Type</string>
|
||||
<string name="select_language">Select Language</string>
|
||||
<string name="google_normal">Google Normal</string>
|
||||
<string name="google_satellite">Google Satellite</string>
|
||||
<string name="google_terrain">Google Terrain</string>
|
||||
<string name="google_hybrid">Google Hybrid</string>
|
||||
<string name="baidu_normal">Baidu Normal</string>
|
||||
<string name="baidu_satellite">Baidu Satellite</string>
|
||||
<string name="baidu_hybrid">Baidu Hybrid</string>
|
||||
<string name="gaode_normal">Gaode Normal</string>
|
||||
<string name="gaode_satellite">Gaode Satellite</string>
|
||||
<string name="language_chinese">Chinese</string>
|
||||
<string name="language_english">English</string>
|
||||
<string name="language_japanese">日本語</string>
|
||||
<string name="language_korean">???</string>
|
||||
|
||||
<!-- Data Files -->
|
||||
<string name="file_name">文件名</string>
|
||||
<string name="file_size">文件大小</string>
|
||||
<string name="file_date">文件日期</string>
|
||||
<string name="export">导出</string>
|
||||
<string name="delete">删除</string>
|
||||
<string name="language_japanese">Japanese</string>
|
||||
<string name="language_korean">Korean</string>
|
||||
<string name="file_name">File Name</string>
|
||||
<string name="file_size">File Size</string>
|
||||
<string name="file_date">File Date</string>
|
||||
<string name="export">Export</string>
|
||||
<string name="delete">Delete</string>
|
||||
<string name="satellites">Satellites</string>
|
||||
<string name="rolling">Rolling</string>
|
||||
<string name="pitch">Pitch</string>
|
||||
<string name="yaw">Yaw</string>
|
||||
<string name="testing_connection">Testing…</string>
|
||||
<string name="connection_ok">OK</string>
|
||||
<string name="connection_failed">Failed</string>
|
||||
</resources>
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
// Top-level build file where you can add configuration options common to all sub-projects/modules.
|
||||
plugins {
|
||||
id 'com.android.application' version '8.2.0' apply false
|
||||
id 'org.jetbrains.kotlin.android' version '1.9.20' apply false
|
||||
id "com.android.application" version "8.7.3" apply false
|
||||
id "org.jetbrains.kotlin.android" version "2.0.21" apply false
|
||||
}
|
||||
|
||||
BIN
Binary file not shown.
+3
@@ -0,0 +1,3 @@
|
||||
#!/bin/sh
|
||||
DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
java -Xmx1024m -Dorg.gradle.appname="sensTools" -classpath "$DIR/gradle/wrapper/gradle-wrapper.jar" org.gradle.wrapper.GradleWrapperMain "$@"
|
||||
@@ -10,8 +10,8 @@ dependencyResolutionManagement {
|
||||
repositories {
|
||||
google()
|
||||
mavenCentral()
|
||||
maven { url "https://jitpack.io" }
|
||||
}
|
||||
}
|
||||
|
||||
rootProject.name = "sensTools"
|
||||
include ':app'
|
||||
include ":app"
|
||||
|
||||
Reference in New Issue
Block a user