diff --git a/.idea/gradle.xml b/.idea/gradle.xml
index ad27445..d31ec7f 100644
--- a/.idea/gradle.xml
+++ b/.idea/gradle.xml
@@ -12,7 +12,9 @@
+
+
diff --git a/README.md b/README.md
index b34b33a..8c97d57 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,4 @@
-#机器人服务中心
\ No newline at end of file
+#机器人服务中心
+
+util 工具库,
+uikit 引用依赖的ui库
\ No newline at end of file
diff --git a/app/build.gradle b/app/build.gradle
index 1e6e58c..3d12e33 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -39,4 +39,7 @@ android {
dependencies {
implementation project(":uikit")
+ implementation 'androidx.appcompat:appcompat:1.4.1'
+ implementation 'com.google.android.material:material:1.5.0'
+ implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
}
\ No newline at end of file
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 1e73cda..21cf1dd 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -12,8 +12,9 @@
android:supportsRtl="true"
android:theme="@style/Theme.Android_ulsService"
tools:targetApi="31">
+
@@ -22,6 +23,10 @@
+
+
\ No newline at end of file
diff --git a/app/src/main/java/com/uls/service/MainActivity.kt b/app/src/main/java/com/uls/service/module/home/MainActivity.kt
similarity index 95%
rename from app/src/main/java/com/uls/service/MainActivity.kt
rename to app/src/main/java/com/uls/service/module/home/MainActivity.kt
index 97e2496..fb91baf 100644
--- a/app/src/main/java/com/uls/service/MainActivity.kt
+++ b/app/src/main/java/com/uls/service/module/home/MainActivity.kt
@@ -1,4 +1,4 @@
-package com.uls.service
+package com.uls.service.module.home
import android.os.Bundle
import com.google.android.material.bottomnavigation.BottomNavigationView
@@ -7,6 +7,7 @@ import androidx.navigation.findNavController
import androidx.navigation.ui.AppBarConfiguration
import androidx.navigation.ui.setupActionBarWithNavController
import androidx.navigation.ui.setupWithNavController
+import com.uls.service.R
import com.uls.service.databinding.ActivityMainBinding
class MainActivity : AppCompatActivity() {
diff --git a/app/src/main/java/com/uls/service/ui/dashboard/DashboardFragment.kt b/app/src/main/java/com/uls/service/module/home/ui/dashboard/DashboardFragment.kt
similarity index 95%
rename from app/src/main/java/com/uls/service/ui/dashboard/DashboardFragment.kt
rename to app/src/main/java/com/uls/service/module/home/ui/dashboard/DashboardFragment.kt
index d0e89b8..9db4759 100644
--- a/app/src/main/java/com/uls/service/ui/dashboard/DashboardFragment.kt
+++ b/app/src/main/java/com/uls/service/module/home/ui/dashboard/DashboardFragment.kt
@@ -1,4 +1,4 @@
-package com.uls.service.ui.dashboard
+package com.uls.service.module.home.ui.dashboard
import android.os.Bundle
import android.view.LayoutInflater
diff --git a/app/src/main/java/com/uls/service/ui/dashboard/DashboardViewModel.kt b/app/src/main/java/com/uls/service/module/home/ui/dashboard/DashboardViewModel.kt
similarity index 85%
rename from app/src/main/java/com/uls/service/ui/dashboard/DashboardViewModel.kt
rename to app/src/main/java/com/uls/service/module/home/ui/dashboard/DashboardViewModel.kt
index 1d1589a..5c1ad6c 100644
--- a/app/src/main/java/com/uls/service/ui/dashboard/DashboardViewModel.kt
+++ b/app/src/main/java/com/uls/service/module/home/ui/dashboard/DashboardViewModel.kt
@@ -1,4 +1,4 @@
-package com.uls.service.ui.dashboard
+package com.uls.service.module.home.ui.dashboard
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
diff --git a/app/src/main/java/com/uls/service/ui/home/HomeFragment.kt b/app/src/main/java/com/uls/service/module/home/ui/home/HomeFragment.kt
similarity index 96%
rename from app/src/main/java/com/uls/service/ui/home/HomeFragment.kt
rename to app/src/main/java/com/uls/service/module/home/ui/home/HomeFragment.kt
index 81e0530..f1dbe2e 100644
--- a/app/src/main/java/com/uls/service/ui/home/HomeFragment.kt
+++ b/app/src/main/java/com/uls/service/module/home/ui/home/HomeFragment.kt
@@ -1,4 +1,4 @@
-package com.uls.service.ui.home
+package com.uls.service.module.home.ui.home
import android.os.Bundle
import android.view.LayoutInflater
diff --git a/app/src/main/java/com/uls/service/ui/home/HomeViewModel.kt b/app/src/main/java/com/uls/service/module/home/ui/home/HomeViewModel.kt
similarity index 86%
rename from app/src/main/java/com/uls/service/ui/home/HomeViewModel.kt
rename to app/src/main/java/com/uls/service/module/home/ui/home/HomeViewModel.kt
index 4455120..57782d1 100644
--- a/app/src/main/java/com/uls/service/ui/home/HomeViewModel.kt
+++ b/app/src/main/java/com/uls/service/module/home/ui/home/HomeViewModel.kt
@@ -1,4 +1,4 @@
-package com.uls.service.ui.home
+package com.uls.service.module.home.ui.home
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
diff --git a/app/src/main/java/com/uls/service/ui/notifications/NotificationsFragment.kt b/app/src/main/java/com/uls/service/module/home/ui/notifications/NotificationsFragment.kt
similarity index 95%
rename from app/src/main/java/com/uls/service/ui/notifications/NotificationsFragment.kt
rename to app/src/main/java/com/uls/service/module/home/ui/notifications/NotificationsFragment.kt
index 8c71eb1..1a3206f 100644
--- a/app/src/main/java/com/uls/service/ui/notifications/NotificationsFragment.kt
+++ b/app/src/main/java/com/uls/service/module/home/ui/notifications/NotificationsFragment.kt
@@ -1,4 +1,4 @@
-package com.uls.service.ui.notifications
+package com.uls.service.module.home.ui.notifications
import android.os.Bundle
import android.view.LayoutInflater
diff --git a/app/src/main/java/com/uls/service/ui/notifications/NotificationsViewModel.kt b/app/src/main/java/com/uls/service/module/home/ui/notifications/NotificationsViewModel.kt
similarity index 85%
rename from app/src/main/java/com/uls/service/ui/notifications/NotificationsViewModel.kt
rename to app/src/main/java/com/uls/service/module/home/ui/notifications/NotificationsViewModel.kt
index 80b464a..54cb45c 100644
--- a/app/src/main/java/com/uls/service/ui/notifications/NotificationsViewModel.kt
+++ b/app/src/main/java/com/uls/service/module/home/ui/notifications/NotificationsViewModel.kt
@@ -1,4 +1,4 @@
-package com.uls.service.ui.notifications
+package com.uls.service.module.home.ui.notifications
import androidx.lifecycle.LiveData
import androidx.lifecycle.MutableLiveData
diff --git a/app/src/main/java/com/uls/service/module/test/FuncListActivity.kt b/app/src/main/java/com/uls/service/module/test/FuncListActivity.kt
new file mode 100644
index 0000000..4f0eb5c
--- /dev/null
+++ b/app/src/main/java/com/uls/service/module/test/FuncListActivity.kt
@@ -0,0 +1,12 @@
+package com.uls.service.module.test
+
+import androidx.appcompat.app.AppCompatActivity
+import android.os.Bundle
+import com.uls.service.R
+
+class FuncListActivity : AppCompatActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ setContentView(R.layout.activity_func_list)
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_func_list.xml b/app/src/main/res/layout/activity_func_list.xml
new file mode 100644
index 0000000..9ba66c0
--- /dev/null
+++ b/app/src/main/res/layout/activity_func_list.xml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/fragment_dashboard.xml b/app/src/main/res/layout/fragment_dashboard.xml
index 166ab0e..a6d2066 100644
--- a/app/src/main/res/layout/fragment_dashboard.xml
+++ b/app/src/main/res/layout/fragment_dashboard.xml
@@ -4,7 +4,7 @@
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
- tools:context=".ui.dashboard.DashboardFragment">
+ tools:context=".module.home.ui.dashboard.DashboardFragment">
+ tools:context=".module.home.ui.home.HomeFragment">
+ tools:context=".module.home.ui.notifications.NotificationsFragment">
\ No newline at end of file
diff --git a/service/.gitignore b/service/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/service/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/service/build.gradle b/service/build.gradle
new file mode 100644
index 0000000..ac46e12
--- /dev/null
+++ b/service/build.gradle
@@ -0,0 +1,35 @@
+plugins {
+ id 'com.android.library'
+ id 'org.jetbrains.kotlin.android'
+}
+
+android {
+ namespace 'com.service'
+ compileSdk buildsdk.versions.compilesdk.get().toInteger()
+
+ defaultConfig {
+ minSdk buildsdk.versions.minisdk.get().toInteger()
+ targetSdk buildsdk.versions.targetsdk.get().toInteger()
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles "consumer-rules.pro"
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_11
+ targetCompatibility JavaVersion.VERSION_11
+ }
+ kotlinOptions {
+ jvmTarget = '1.8'
+ }
+}
+
+dependencies {
+ api project(":uikit")
+}
\ No newline at end of file
diff --git a/service/consumer-rules.pro b/service/consumer-rules.pro
new file mode 100644
index 0000000..e69de29
diff --git a/service/proguard-rules.pro b/service/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/service/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/service/src/main/AndroidManifest.xml b/service/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..a5918e6
--- /dev/null
+++ b/service/src/main/AndroidManifest.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/settings.gradle b/settings.gradle
index 607a2eb..bba81d4 100644
--- a/settings.gradle
+++ b/settings.gradle
@@ -22,8 +22,26 @@ dependencyResolutionManagement {
version('minisdk', '26')
version('targetsdk', '33')
}
+
+ create('androidxLibs') {
+ // 别名 group artifact version
+ library('core-ktx', 'androidx.core', 'core-ktx').version('1.8.0')
+ library('appcompat', 'androidx.appcompat', 'appcompat').version('1.4.1')
+ library('constraintlayout', 'androidx.constraintlayout', 'constraintlayout').version('2.1.4')
+ library('navigation-fragment', 'androidx.navigation', 'navigation-fragment-ktx').version('2.5.3')
+ library('navigation-ui', 'androidx.navigation', 'navigation-ui-ktx').version('2.5.3')
+ library('livedata', 'androidx.lifecycle', 'lifecycle-livedata-ktx').version('2.4.1')
+ library('viewmodel', 'androidx.lifecycle', 'lifecycle-viewmodel-ktx').version('2.5.1')
+ // androidX通用依赖
+ bundle('androidx', ['navigation-fragment','navigation-ui','core-ktx', 'appcompat', 'constraintlayout','livedata','viewmodel'])
+ }
+ create('googleLibs') {
+ library('material', 'com.google.android', 'material').version('1.5.0')
+ }
}
}
rootProject.name = "Android_ulsService"
include ':app'
include ':uikit'
+include ':util'
+include ':service'
diff --git a/uikit/build.gradle b/uikit/build.gradle
index 5d63225..0eec18a 100644
--- a/uikit/build.gradle
+++ b/uikit/build.gradle
@@ -32,14 +32,10 @@ android {
dependencies {
- implementation 'androidx.core:core-ktx:1.8.0'
- implementation 'androidx.appcompat:appcompat:1.4.1'
- implementation 'com.google.android.material:material:1.5.0'
- implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
- implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.4.1'
- implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1'
- implementation 'androidx.navigation:navigation-fragment-ktx:2.5.2'
- implementation 'androidx.navigation:navigation-ui-ktx:2.5.2'
+ api project(":uikit")
+ api androidxLibs.bundles.androidx
+ api googleLibs.material
+
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
diff --git a/util/.gitignore b/util/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/util/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/util/build.gradle b/util/build.gradle
new file mode 100644
index 0000000..ddb808d
--- /dev/null
+++ b/util/build.gradle
@@ -0,0 +1,43 @@
+plugins {
+ id 'com.android.library'
+ id 'org.jetbrains.kotlin.android'
+}
+
+android {
+ namespace 'com.util'
+ compileSdk buildsdk.versions.compilesdk.get().toInteger()
+
+ defaultConfig {
+ minSdk buildsdk.versions.minisdk.get().toInteger()
+ targetSdk buildsdk.versions.targetsdk.get().toInteger()
+
+ testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
+ consumerProguardFiles "consumer-rules.pro"
+ }
+
+ buildTypes {
+ release {
+ minifyEnabled false
+ proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
+ }
+ }
+ compileOptions {
+ sourceCompatibility JavaVersion.VERSION_11
+ targetCompatibility JavaVersion.VERSION_11
+ }
+ kotlinOptions {
+ jvmTarget = '1.8'
+ }
+}
+
+dependencies {
+ api "com.blankj:utilcodex:1.31.1"
+ api "io.reactivex.rxjava3:rxjava:3.1.8"
+ api "io.reactivex.rxjava3:rxandroid:3.0.0"
+ api "com.squareup.retrofit2:adapter-rxjava3:2.9.0"
+ api 'com.squareup.retrofit2:retrofit:2.9.0'
+ api 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'
+ api 'com.squareup.retrofit2:converter-gson:2.9.0'
+ api 'com.squareup.okhttp3:okhttp:4.2.2'
+
+}
\ No newline at end of file
diff --git a/util/consumer-rules.pro b/util/consumer-rules.pro
new file mode 100644
index 0000000..e69de29
diff --git a/util/proguard-rules.pro b/util/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/util/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/util/src/main/AndroidManifest.xml b/util/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..a5918e6
--- /dev/null
+++ b/util/src/main/AndroidManifest.xml
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file