基于图结构实现地铁乘坐线路查询 (3)

代码控制:

.... if (pro.equals("1")) { cityAdapter = ArrayAdapter.createFromResource( MainActivity.this, R.array.station1, android.R.layout.simple_spinner_dropdown_item); sr4.setAdapter(cityAdapter); sr4.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { String strstation = MainActivity.this.getResources().getStringArray(R.array.station1)[position]; sr4Val = strstation; } @Override public void onNothingSelected(AdapterView<?> parent) { } }); } .....

demo图

在这里插入图片描述

使用okhttps获得json数据,get方式

相应的as添加jar包方式:

打开路径:file->project Structure->Depndences->app->+号 搜索相应的包即可

博主用的是 okhttp:2.7.5的包

在这里插入图片描述

public void SendGetRequest(final String url,final String startpos,final String endpos){ new Thread(new Runnable() { @Override public void run() { try { OkHttpClient client = new OkHttpClient();//创建OkHttpClient对象 Request request = new Request.Builder() .url("http://139.9.90.185/getShortestPath?start="+startpos+"&end="+endpos)//请求接口。如果需要传参拼接到接口后面。 .build();//创建Request 对象 Response response = null; response = client.newCall(request).execute();//得到Response 对象 if (response.isSuccessful()) { Log.d("kwwl","response.code()=="+response.code()); Log.d("kwwl","response.message()=="+response.message()); // Log.d("kwwl","res=="+response.body().string()); String resdata = response.body().string(); System.out.println(resdata); //此时的代码执行在子线程,修改UI的操作请使用handler跳转到UI线程。 JSONObject jsonObject = new JSONObject(resdata); String code = (jsonObject.getString("code")); if(Integer.parseInt(code)==0) { String resultpath = (jsonObject.getString("msg")); String resultnum = (jsonObject.getString("stationnum")); show("站点数:" + resultnum + "\n" + "站点最短路径:" + resultpath); Toast.makeText(MainActivity.this,"正在搜索中,请稍后",Toast.LENGTH_SHORT).show(); }else{ String msg = (jsonObject.getString("msg")); show("提示信息:"+msg); Toast.makeText(MainActivity.this,"提示信息:"+msg,Toast.LENGTH_SHORT).show(); } // System.out.println(result); }else{ show("请求出错,请选择正确的站点请求"); Toast.makeText(MainActivity.this,"请求出错,请选择正确的站点请求",Toast.LENGTH_SHORT).show(); } } catch (Exception e) { e.printStackTrace(); } } }).start(); } //显示在下方的TextView中 private void show(final String result) { runOnUiThread(new Runnable() { @Override public void run() { textShowPaths.setText(result); } }); }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zzjswg.html