Kotlin / Android应用程序使用Retrofit2。 JSON查询不能按我期望的那样工作

在一个小的android应用程序工作,以帮助我了解JSON查询。 小测试应用程序的工作,直到我试图深入钻到我的测试JSON数据。 我将发布一个链接到我正在使用的JSON数据,以节省空间。 这是来自weatherwunderground的API并托管在myjson.com上的示例代码。 JSON: https : //api.myjson.com/bins/19uurt 主要活动代码 class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val retriever = CycloneRetriever() val callback = object : Callback { override fun onResponse(call: Call?, response: Response?) { println(“Got a response!”) println(response?.body()?.currenthurricane?.get(1)?.stormInfo?.get(0)?.stormName).toString() } override fun onFailure(call: Call?, t: Throwable?) { println(“The thing, it failed!”) […]

android gradle增量lint

因为我会在Android的增量Lint检查工作,我看了一些文章,我发现我可以在build.gradle中添加一个任务,然后通过重写LintGradleClient传递一些参数,应该按照文章中的描述工作,但是我按照文中所描述的,在增加了LintGradle参数的情况下,AndroidProject无法得到,我用kotlin实现了。有人可以帮我吗? 这里是文章的URL路径https://www.jianshu.com/p/4833a79e9396 我的代码获取AndroidProject作为Kotlin: fun getAndroidProject(): AndroidProject{ var gradleConn = GradleConnector.newConnector() gradleConn.forProjectDirectory(getProject().getProjectDir()) var modelProject = gradleConn.connect().getModel(com.android.builder.model.AndroidProject::class.java) return modelProject } 我执行任务,它告诉我这样的: 在这个版本中没有可用的“AndroidProject”types的模型。

来自firebase的recyclerview onClick getkey

如何在RecyclerView获取kotlin中的密钥以将其发送到其他活动? 我尝试使用getKey()和position但它不起作用。 这是我的代码: class RecyclerAdapter (val userlist:ArrayList,ccc: Context): RecyclerView.Adapter() { var mcontext =ccc val Postdata = java.util.ArrayList() lateinit var ref:DatabaseReference override fun getItemCount(): Int { return userlist.size } override fun onBindViewHolder( holder: ViewHolder?, position: Int) { val user: RecyClass = userlist[position] ref = FirebaseDatabase.getInstance().getReference(user.toString()) holder?.txtviewdesc?.text = user.desc Picasso.with(mcontext).load(user.image).into(holder?.imageviewx) holder?.setOncustomcilcklistner(object :Custumclicklistner33{ override fun oncustomOnClickListner(view: View, pos: […]

在这种情况下,神秘地转义try-catch块的例外最可能的原因是什么?

我在这样的Kotlin项目中使用Spring WebClient : data class DTO(val name: String) @Component class Runner: ApplicationRunner { override fun run(args: ApplicationArguments?) { try { val dto = get() } catch (e: Exception) { println(“ERROR, all exceptions should have been caught in ‘get’ “) } } } inline private fun get(): TResult? { var result: TResult? = null try { […]

有什么办法可以实现春季webflux的分页和弹簧数据的反应

我试图了解Spring 5的反应部分。我已经创建了简单的rest端点,用于查找所有使用spring web-flux和spring data reactive(mongo)的实体,但是没有看到如何实现分页。 这是我在Kotlin的简单例子: @GetMapping(“/posts/”) fun getAllPosts() = postRepository.findAll() 这是否意味着反应终点不需要分页? 有什么办法从服务器端使用这个堆栈实现分页?

Corda:error = org.hibernate.InstantiationException:没有实体的默认构造函数

我遇到了一个问题,请帮忙。 基于M13的Corda代码。 我的Schema代码主要是使用定义一个Schema来引用你的示例。 object LegalContractSchemaV1 : MappedSchema( schemaFamily = LegalContractSchema.javaClass, version = 1, mappedTypes = listOf(PersistentLegalContractState::class.java)) { @Entity @Table(name = “legal_contract_states”) class PersistentLegalContractState( @Column(name = “contract_title`enter code here`”) var contractTitle: String, @Column(name = “sender_name”) var senderName: String, @Column(name = “recipient_name”) var recipientName: String, @Column(name = “status”) var status: String) : PersistentState(){ // constructor(stateRef: StateRef) : […]

为什么设置onClickListener一次工作?

我想把一个非常坚实的项目结构迁移到Kotlin上。 我首先尝试了基础:活动和片段交易。 看起来如此简单和容易: class MainActivity : AppCompatActivity(), SomeInterface { override fun onCreate(savedInstanceState: Bundle?) { setContentView(R.layout.activity_main) val mainFragment = supportFragmentManager.findFragmentById(R.id.fragment_main) as MainActionsFragment? ?: MainActionsFragment.newInstance() supportFragmentManager.inTransaction { add(R.id.container_main, mainFragment) } } private val anotherFragment by lazy { supportFragmentManager.findFragmentById(R.id.another_fragment) as AnotherFragment? ?: AnotherFragment.newInstance() } override fun myInterfaceMethod() { replaceFragment(anotherFragment, R.id.container_main) } } class MainActionsFragment : Fragment() { val […]

removeAll – 修改源列表

在我的项目中,我使用了两次removeAll方法。 在第二次,我必须使用列表的副本,因为源列表通过首先使用removeAll方法进行修改。 有没有办法做到这一点,而不做副本的清单? val apiIdListCopy: MutableList = apiIdList apiIdList.removeAll(dbIdList) dbIdList.removeAll(apiIdListCopy) 编辑:对于未来的观众,我发现在Kotlin更容易的解决方案 val api: List = apiIdList.stream().filter{item -> !dbIdList.contains(item)}.collect(Collectors.toList()) val db: List = dbIdList.stream().filter{item -> !apiIdList.contains(item)}.collect(Collectors.toList())

Set中的重复项

在Kotlin中,我有一个数据类的MutableSet 。 数据类不会覆盖equals()或hashCode() 。 我一直在遇到涉及集合中重复对象的错误,并且我注意到调用foo.containsAll(foo)为该集合返回false 。 我经历了集合中的每个项目,只有少数返回false为foo.contains(foo.toList()[i]) 。 对于那些,调用foo.toList()[i] == foo.toList()[i]返回true 。 所以,平等检查工作。 这里发生了什么?

在使用Glide的Recyclerview中不显示图像

我有一个使用recyclerview的文章列表。 该列表是伟大的,但问题来了,当我尝试在recyclerview添加图像。 我正在使用Glide添加图像。 我已经成功添加使用导航抽屉滑翔添加图像,但是当我尝试在RecyclerView它显示没有比我默认的图像来源。 这是我的kotlin , class InformationListActivity : MainActivity() { private val glide: RequestManager? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_information_list) val toolbar = findViewById(R.id.toolbar) as Toolbar setSupportActionBar(toolbar) supportActionBar!!.setDisplayHomeAsUpEnabled(true) supportActionBar!!.setDisplayShowHomeEnabled(true) val user = FirebaseAuth.getInstance().currentUser val uName = user?.displayName val uEmail = user?.email val uPhotoUrl = user?.photoUrl user?.uid val navigationView = findViewById(R.id.nav_view) as […]