java - Android线程异常和recyclerview不更新信息
问题描述
MainActivity 完整代码:https ://pastebin.com/G6RDxKan
我正在制作硬币市场应用程序。
线程之前运行良好,但是当我更改一些代码以更改应用程序设计时,发生了线程异常。
我没有更改任何线程代码,因此线程不会有问题。
我的线程如下所示。
@Override
protected void onResume() {
super.onResume();
pref = getSharedPreferences("pref", MODE_PRIVATE);
token = pref.getString("token", "");
if (token.equals("")) {
nv.getMenu().findItem(R.id.login).setVisible(true);
nv.getMenu().findItem(R.id.dashboard).setVisible(false);
} else {
nv.getMenu().findItem(R.id.login).setVisible(false);
nv.getMenu().findItem(R.id.dashboard).setVisible(true);
}
BithumbThread thread1 = new BithumbThread();
UpbitThread thread2 = new UpbitThread();
thread1.start();
thread2.start();
Log.d("/////////","OnResume End");
}
class BithumbThread extends Thread {
@Override
public void run() {
try {
Api_Client api = new Api_Client("" + bithumb_access,
"" + bithumb_secret);
HashMap<String, String> rgParams = new HashMap<String, String>();
rgParams.put("currency", "ALL");
.
.
.
String Asset = "Bithumb : " + balance;
tv_currentAsset.setText(Asset);
}
Log.d("/////////","Thread End");
} catch (Exception e) {
Log.d("/////////", "DataGetError");
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
class UpbitThread extends Thread {
@Override
public void run() {
try {
String accessKey = (upbit_access);
String secretKey = (upbit_secret);
String serverUrl = ("https://api.upbit.com");
Algorithm algorithm = Algorithm.HMAC256(secretKey);
String jwtToken = JWT.create()
.withClaim("access_key", accessKey)
.withClaim("nonce", UUID.randomUUID().toString())
.sign(algorithm);
.
.
.
String Asset2 = "Upbit : " + Double.toString(balance_total);
tv_currentAsset2.setText(Asset2);
}
Log.d("/////////","Thread End");
} catch (Exception e) {
Log.d("/////////", "DataGetError");
}
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
}
}
}
当我输入密钥时没有空异常错误,但是有线程异常并且线程无法更新recyclerview(应用程序的主页)中的硬币信息,尽管从json解析数据效果很好
我不知道哪件事使线程异常。
我也试过调试,但我找不到任何错误。
I/Choreographer: Skipped 57 frames! The application may be doing too much work on its main thread.
我从logcat中找到的只是这个。
也许有些适配器会出现问题。
如何修复不发生线程异常并更新回收器视图?