public String tuling(String spt) { String result = null; String data = null; String url_Json =null; try { //一定要将其变成utf-8 data = URLEncoder.encode(spt, "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } String strUrl = "http://www.tuling123.com/openapi/api?key=xxxxx&info=+" + data; //key是你自己注册得到的,当然你直接用我的也行 URL url = null; try { url = new URL(strUrl); HttpURLConnection conn = null; conn = (HttpURLConnection) url.openConnection(); conn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; rv:11.0) like Gecko"); conn.connect(); //打开这个页面的输入流,这个网站的内容以字节流的形式返回。如果是网页就返回html,图片就返回图片的内容。 InputStream inStream = conn.getInputStream(); byte[] buf = new byte[1024]; ByteArrayOutputStream outStream = new ByteArrayOutputStream(); int n = 0; while ((n = inStream.read(buf)) != -1) { outStream.write(buf, 0, n); } inStream.close(); outStream.close(); //用ByteArrayOutputStream全部缓冲好后再一次转成String,不然再间隔的地方会出现乱码问题 result = outStream.toString(); //返回的JSON,弄成字符串后去掉头和尾就行 result = result.substring(23, result.length() - 2); url_Json = result.substring(result.indexOf("url\":\""),result.length()-2); System.out.println("**这是图灵的结果*** :" + result); } catch (Exception e) { e.printStackTrace(); } return result; }
------------------------------
子线程方法放到主线程执行
runOnUiThread(new Runnable() { @Override public void run() { etname.setText(result); } });