Kotlin Volley - 从另一个类访问 volley 时应用程序崩溃并出错

至__

我在 project LoginActivity.kt& 中只有两个文件ApiActivity.ktLoin Activity 将调用get()ApiActivity 内部被调用的函数,该get()函数将执行简单的 GET 调用并返回值。

这是我在LoginActivity.kt 中的内容

val api = com.sa.sa.ApiActivity();
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        this.getToken();
    }
private fun getToken() {
var response = this.api.get ();
        Toast.makeText(this@LoginActivity,  response, Toast.LENGTH_SHORT).show();
}

这就是我在ApiActivity.kt中所拥有的

fun get () : String {
        var result : String = "Test";
        val queue = Volley.newRequestQueue(this);
        var url = getString(R.string.api_url)+getString(R.string.api_getToken);
        val stringRequest = StringRequest(Request.Method.GET, url,
            Response.Listener<String> { response ->
                result = response;
            },
            Response.ErrorListener {
                result = "Error";
            })
        queue.add(stringRequest);
        return result;
    }

IDE 没有显示任何错误,但是当我尝试运行该应用程序时,它显示以下错误并使应用程序崩溃

Attempt to invoke virtual method 'java.io.File android.content.Context.getCacheDir()' on a null object reference

注意:我没有任何布局ApiActivity.kt,我也没有onCreate我已经发布了我拥有的所有代码。

应用程序崩溃的原因是什么或我做错了什么。

愿安息

你根本不应该做ApiActivity一个活动。

class LoginActivity {
   fun getData(context : Context) : String {
    var result : String = "Test";
    val queue = Volley.newRequestQueue(context);
    var url = context.getString(R.string.api_url) + context.getString(R.string.api_getToken);
    val stringRequest = StringRequest(Request.Method.GET, url,
        Response.Listener<String> { response ->
            result = response;
        },
        Response.ErrorListener {
            result = "Error";
        })
    queue.add(stringRequest);
    return result;
   } 
}

LoginActivity称之为

var response = this.api.getData(this);
Toast.makeText(this@LoginActivity,  response, Toast.LENGTH_SHORT).show();

StringRequest方法也不是异步的吗?在那种情况下,你总会"Test"回来的。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Android Volley崩溃

来自分类Dev

Android Kotlin - Volley Unexpected 响应代码 400

来自分类Dev

导入模块Volley后出错

来自分类Dev

使用 volley 时的 OnErrorResponse 问题

来自分类Dev

如何创建单个 volley webservice 类以在整个 android 应用程序中使用?

来自分类Dev

WeatherLib-Volley.jar错误导致应用程序崩溃

来自分类Dev

为Facebook应用程序选择REST API或VOLLEY

来自分类Dev

Android Volley访问缓存响应数据

来自分类Dev

使用Android Volley获取Instagram访问令牌

来自分类Dev

Android Volley访问缓存响应数据

来自分类Dev

使用Android Volley获取Instagram访问令牌

来自分类Dev

Volley AppController类对象返回null

来自分类Dev

如何使 Volley 类成为公共方法

来自分类Dev

使用Android Volley时出现NoClassDefFoundError

来自分类Dev

离线时Android Volley存储区请求

来自分类Dev

为什么在Volley的RequestQueue中有一个mWaitingRequests

来自分类Dev

Android - 当应用程序关闭时,Volley 请求抛出 ECONNREFUSED

来自分类Dev

当在Volley中实现缓存时,防止Volley在POST请求方法上发送缓存的参数

来自分类Dev

在Android中使用Volley发送HTTP GET请求时出错

来自分类Dev

从另一个类访问方法时出错

来自分类Dev

Volley JsonObjectRequest在同一请求中发送3个JSONObject?

来自分类Dev

从另一个类调用 Alertdialog 时应用程序崩溃

来自分类Dev

Android Volley:gzip响应

来自分类Dev

Volley for Android的JSONArray响应

来自分类Dev

Volley的详细调试日志

来自分类Dev

WebAPI call using volley

来自分类Dev

Volley:图像缓存

来自分类Dev

禁用Volley缓存管理

来自分类Dev

Android Volley死了吗?