Tag: android

如何异步填充列表视图?

我想知道我应该如何实现一个ListAdapter加载其视图异步到一个ListView ? 我想这样做是因为我用来自我的数据库的信息来填充列表,这使得我的活动时间有点慢。

kotlin android – 用Builder模式和Java 8 lambda定制对话框

我有一个自定义对话框类定义跟随生成器模式。 我的代码没有问题。 但是现在我想重建能够在java 8 lambda上使用 CustomDialogList.kt class CustomDialogList(context: Context, private var title: Int?, private var icon: Int?, private var map: Map, private var listner: OnItemClickListener) : Dialog(context) { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.custom_dialog_list) txtTitle.text = context.getString(title!!) txtTitle.setCompoundDrawablesWithIntrinsicBounds(icon!!, 0, 0, 0) val listString: MutableList = mutableListOf() val listObject: MutableList = mutableListOf() for ((k, v) […]

如何以编程方式打开Android棉花糖上的特定应用程序的权限屏幕?

我有一个关于新的Android棉花糖版本的问题: 通过意图或类似的方式显示特定应用程序的权限屏幕是否可行? 可以使用下面的代码显示应用程序设置 – 是否有直接打开权限屏幕的模拟解决方案? startActivity(new Intent(android.provider.Settings.ACTION_APPLICATION_DETAILS_SETTINGS, Uri.fromParts(“package”, getPackageName(), null))); 我已经做了一些这方面的研究,但是我找不到一个合适的解决方案 – 我会很感激每一个帮助!

无法转换为org.jetbrains.kotlin.java.model.types.JeClassInitializerExecutableTypeMirror

我想升级到匕首2.8 – 但是现在我的项目在编译时会抛出这个错误: :android:compileWithAnalyticsWithCloudProdDebugAndroidTestKotlinAn exception occurred during annotation processing. Stacktrace: java.lang.ClassCastException: org.jetbrains.kotlin.java.model.types.JeMethodExecutableTypeMirror cannot be cast to org.jetbrains.kotlin.java.model.types.JeClassInitializerExecutableTypeMirror at org.jetbrains.kotlin.annotation.processing.impl.KotlinTypes.isSubsignature(KotlinTypes.kt:275) at dagger.shaded.auto.common.Overrides$ExplicitOverrides.isSubsignature(Overrides.java:183) at dagger.shaded.auto.common.Overrides$ExplicitOverrides.overrides(Overrides.java:109) at dagger.shaded.auto.common.MoreElements.getLocalAndInheritedMethods(MoreElements.java:334) at dagger.shaded.auto.common.MoreElements.getLocalAndInheritedMethods(MoreElements.java:314) at dagger.internal.codegen.ComponentValidator.validate(ComponentValidator.java:165) at dagger.internal.codegen.ComponentProcessingStep.process(ComponentProcessingStep.java:123) at dagger.internal.codegen.ComponentProcessingStep.process(ComponentProcessingStep.java:47) at dagger.shaded.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:329) at dagger.shaded.auto.common.BasicAnnotationProcessor.process(BasicAnnotationProcessor.java:182) at org.jetbrains.kotlin.annotation.AbstractAnnotationProcessingExtension.doRound(AnnotationProcessingExtension.kt:346) at org.jetbrains.kotlin.annotation.AbstractAnnotationProcessingExtension.process(AnnotationProcessingExtension.kt:283) at org.jetbrains.kotlin.annotation.AbstractAnnotationProcessingExtension.doAnnotationProcessing(AnnotationProcessingExtension.kt:269) at org.jetbrains.kotlin.annotation.AbstractAnnotationProcessingExtension.analysisCompleted(AnnotationProcessingExtension.kt:140) at org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:119) at org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegrationWithCustomContext(TopDownAnalyzerFacadeForJVM.kt:66) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.analyze(KotlinToJVMBytecodeCompiler.kt:365) at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:126) at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:358) […]

如何让Glide使用Android Studio 3.0?

