这是我在gradle
为我的android项目添加新依赖项时得到的以下错误.而且这个错误不是项目特定的.如果我在添加任何第三方插件时在任何其他Android项目错误中添加插件,我会得到相同的错误
我还发布了我的项目应用级gradle
模块截图
我甚Annotation Processor
至在设置中启用了.仍然没有解决方案 请帮忙.
我试图webview
从明文流量中获取保障.如文档中所述.我必须设定android:usesCleartextTraffic
为false
实现这一点.但这适用于API级别23及更高级别.我的最小sdk为22.如何确保应用程序在API级别23以下运行的设备上不会崩溃或产生任何问题?或者我如何以编程方式在application
标签中设置该属性值Manifest.xml
?
我正在尝试将类型为User
从本机平台的自定义对象传递给 Flutter。该User
班是一个库的一部分,并直接用于编辑不可访问。这是我的 android 和 iOS 代码实现。问题是我无法找到有关如何通过方法通道传递此对象的解决方案,以便我可以轻松地在 Dart 代码中解析它。
安卓部分:
private fun loginUser(uid: String, apiKey: String, result: MethodChannel.Result) {
MyChat.login(uid, apiKey, object : MyChat.CallbackListener<User>() {
override fun onSuccess(user: User) {
Log.e(TAG, user.toString())
result.success(hashMapOf("RESULT" to true, "AVATAR" to user.avatar,
"CREDITS" to user.credits,
"EMAIL" to user.email,
"LAST_ACTIVE" to user.lastActiveAt,
"NAME" to user.name,
"ROLE" to user.role,
"STATUS" to user.status,
"STATUS_MESSAGE" to user.statusMessage).toString())
}
override fun onError(p0: MyChatException?) {
Log.e(TAG, p0?.message)
result.error("FAILED", "Unable to create login", null)
}
})
} …
Run Code Online (Sandbox Code Playgroud) 我正在创建一个 Flutter 插件。但是当我尝试向插件的 iOS 部分添加依赖项时,我没有找到任何合适的指南。我在podspec
插件文件中声明了依赖项。但是依赖项仅在example/ios
through Pod 中可用,但我想在我ios
的插件文件夹中访问该依赖项。这是我的podspec
:
#
# To learn more about a Podspec see http://guides.cocoapods.org/syntax/podspec.html
#
Pod::Spec.new do |s|
s.name = 'comet_chat'
s.version = '0.0.1'
s.summary = 'A new Flutter plugin.'
s.description = <<-DESC
A new Flutter plugin.
DESC
s.homepage = 'http://example.com'
s.license = { :file => '../LICENSE' }
s.author = { 'Your Company' => 'email@example.com' }
s.source = { :path => '.' }
s.source_files = 'Classes/**/*'
s.public_header_files = 'Classes/**/*.h' …
Run Code Online (Sandbox Code Playgroud) 我有一个EditText
谁inputType
是numberPassword
.我想更改替换文本的点大小.它对我来说非常小(android默认).我想增加点大小.我怎样才能做到这一点?
我创建了一个抽象BaseFragment
类,它将被其他具体Fragment
类扩展。我想注入ViewModel
我BaseFragment
使用的Koin
. 这是我的 BaseFragment:
abstract class BaseFragment<out VM : BaseViewModel, DB : ViewDataBinding>(private val mViewModelClass: Class<VM>) : Fragment() {
val viewModel: VM by viewModel()
open lateinit var binding: DB
fun init(inflater: LayoutInflater, container: ViewGroup) {
binding = DataBindingUtil.inflate(inflater, getLayoutRes(), container, false)
}
open fun init() {}
@LayoutRes
abstract fun getLayoutRes(): Int
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View {
init(inflater, container!!)
init()
super.onCreateView(inflater, container, savedInstanceState)
return binding.root
}
open …
Run Code Online (Sandbox Code Playgroud) 我正在尝试实现以下布局。我想以占据整个屏幕宽度的方式放置项目:
实际布局:
这是我的 Recyclerview 项目的代码:
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingTop="@dimen/size_8dp"
android:paddingStart="@dimen/size_20dp"
android:paddingEnd="@dimen/size_20dp"
android:paddingBottom="@dimen/size_8dp">
<ImageView
android:id="@+id/legendsItemIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintBottom_toTopOf="@+id/text_legend_status_name"
/>
<TextView
android:id="@+id/text_legend_status_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:text="Low"
android:textSize="@dimen/text_size_8sp"
app:layout_constraintTop_toBottomOf="@+id/legendsItemIcon"
app:layout_constraintStart_toStartOf="@+id/legendsItemIcon"
app:layout_constraintEnd_toEndOf="@+id/legendsItemIcon"
app:layout_constraintBottom_toBottomOf="parent"
android:textColor="@color/legends_item_status_text_color"
android:layout_marginTop="@dimen/size_4dp"
/>
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
我有一个场景,我想显示用户当前的天气数据,因为我正在获取他/她当前的纬度/经度并对其进行反向地理编码以获取城市名称。获得城市名称后,我将拨打网络电话并显示天气数据。除此之外,我还需要执行许多位置操作。
所以我创建了一个名为LocationUtils.kt
. 我遵循 MVVM 架构,想知道哪个是调用LocationUtils
方法的理想层,是view
层还是viewmodel
层还是data
层。由于FusedLocationProvider
需要context
,如果我在ViewModel
其中使用它会泄漏。那么如何解决这个问题呢?
LocationUtils.kt
:
class LocationUtils {
private lateinit var fusedLocationClient: FusedLocationProviderClient
private fun isLocationEnabled(weakContext: Context?): Boolean {
return when {
Build.VERSION.SDK_INT >= Build.VERSION_CODES.P -> {
// This is new method provided in API 28
val locationManager = weakContext?.getSystemService(Context.LOCATION_SERVICE) as LocationManager
locationManager.isLocationEnabled
}
Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT -> {
// This is Deprecated in API 28
val mode = Settings.Secure.getInt(
weakContext?.contentResolver, Settings.Secure.LOCATION_MODE, …
Run Code Online (Sandbox Code Playgroud) 我xml
在我的项目的 drawable 文件夹中创建了一个渐变。我想xml
在ImageView
using 中加载它Glide
。我怎样才能做到这一点 ?
使用 Glide 在 ImageView 中简单加载图像:
Glide.with(LoginActivity.this).load(R.drawable.a270).asBitmap().diskCacheStrategy(DiskCacheStrategy.RESULT).into(backgroundImage);
Run Code Online (Sandbox Code Playgroud)
但是,如果使用上述更换相同的代码R.drawable.a270
与R.drawable.gradient_background
一个绘制的XML它不工作。
今天我将我的android工作室更新为3.2,当我尝试构建时gradle
.我收到了以下错误.请有人帮我这个.
org.gradle.api.ProjectConfigurationException: A problem occurred configuring project ':app'.
at org.gradle.configuration.project.LifecycleProjectEvaluator.addConfigurationFailure(LifecycleProjectEvaluator.java:94)
at org.gradle.configuration.project.LifecycleProjectEvaluator.notifyAfterEvaluate(LifecycleProjectEvaluator.java:89)
at org.gradle.configuration.project.LifecycleProjectEvaluator.doConfigure(LifecycleProjectEvaluator.java:70)
at org.gradle.configuration.project.LifecycleProjectEvaluator.access$100(LifecycleProjectEvaluator.java:34)
at org.gradle.configuration.project.LifecycleProjectEvaluator$ConfigureProject.run(LifecycleProjectEvaluator.java:110)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.configuration.project.LifecycleProjectEvaluator.evaluate(LifecycleProjectEvaluator.java:50)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:667)
at org.gradle.api.internal.project.DefaultProject.evaluate(DefaultProject.java:136)
at org.gradle.execution.TaskPathProjectEvaluator.configure(TaskPathProjectEvaluator.java:35)
at org.gradle.execution.TaskPathProjectEvaluator.configureHierarchy(TaskPathProjectEvaluator.java:62)
at org.gradle.configuration.DefaultBuildConfigurer.configure(DefaultBuildConfigurer.java:38)
at org.gradle.initialization.DefaultGradleLauncher$ConfigureBuild.run(DefaultGradleLauncher.java:261)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.initialization.DefaultGradleLauncher.configureBuild(DefaultGradleLauncher.java:173)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:132)
at org.gradle.initialization.DefaultGradleLauncher.getConfiguredBuild(DefaultGradleLauncher.java:110)
at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:87)
at org.gradle.internal.invocation.GradleBuildController$2.call(GradleBuildController.java:84)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)
at org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100)
at org.gradle.internal.invocation.GradleBuildController.configure(GradleBuildController.java:84)
at org.gradle.tooling.internal.provider.runner.ClientProvidedBuildActionRunner.run(ClientProvidedBuildActionRunner.java:64)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.tooling.internal.provider.ValidatingBuildActionRunner.run(ValidatingBuildActionRunner.java:32)
at org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner$1.run(RunAsBuildOperationBuildActionRunner.java:43)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328) …
Run Code Online (Sandbox Code Playgroud) android ×9
flutter ×2
ios ×2
kotlin ×2
android-mvvm ×1
build.gradle ×1
gradle ×1
koin ×1
swift ×1