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