java - 从 Android Studio 中的 url 获取单个整数变量
问题描述
我是 java 和 android studio 的新手,我玩了一点外部数据,但读取 json 或任何东西都失败了。
public class MainActivity extends AppCompatActivity {
int a;
Button button;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
setContentView(R.layout.activity_main);
button= (Button)findViewById(R.id.button);
button.setOnClickListener(imgButtonHandler);
}
View.OnClickListener imgButtonHandler = new View.OnClickListener() {
public void onClick(View v) {
// Intent intent = new Intent(MainActivity.this, PostDataActivity.class);
ImageView image = (ImageView)findViewById(R.id.imageView);
String url = "http://www.example.com/data.json";
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest
(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
TextView z = (TextView) findViewById(R.id.textView2);
z.setText("Response: " + response.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
TextView z = (TextView) findViewById(R.id.textView2);
z.setText("Blad");
}
});
switch(a) {
default:
image.setImageResource(R.drawable.main);
TextView t = (TextView) findViewById(R.id.textView);
t.setText("Gotowy");
a=1;
break;
case 1:
image.setImageResource(R.drawable.poprawny);
TextView b = (TextView) findViewById(R.id.textView);
b.setText("Poprawny");
a=2;
break;
case 2:
image.setImageResource(R.drawable.stop);
TextView c = (TextView) findViewById(R.id.textView);
c.setText("Stop");
a=0;
break;
}
}
};
}
textView2 除了默认文本外不显示任何内容。
我的目标是从 json 或 php echo 中获取一个 int 变量并将其打印在 textView 上,或者更好地将其作为公共变量。
我尝试使用来自 OKhttp、json、generic_asynctask 的许多示例,但我失败了。
解决方案
你在使用 Volley 吗?如果是,您需要实际排队您的请求。就像是
requestQueue.addToRequestQueue(jsonObjectRequest)
此外,回调将在后台线程上调用。您必须将它们发布到 UI 线程才能修改视图状态。
推荐阅读
- swift - 在 SwiftUI 中,如何限制 ObservableObject 的哪些 @Published 属性触发视图刷新?
- javascript - 为什么我不能让这个 Svg 重音栏在 javascript 事件侦听器上缩小
- reactjs - 如何将函数传递给不同的组件反应
- python - Python timedelta 结果为整数
- html - 如何使用 onkeypress 在 HTML 中移动图像
- go - 接收加密/rsa:解密文件时出现解密错误
- audio - Ambisonic 录音和 RealityKit
- c# - 如何在 Server 2019 Datacenter 上重新启动 Windows 服务?
- python - 检查 val_acc 饱和度的回调
- python - 如何解决安装Tensorflow的错误?