Java 从Android Studio中的url获取单个整数变量

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);

我是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;
            }
         }
    };
}
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下面的语句