我对android studio比较陌生。 我正尝试构建一个非常简单的应用程序,使用Bittrex交换API获取加密货币的价格。 然而,每次我尝试从URL获取信息,我的应用程序崩溃。 顺便说一句,我正在使用Kotlin。 我有麻烦解决这个问题,因为我不知道如何在调试模式下运行模拟器,只是编译器。 这是我的代码: package com.example.sebastian.cryptoapp import android.support.v7.app.AppCompatActivity import android.os.Bundle import java.net.URL import java.net.MalformedURLException import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { fun search(): String { //read in value var market = searchBar.getText().toString() //output text from URL query val result = URL(“https://bittrex.com/api/v1.1/public/getticker?market=” + market).readText() return result } fun getPrice(): String { //calling search […]
你们全部 我正在使用改进的API调用示例Android Kotlin项目。 我调用API并显示响应logcat。 但它不处理来自服务器的用户标识和数据。 所以,如果你知道的人分享你最好的经验。 val params = HashMap() params[“api_key”] = “api_key_value” params[“username”] = “abcd” params[“password”] = “1234” doApiLogin.getLogin(params).enqueue(object : Callback { override fun onResponse(call: Call?, response: Response?) { //To change body of created functions use File | Settings | File Templates. if (response != null && response.isSuccessful) { val getLoginAndRegisterResp = response.body() if […]
我正在开发一个简单的Android应用程序,它应该使用REST API与服务器通信。 客户端和服务器都使用kotlin,并使用Jackson和API序列化json,类似于: class xRequest { .. } class xResponse { .. } 客户端和服务器都有自己的git仓库,我使用Android Studio和Idea分别使用它们。 这导致类声明重复,因为他们都需要知道API。 什么是摆脱重复的最好方法? 我可以将API移到第三个项目,然后构建 – 发布 – 添加依赖项,但在开发过程中这是很多工作。 将它们移动到单个项目是否是一个好主意,所以它会看起来如此: my project api android-client server 谢谢
我正在尝试从JSon API在Kotlin中创建一个列表。 我做了Udemy的教程,我做了天气应用程序。 它完美的工作,但现在我需要一个订单列表新的列表。 这里是天气API代码: { “query”: { “results”: { “channel”: { “item” : { “forecast” : [ { “data”: 1 }, { “data”: 1 }, { “data”: 1 } ] } } } } } 但是现在我需要列出一个列表,并采用前面的例子,它看起来像这样: { “query”: { “results”: { “channel”: { “item”: { “forecast”: { “0”: { “data”: 1 }, “1”: { […]
我正在尝试使用OkHttp或Retrofit将字符串发布到Kotlin中的API。 如果我只使用OkHttp ,不管我POST什么,我总是会得到一个空的数组。 private fun sendRegistrationToServer(refreshedToken: String) { Log.e(_tag, “Refreshed token: ” + refreshedToken) val okClient = OkHttpClient() val requestBody = FormBody.Builder() .add(“id”, “0”) .add(“token”, refreshedToken) .build() val request = Request.Builder() .url(“http://192.168.1.27/testApi/updates”) .post(requestBody) .build() try { val response = okClient.newCall(request).execute() Log.e(“B_RES”, response.body()?.string()) } catch (e: IOException) { Log.e(“RES_FAIL”, e.toString()) } } Logcat说: 01-09 17:58:24.054 20439-20670/testApi.testApi_android […]
我是Kotlin的初学者,最近我学习了如何从json API 获取数据。 现在,我想知道如何将数据设置到API,例如,这里是我的API: { “username”: “Empty” “age”: 20 } 这是我的class级: @Parcel class Data { val username = “” val age = 0L fun loadFromJson(json: JsonObject) { username = readString(json, TAG_USERNAME) age = readLong(json, TAG_AGE) } companion object { private const val TAG_USERNAME = “username” private const val TAG_AGE = “age” } } 我正在寻找一个函数,它将采取一个数据类的参数,并会做类似的事情 json.set(data, […]
如何通过API清除我的YouTube播放列表? 需要删除所有播放列表,但不能删除播放列表。 当然我知道 – 需要循环为1.得到playlistinem ID 2.删除它3. etc但可能是更简单的方法? 谢谢!
我正在使用支持Android API 19-26的应用程序绘制的动画矢量。 为了重新开始动画(这是一个自定义的圆形加载动画),我使用AnimatedVectorDrawable.registerAnimationCallback,在onAnimationEnd回调中重新开始动画。 这适用于API> = 23,并且由于AnimatedVectorDrawableCompat,它也适用于API 19。 但是,它不适用于API 21和22,因为AnimatedVectorDrawable类已经存在于这些API中,但是registerAnimationCallback方法仅在API 23中添加。我怎样才能强制运行API 21或22的设备使用AnimatedVectorDrawableCompat他们的AnimatedVectorDrawable类,以便我可以使用registerAnimationCallback? 以下是我为不同的API版本开始动画的方法(在Kotlin中): private fun startAnimation() { if (Build.VERSION.SDK_INT >= 23) { ((circular_progress.drawable as LayerDrawable) .findDrawableByLayerId(R.id.loading_circle) as AnimatedVectorDrawable).apply { registerAnimationCallback(@TargetApi(23) object : Animatable2.AnimationCallback() { override fun onAnimationEnd(drawable: Drawable?) { super.onAnimationEnd(drawable) this@apply.start() } override fun onAnimationStart(drawable: Drawable?) = super.onAnimationStart(drawable) }) }.start() } else if (Build.VERSION.SDK_INT >= […]
编译最新版本工作正常,但由于我的模拟设备不是最新的谷歌播放版本,我不得不编译旧版本的API 编译'com.google.android.gms:play-services-places:10.0。+' 返回一个错误 错误:将字节码转换为dex时出错: 原因:com.android.dex.DexException:多个dex文件定义Lcom / google / android / gms / location / places / internal / zzw; 我已经尝试删除.gradle,我不使用任何其他的谷歌API apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 26 buildToolsVersion "25.0.2" defaultConfig { applicationId "com.example.myapp.myapplication" minSdkVersion 19 targetSdkVersion 26 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled […]
我对android studio比较陌生。 我正尝试构建一个非常简单的应用程序,使用Bittrex交换API获取加密货币的价格。 然而,每次我尝试从URL获取信息,我的应用程序崩溃。 顺便说一句,我正在使用Kotlin。 我有麻烦解决这个问题,因为我不知道如何在调试模式下运行模拟器,只是编译器。 这是我的代码: package com.example.sebastian.cryptoapp import android.support.v7.app.AppCompatActivity import android.os.Bundle import java.net.URL import java.net.MalformedURLException import kotlinx.android.synthetic.main.activity_main.* class MainActivity : AppCompatActivity() { fun search(): String { //read in value var market = searchBar.getText().toString() //output text from URL query val result = URL("https://bittrex.com/api/v1.1/public/getticker?market=" + market).readText() return result } fun getPrice(): String { //calling search […]