Tag: 安卓

如何从多个json API获取数据

我有不止一个json api ex:api1,api2和api3他们每个人都有不同的结构,我想从这三个API中获取数据,并将它们合并到一个回收站视图中,我搜索了这些主题, t得到任何有用的教程,我已经使用改造从只有一个API提取数据,我应该使用rxjava改造做我想要的和如何。

直接解析配置“debugCompile”是不允许的

失败:生成失败,出现异常。 出了什么问题:无法确定任务':app:extractIncludeDebugProto'的依赖关系。 直接解析配置“debugCompile”是不允许的 试试:运行–info或–debug选项来获得更多的日志输出。 例外是: org.gradle.api.internal.tasks.TaskDependencyResolveException:无法确定任务“:app:extractIncludeDebugProto”的依赖关系。 org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.resolve(CachingTaskDependencyResolveContext.java:68)at org.gradle.api.internal.tasks.CachingTaskDependencyResolveContext.getDependencies(CachingTaskDependencyResolveContext.java:56)at org.gradle.execution.taskgraph .DefaultTaskExecutionPlan.addToTaskGraph(DefaultTaskExecutionPlan.java:175)at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.addTasks(DefaultTaskGraphExecuter.java:111)at org.gradle.execution.TaskNameResolvingBuildConfigurationAction.configure(TaskNameResolvingBuildConfigurationAction.java:47)at org。 (DefaultBuildConfigurationActionExecuter.java:54)在org.gradle.execution.DefaultBuildConfigurationActionExecuter.access $ 000(DefaultBuildConfigurationActionExecuter.java:25)在org.gradle.execution.DefaultBuildConfigurationActionExeter $ 1.proceed(DefaultBuildConfigurationActionExecuter.java:54)上执行gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:48)在org.gradle.execution.DefaultTasksBui ldExecutionAction.configure(DefaultTasksBuildExecutionAction.java:44)在org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:48)在org.gradle.execution.DefaultBuildConfigurationActionExecuter.access $ 000(DefaultBuildConfigurationActionExecuter.java:25)在org.gradle。在org.gradle.execution.DefaultBuildConfigurationActionExecuter.configure(DefaultBuildConfigurationActionExecuter.java:48)org.gradle.execution.ExcludedTaskFilteringBuildConfigurationAction.configure(ExcludedTaskFilteringBuildConfigurationAction.java:47)执行.DefaultBuildConfigurationActionExecuter $ 1.proceed(DefaultBuildConfigurationActionExecuter.java:54)。在org.gradle.initialization.DefaultGradleLauncher上的gradle.execution.DefaultBuildConfigurationActionExecuter.select(DefaultBuildConfigurationActionExecuter.java:36)$ org.gradle.internal.progress.DefaultBuildOperationExecutor $ CalculateTaskGraph.run(DefaultGradleLauncher.java:268)$ RunnableBuildO 在org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)上的org.gradle.internal.progress.DefaultBuildOperationExecutor $ RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)上的perationWorker.execute(DefaultBuildOperationExecutor.java:336) org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)at org.gradle.initialization.DefaultGradleLauncher.constructTaskGraph(DefaultGradleLauncher.java:175)at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java :130)org.gradle.initialization.DefaultGradleLauncher.executeTasks(DefaultGradleLauncher.java:109)at org.gradle.internal.invocation.GradleBuildController $ 1.call(GradleBuildController.java:78)at org.gradle.internal.invocation.GradleBuildController在org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:152)上$ 1.call(GradleBuildController.java:75) 在org.gradle.tooling.internal.provider.runner的org.gradle.internal.invocation.GradleBuildController.run(GradleBuildController.java:75)org.gradle.internal.invocation.GradleBuildController.doBuild(GradleBuildController.java:100) .BuildModelActionRunner.run(BuildModelActionRunner.java:53)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)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)at org.gradle.in 在org.gradle.launcher.exec.RunAsBuildOperationBuildActionRunner.run(RunAsBuildOperationBuildActionRunner.java:org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110) 40)at […]

如何在anko中为按钮设置图标(可绘制)?

我想用简单的按钮在一个普通的按钮的中心有一个图标。 我试过了 button.backgroundResource = R.drawable.arrow_forward 但我得到的可绘制覆盖整个按钮,并获得其父母的背景颜色(设置按钮上的背景颜色显示不做任何事情)。 我也尝试drawable = … ,同样的效果。 如何设置anko图标,使其具有原始宽高比并居中?

Android应用程序无法在任何模拟器中运行

