Java 从Android Studio中的url获取单个整数变量
我是java和android studio的新手,我会玩一些外部数据,但我读json或其他东西失败了Java 从Android Studio中的url获取单个整数变量,java,android,Java,Android,我是java和android studio的新手,我会玩一些外部数据,但我读json或其他东西失败了 public class MainActivity extends AppCompatActivity { int a; Button button; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
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;
}
}
};
}
public类MainActivity扩展了AppCompatActivity{
INTA;
按钮;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
getWindow().addFlags(WindowManager.LayoutParams.FLAG\u保持屏幕打开);
setContentView(R.layout.activity_main);
按钮=(按钮)findViewById(R.id.button);
setOnClickListener(imgButtonHandler);
}
View.OnClickListener imgButtonHandler=新视图。OnClickListener(){
公共void onClick(视图v){
//意向意向=新意向(MainActivity.this、PostDataActivity.class);
ImageView图像=(ImageView)findViewById(R.id.ImageView);
字符串url=”http://www.example.com/data.json";
JsonObjectRequest JsonObjectRequest=新JsonObjectRequest
(Request.Method.GET,url,null,new Response.Listener()){
@凌驾
公共void onResponse(JSONObject响应){
TextView z=(TextView)findViewById(R.id.textView2);
z、 setText(“Response:+Response.toString());
}
},new Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
TextView z=(TextView)findViewById(R.id.textView2);
z、 setText(“Blad”);
}
});
开关(a){
违约:
setImageResource(R.drawable.main);
TextView t=(TextView)findViewById(R.id.TextView);
t、 setText(“Gotowy”);
a=1;
打破
案例1:
setImageResource(R.drawable.poprawny);
TextView b=(TextView)findViewById(R.id.TextView);
b、 setText(“Poprawny”);
a=2;
打破
案例2:
image.setImageResource(R.drawable.stop);
TextView c=(TextView)findViewById(R.id.TextView);
c、 setText(“停止”);
a=0;
打破
}
}
};
}
textView2不显示除默认文本之外的任何内容
我的目标是从json或php echo中获取一个int变量,并将其打印到textView上,或者更好地将其作为公共变量
我尝试了很多来自OKhttp、json、通用异步任务的例子,但我失败了。你在使用截击吗?如果是,您需要实际将您的请求排队。差不多
requestQueue.addToRequestQueue(jsonObjectRequest)
此外,回调将在后台线程上调用。您必须将它们发布到UI线程才能修改视图状态。您需要将请求添加到
RequestQueue
中,如下所示:
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(jsonObjectRequest);
否则它将永远无法运行。Write default:case1和case2下面的语句