songw преди 3 дни
родител
ревизия
384e361fe2

+ 4 - 1
app/build.gradle

@@ -3,6 +3,7 @@ plugins {
     id 'kotlin-android'
 }
 
+apply plugin: 'kotlin-android'
 apply plugin: 'kotlin-android-extensions'
 
 android {
@@ -18,7 +19,7 @@ android {
     buildToolsVersion rootProject.ext.android.buildToolsVersion
 
     defaultConfig {
-        applicationId "erp.erp.general_wms"
+        applicationId "uas.erp.general_wms"
         minSdkVersion rootProject.ext.android.minSdkVersion
         targetSdkVersion rootProject.ext.android.targetSdkVersion
         versionCode rootProject.ext.android.versionCode
@@ -146,4 +147,6 @@ dependencies {
     implementation 'com.permissionx.guolindev:permissionx:1.3.0'
 
     implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
+
+    implementation "org.jetbrains.anko:anko-commons:$anko_version"
 }

+ 1 - 1
app/src/main/AndroidManifest.xml

@@ -86,7 +86,7 @@
 
         <provider
             android:name="androidx.core.content.FileProvider"
-            android:authorities="erp.erp.general_wms.fileprovider"
+            android:authorities="uas.erp.general_wms.fileprovider"
             android:exported="false"
             android:grantUriPermissions="true"
             tools:replace="android:authorities"

+ 80 - 0
app/src/main/java/uas/erp/general_wms/application/PdaApplicationKT2.kt

@@ -0,0 +1,80 @@
+package uas.erp.general_wms.application
+
+import android.app.Application
+import android.content.Context
+import android.media.AudioAttributes
+import android.media.SoundPool
+import android.os.Build
+import androidx.multidex.MultiDex
+import com.android.volley.RequestQueue
+import com.android.volley.toolbox.Volley
+import com.facebook.stetho.Stetho
+import uas.erp.general_wms.R
+import uas.erp.general_wms.util.AndroidUtil
+import uas.erp.general_wms.util.FakeX509TrustManager
+import uas.erp.general_wms.util.SoundUtil
+import java.util.*
+import kotlin.properties.Delegates
+
+/**
+ * Created by sw on 2025-10-13
+ */
+class PdaApplicationKT2 : Application() {
+
+    //替代java的静态写法
+    companion object {
+        private val TAG = "PdaApplicationKT2"
+        var context: Context by Delegates.notNull()
+        var mRequestQueue: RequestQueue? = null
+        var mVersionCode: Int = 1
+        var mAudioAttributes: AudioAttributes? = null
+        var mSoundPool: SoundPool? = null
+        var mSoundMap: HashMap<Integer, Integer>? = null
+            //用于限制属性的setter访问权限,使其只能在类内部修改,而getter仍然可以公开访问。
+            // 这种机制常用于保护属性的完整性,同时允许外部读取。
+            private set
+    }
+
+    override fun onCreate() {
+        super.onCreate()
+        context = applicationContext
+
+        MultiDex.install(this)
+
+        FakeX509TrustManager.allowAllSSL() //去掉SSL证书验证
+        if (mRequestQueue == null) {
+            mRequestQueue = Volley.newRequestQueue(this)
+        }
+
+        //Stetho调试工具初始化
+        Stetho.initializeWithDefaults(this)
+
+        mVersionCode = AndroidUtil.getVersionCode(this)
+
+        if (Build.VERSION.SDK_INT >= 21) {
+            mAudioAttributes = AudioAttributes.Builder()
+                .setUsage(AudioAttributes.USAGE_NOTIFICATION)
+                .setContentType(AudioAttributes.CONTENT_TYPE_MUSIC)
+                .build()
+            mSoundPool = SoundPool.Builder()
+                .setAudioAttributes(mAudioAttributes)
+                .setMaxStreams(4)
+                .build()
+        } else {
+            mSoundPool = SoundPool(4, AudioAttributes.CONTENT_TYPE_MUSIC, 0)
+        }
+
+//        mSoundMap = mutableMapOf()
+//        mSoundMap.put(SoundUtil.SOUND_ARIEL, mSoundPool.load(this, R.raw.ariel, 1))
+//
+//        //友盟统计SDK
+//        initUmeng()
+
+
+        //还能直接这么使用判断方法
+        var aa: Int = 0
+        require(aa > 0) { "存款为${aa}" }
+
+    }
+
+}

+ 1 - 1
app/src/main/java/uas/erp/general_wms/fragment/VersionUpgradeFragment.java

@@ -239,7 +239,7 @@ public class VersionUpgradeFragment extends BaseFragment implements ProgressResp
                         Intent intent = new Intent(Intent.ACTION_VIEW);
                         if (Build.VERSION.SDK_INT >= 24) {
                             Uri apkUri = FileProvider.getUriForFile(mActivity,
-                                    "erp.erp.general_wms.fileprovider", apk);
+                                    "uas.erp.general_wms.fileprovider", apk);
                             intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                             intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
                             intent.setDataAndType(apkUri, "application/vnd.android.package-archive");

+ 3 - 0
build.gradle

@@ -1,6 +1,7 @@
 // Top-level build file where you can add configuration options common to all sub-projects/modules.
 buildscript {
     ext.kotlin_version = "1.5.0"
+    ext.anko_version = "0.10.8"
     repositories {
         maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
         maven { url 'http://maven.aliyun.com/nexus/content/repositories/jcenter' }
@@ -21,6 +22,8 @@ buildscript {
         classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.0'
 
         classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
+
+        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
     }
 }