我的应用程序不能运行。 可能有一些我无法弄清楚的错误。 那么谁能告诉我为什么,并帮助我解决代码? 这是我的代码: package com.djrockerstudio.pc import android.support.v7.app.AppCompatActivity import android.os.Bundle import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) btnCal.setOnClickListener { val sum: Int = cal() result.text = String.format("$%,.2f", sum) } } private fun cal(): Int { val pStandardIndex = 1000 val pIndex1 = 1500 val pIndex2 = 2000 val […]

使用Anko获取数据库行

我有一个数据库的Kolin Android应用程序。 我使用Anko库进行数据库通信。 我可以在我的数据库中插入数据,但是当我尝试从数据库中获取数据行时遇到一些麻烦。 我尝试通过以下代码获取数据行 try { var result = select("projects").where("rowid = {id}", "id" to 1).parseList(StringParser) Toast.makeText(applicationContext,result.toString(),Toast.LENGTH_LONG).show() } catch(e: Exception) { Toast.makeText(applicationContext,e.toString(),Toast.LENGTH_LONG).show() } 我怎样才能得到具有给定的ID行的内容 目前我得到这个错误 无效行:SingleColumnParser的行必须只包含一列

在活动之间转换时,视图的高度为0

这里是上下文:我有一个活动与复杂的布局,我想转换使用相对复杂的转换。 问题是我需要在图像下面scroll_frame一个视图( scroll_frame )(我不能使用XML),所以我需要知道它的高度。 它在第一次运行正常,但是在活动图像的高度突然变为零(缓存,竞态条件? 这是onCreate的片段: super.onCreate(savedInstanceState) postponeEnterTransition() setContentView(R.layout.some_id) // … non-essential stuff. Glide.with(this) .load([some resource id]) .into(object : SimpleTarget<Drawable>() { override fun onResourceReady(d: Drawable?, t: Transition<in Drawable>?) { // Prepare image. image.setImageDrawable(d) val margin = Math.max(image.measuredHeight, 0) // … non-essential stuff layoutParams.setMargins(0, margin, 0, 0) // Critical part. scroll_frame?.layoutParams = layoutParams // Start transition. […]

调用File.createNewFile()时,权限被拒绝 Android的

我试图创建一个图像文件到外部存储来分享它。 但在尝试下面的代码时,我有一些错误 var icon: Bitmap = BitmapFactory.decodeResource(resources, R.drawable.namelogo) val shareIntent = Intent(Intent.ACTION_SEND) shareIntent.type = "image/*" val bytes = ByteArrayOutputStream() icon.compress(Bitmap.CompressFormat.JPEG, 100, bytes) val path = File.separator + "temporary_file.jpg" val f = File(Environment.getExternalStorageDirectory().toString(), path) try { if (!f.parentFile.exists()) f.parentFile.mkdirs() if (!f.exists()) f.createNewFile() f.createNewFile() val fo = FileOutputStream(f) fo.write(bytes.toByteArray()) } catch (e: IOException) { Log.e("path = ", […]

是否有可能在Dagger 2.11中注入Recycler View适配器

我一直在使用新的dagger.android注射功能,到目前为止,我真的很喜欢他们。 但是,我遇到了这个小问题,看来不可能现场注入适配器或基本上我使用的任何非活动类。 我知道@Inject构造函数会更容易,但是因为我通过构造函数将数据传递给了我的recyclerview,所以这不是我的选择。 这意味着我必须调用组件来注入我的类。 使用如下所示的AppComponent类: interface AppComponent : AndroidInjector<App> { @Component.Builder abstract class Builder { abstract fun networkModule(networkModule: NetworkModule): Builder } fun inject(someClass SomeClass) } 生成的DaggerAppComponent在声明DaggerAppComponent.builder().build()后不能识别.inject() DaggerAppComponent.builder().build() 我显然是误解了一些关于Dagger的东西,因为这好像是注入类的规范方式。 我怀疑这是因为我从AndroidInjector扩展,但如果是这样的话,我将如何注入一个非活动类。 因为即使我为这个类创建了一个@Subcomponent ,它仍然需要从DaggerAppComponent

RxJava操作符用于切换方法

即时通讯新的与Android项目上的Rxjava,在这里我的代码 class RadioListRepositoryImpl(private val apiServices: ApiServices, private val chlDao: ChannelDao) : RadioListRepository { private val results: MutableList<DataResponse> init { results = ArrayList<DataResponse>() } override fun getData(): Observable<DataResponse> { return dataFromMemory().switchIfEmpty(dataFromNetwork()) } override fun dataFromMemory(): Observable<DataResponse> { val cacheDateExp = DateTime().minusHours(6) if(chlDao.isCacheExpired(cacheDateExp).isNotEmpty()){ Logger.d("Get data from cache SQLITE") val chList: MutableList<DataResponse> = ArrayList() val cache = chlDao.loadAll() […]

在lite模式下的MapView在onSaveInstanceState调用时崩溃

当我用Lite模式使用MapView时,调用MapView对象上的onSaveInstanceState()方法会导致应用程序崩溃。 这里是stacktrace: java.lang.NullPointerException: Attempt to invoke interface method 'void com.google.maps.api.android.lib6.impl.bq.b(android.os.Bundle)' on a null object reference at com.google.maps.api.android.lib6.impl.da.b(:com.google.android.gms.DynamiteModulesB:117) at com.google.android.gms.maps.internal.z.onTransact(:com.google.android.gms.DynamiteModulesB:108) at android.os.Binder.transact(Binder.java:507) at com.google.android.gms.maps.internal.IMapViewDelegate$zza$zza.onSaveInstanceState(Unknown Source) at com.google.android.gms.maps.MapView$zza.onSaveInstanceState(Unknown Source) at com.google.android.gms.dynamic.zza.onSaveInstanceState(Unknown Source) at com.google.android.gms.maps.MapView.onSaveInstanceState(Unknown Source) at ru.mail.sporttogether.fragments.AbstractMapFragment.onSaveInstanceState(AbstractMapFragment.kt:17) at android.support.v4.app.Fragment.performSaveInstanceState(Fragment.java:2353) at android.support.v4.app.FragmentManagerImpl.saveFragmentBasicState(FragmentManager.java:2599) at android.support.v4.app.FragmentManagerImpl.saveAllState(FragmentManager.java:2670) at android.support.v4.app.FragmentController.saveAllState(FragmentController.java:134) at android.support.v4.app.FragmentActivity.onSaveInstanceState(FragmentActivity.java:571) at android.support.v7.app.AppCompatActivity.onSaveInstanceState(AppCompatActivity.java:509) at ru.mail.sporttogether.mvp.PresenterActivity.onSaveInstanceState(PresenterActivity.kt:91) at android.app.Activity.performSaveInstanceState(Activity.java:1502) at android.app.Instrumentation.callActivityOnSaveInstanceState(Instrumentation.java:1308) at android.app.ActivityThread.callCallActivityOnSaveInstanceState(ActivityThread.java:5008) […]