自升级到Android Studio 3.0以来,我无法识别“AppGlideModule”。 Android Studio无法识别导入 import com.bumptech.glide.module.AppGlideModule; 看这里 我已经尝试更新“编译”到“实施” 。 我也尝试清理和重建项目,以及使缓存/重新启动失效。 build.gradle(module:app) apply plugin: ‘com.android.application’ android { compileSdkVersion 26 defaultConfig { applicationId “com.example.test” minSdkVersion 15 targetSdkVersion 26 buildToolsVersion “26.0.2” versionCode 1 versionName “1.0” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(‘proguard-android.txt’), ‘proguard-rules.pro’ } } } dependencies { implementation fileTree(dir: ‘libs’, include: [‘*.jar’]) […]

在iOS项目中使用Java库

我正在开发一个项目,需要基于相对复杂的规则集进行业务逻辑计算。 卡路里将在以下平台上执行: Android应用 iOS应用 Java EE应用程序容器 业务逻辑不依赖于任何平台的具体细节,而是严格的“数字运算”。 为了避免Java和Objective C的双重实现,需要进行精细的测试等等,我想创建一个包含实现的Java库,并在iOS应用程序中使用它。 什么是最好的方法来做到这一点? 为Objective C做一个本地端口会更好吗? 反过来,最好是用Objective C编写库并在Android / Java上使用它?

Kotlin stdlib和Databinding

是否有可能在xml中使用Kotlin stdlib中的方法? 例如这个代码 产生编译错误 执行任务失败:app:compileDevDebugJavaWithJavac’。 java.lang.RuntimeException:发现数据绑定错误。 **** / data binding error **** msg:无法在类java.lang.String文件中find方法isNotEmpty():D:\ Projects \ PushTracker -Android \ app \ src \ main \ res \ layout \ fragment_appointment_simple_details。 xml loc:104:44 – 104:70 **** \数据绑定错误**** 很明显,数据绑定试图find方法isNotEmpty()在Java的字符串,但我可以强制数据绑定编译器使用kotlin的字符串?

来自回收站视图的列表项的异步调用

我有一个RecyclerView ( ListView )。 每个列表项(行)都有上传/下载按钮。 当用户按下按钮时,它必须上传或从亚马逊下载文件。 上传或下载过程正在使用Kotlin Fuel框架完成。 Fuel是一个异步框架。 一旦上传或下载过程完成,我就写回调来RecyclerView适配器。 现在,我必须改变按钮(例如,如果按钮是上传的,在用户点击之后,它必须上传,一旦上传完成,它应该改变为下载按钮)。 我搜索列表(我传递给列表视图),一旦调用回调方法,在RecyclerView查找列表项的位置。 但是我不知道如何让View Holder更新从上传到下载或下载上传的按钮。 我试过,一旦识别行,就调用notifyDataSetChanged 。 但它的行为如此不同,以至于RecyclerView的第一页。 notifyDataSetChanged后根本不显示上传/下载按钮。 我应该调用notifyItemChanged(position)以便它调用bindViewHolder() ,它具有逻辑显示下载按钮,如果文件不存在,否则上传按钮。 或者还有其他更好的方法来做到这一点。 我在单独的文件中定义了FUEL调用,以实现可重用性。

Chromecast – 投射对话没有影子,无法从外界取消

我刚刚开始使用Cast SDK,并按照指南设置(在这里find: https : //developers.google.com/cast/docs/android_sender_integrate )。 我把演员按钮集成到我的示例应用程序,但是由于某种原因,它看起来不像它是如何(?)看? 例如,我的应用程序的演员对话: 我的示例应用程序图片 与遵循设计标准的示例应用程序( https://github.com/googlecast/CVideosVideos-android):CastVideos-Android 图片 如果您注意到,CastVideos-Android有一个与对话关联的背影,可以通过按下屏幕上的任何位置来解除。 这是我所有的代码,因为它是一个非常基本的实现(我在Kotlin中写的): MainActivity类: class MainActivity : AppCompatActivity() { private var castContext: CastContext? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) castContext = CastContext.getSharedInstance(this) } override fun onCreateOptionsMenu(menu: Menu?): Boolean { super.onCreateOptionsMenu(menu) menuInflater.inflate(R.menu.main, menu) CastButtonFactory.setUpMediaRouteButton(applicationContext, menu, R.id.media_route_menu_item) return true } CastOptionsProvider类: class CastOptionsProvider […]

如何通过Okhttp3和Android将文件上传到Amazon S3

我把我的服务器的响应与亚马逊的证书发送一个文件,像这样一个文件,amazon s3url( https://exapmple-bucket.s3-us-west-2.amazonaws.com “)和json(”凭据“variables) : “key”:”somecache${filename}”, “success_action_status”:”201″, “acl”:”public-read”, “policy:”lagrepolicy”, “x-amz-credential”:”somecredential2/s3/aws4_request\”, “x-amz-algorithm”:”some”, “x-amz-date”:”somedate”, “x-amz-signature”:”some” 然后,我必须上传这个数据的文件到amazon s3,我的测试代码在Kotlin(java代码几乎相同): val requestBodyS3 = MultipartBody.Builder() .setType(MultipartBody.FORM) .addFormDataPart(“key”,credentials.getString(“key”)) .addFormDataPart(“success_action_status”, credentials.getString(“success_action_status”)) .addFormDataPart(“acl”,credentials.getString(“acl”)) .addFormDataPart(“policy”,credentials.getString(“policy”)) .addFormDataPart(“x-amz-credential”, credentials.getString(“x-amz-credential”)) .addFormDataPart(“x-amz-algorithm”, credentials.getString(“x-amz-algorithm”)) .addFormDataPart(“x-amz-date”, credentials.getString(“x-amz-date”)) .addFormDataPart(“x-amz-signature”, credentials.getString(“x-amz-signature”)) .addFormDataPart(“file”, “file”, RequestBody.create((MEDIA_TYPE_FILE), file)) .build() // val MEDIA_TYPE_FILE = MediaType.parse(“image/jpeg”) 我用这个代码收到的“文件”(来自图库): intent.setType(“image/*”) startActivityForResult(intent, RC_CODE_PICK) .. onActivityResult: val selectedImage = data?.data val file […]