优化语言

This commit is contained in:
fengjignqi
2026-10-09 10:51:39 +08:00
parent d582a51d6c
commit e6f845403c
10 changed files with 1782 additions and 7 deletions

View File

@@ -12,6 +12,13 @@ android {
}
defaultConfig {
ndk {
//设置支持的SO库架构(开发者可以根据需要,选择一个或多个平台的so)
abiFilters "armeabi-v7a", "arm64-v8a"
}
applicationId "com.juhabi.birds"
minSdk 24
targetSdk 36
@@ -21,6 +28,27 @@ android {
testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}
signingConfigs {
release {
storeFile file('../chengkong.jks')
keyAlias 'chengkong'
keyPassword '111111'
storePassword '111111'
}
debug {
storeFile file('../chengkong.jks')
keyAlias 'chengkong'
keyPassword '111111'
storePassword '111111'
}
config {
storeFile file('../chengkong.jks')
keyAlias 'chengkong'
keyPassword '111111'
storePassword '111111'
}
}
buildTypes {
release {
minifyEnabled false
@@ -82,4 +110,10 @@ dependencies {
implementation 'com.makeramen:roundedimageview:2.3.0'
//完整版引入
implementation 'io.github.carguo:gsyvideoplayer:13.2.1'
//高德相关
//2D地图
implementation 'com.amap.api:map2d:latest.integration'
//定位
implementation 'com.amap.api:location:latest.integration'
}

View File

@@ -8,6 +8,15 @@
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--允许程序获取网络状态-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--允许程序访问WiFi网络信息-->
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<!--允许程序访问CellID或WiFi热点来获取粗略的位置-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE"
android:maxSdkVersion="32" />
@@ -26,6 +35,11 @@
android:usesCleartextTraffic="true"
android:theme="@style/Theme.KotMvpProject">
<meta-data android:name="com.amap.api.v2.apikey"
android:value="32c97984f1089eb5e85721ee39261650"/>
<service
android:name="androidx.appcompat.app.AppLocalesMetadataHolderService"
android:enabled="false"
@@ -99,6 +113,10 @@
android:name=".mine.WebviewActivity"
android:exported="false" />
<activity
android:name=".device.MapViewActivity"
android:exported="false" />

View File

@@ -6,6 +6,7 @@ import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import com.amap.api.maps2d.MapView
import com.juhabi.birds.R
import com.juhabi.birds.base.BaseFragment
import com.juhabi.birds.custom.AddDevicePopupWindow
@@ -30,6 +31,8 @@ class DeviceFragment : BaseFragment<FragmentHomeBinding, DevicePresenter>(),
private var currentPage = FIRST_PAGE
private var pendingUnbindPosition: Int? = null
override fun createBinding(inflater: LayoutInflater, container: ViewGroup?): FragmentHomeBinding {
return FragmentHomeBinding.inflate(inflater, container, false)
}
@@ -95,13 +98,17 @@ class DeviceFragment : BaseFragment<FragmentHomeBinding, DevicePresenter>(),
)
}
R.id.tv_show_map -> {
val device = deviceAdapter.data[position]
// 没有经纬度时只展示空态,不要把空坐标传给地图
if (device.lat.isNullOrBlank() || device.lng.isNullOrBlank()) {
showMessage(mContext.getString(R.string.i18n_080)) //暂无定位
return@setOnItemChildClickListener
}
// 地图页后续接入,这里先预留点击入口
//Todo 1.先查询定位权限,参考之前动态权限获取方式。2.跳转到MapViewActivity中,中心点则随便展示就行,可以默认北京天安门
//代码不要删
// val device = deviceAdapter.data[position]
// // 没有经纬度时只展示空态,不要把空坐标传给地图
// if (device.lat.isNullOrBlank() || device.lng.isNullOrBlank()) {
// showMessage(mContext.getString(R.string.i18n_080)) //暂无定位
// return@setOnItemChildClickListener
// }
// // 地图页后续接入,这里先预留点击入口
}
}
}

View File

@@ -0,0 +1,41 @@
package com.juhabi.birds.device
import android.os.Bundle
import android.view.LayoutInflater
import android.view.View
import com.juhabi.birds.base.BaseActivity
import com.juhabi.birds.databinding.DeviceDetailLayoutBinding
import com.juhabi.birds.databinding.MapviewLayoutBinding
import com.juhabi.birds.device.entity.DeviceEntity
import com.juhabi.birds.device.mvp.DeviceContract
import com.juhabi.birds.device.mvp.DeviceImpl
import com.juhabi.birds.device.mvp.DevicePresenter
/**
* 地图显示
*/
class MapViewActivity :BaseActivity<MapviewLayoutBinding, DevicePresenter>(), DeviceContract.DeviceView,
View.OnClickListener {
override fun createBinding(inflater: LayoutInflater): MapviewLayoutBinding {
return MapviewLayoutBinding.inflate(inflater)
}
override fun createPresenter(): DevicePresenter? {
return DevicePresenter(DeviceImpl(mContext), mContext)
}
override fun initView(savedInstanceState: Bundle?) {
}
override fun showError(message: String) {
}
override fun getBindDeviceListSuccess(devices: List<DeviceEntity>) {
}
override fun bindDeviceSuccess(message: String) {
}
override fun onClick(p0: View?) {
}
}

View File

@@ -15,6 +15,7 @@ class DeviceAdapter : BaseQuickAdapter<DeviceEntity, BaseViewHolder>(R.layout.de
init {
addChildClickViewIds(R.id.img_more)
addChildClickViewIds(R.id.tv_show_map)
}
override fun convert(holder: BaseViewHolder, item: DeviceEntity) {

View File

@@ -107,6 +107,7 @@
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginStart="10dp"
android:gravity="center_vertical"
android:layout_weight="1"
android:background="@null"
android:hint="@string/register_password_hint"

View File

@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.amap.api.maps2d.MapView
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:ignore="MissingClass" />
</LinearLayout>