FastJson之有道翻译
生活随笔
收集整理的這篇文章主要介紹了
FastJson之有道翻译
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在AndroidMainifast.xml中加入相應(yīng)的訪問權(quán)限
<uses-permission android:name="android.permission.INTERNET"/><uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/><uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>?
在新的線程中連接網(wǎng)絡(luò),調(diào)用ConnNet.getNet()
public class ConnNet {public String getNet(String msg) {List<NameValuePair> pairs = new ArrayList<NameValuePair>();pairs.add(new BasicNameValuePair("keyfrom", "rongguangfdasds"));pairs.add(new BasicNameValuePair("key", "498519883"));pairs.add(new BasicNameValuePair("type", "data"));pairs.add(new BasicNameValuePair("doctype", "json"));pairs.add(new BasicNameValuePair("version", "1.1"));pairs.add(new BasicNameValuePair("q", msg));String result= "";ArrayList<Web> webs;try {Trans trans=new Trans();trans = (Trans)new Http().get("openapi.do",pairs, Trans.class);webs=trans.getWeb();for(Web web:webs){result+=web.getKey()+"-->"+web.getValue()+"<p>";}result+= trans.getTranslation()[0]; // result = new Http().get("openapi.do",pairs, Map.class).toString();} catch (Exception e) {return e.getMessage();} // HttpClient httpClient = new DefaultHttpClient(); // HttpGet httpGet = new HttpGet("http://fanyi.youdao.com/openapi.do?keyfrom=rongguangfdasds&key=498519883&type=data&doctype=json&version=1.1&q=" + msg); // try { // HttpResponse httpResponse = httpClient.execute(httpGet); // String result = EntityUtils.toString(httpResponse.getEntity()); // Log.i("Res===", result); // return result; // } catch (IOException e) { // e.printStackTrace(); // }return result;} }Http處理Http請求并返回JSON
public class Http {public Object get(String url, List<NameValuePair> pairs,Class clzz) throws Exception {String json; // AppOption appOption = new AppOption();String host="http://fanyi.youdao.com/";HttpClient client = new DefaultHttpClient();client.getParams().setParameter("http.socket.timeout",3000);client.getParams().setParameter("http.connection.timeout",3000);client.getParams().setParameter("http.connection-manager.timeout", 60 * 60L);String param= URLEncodedUtils.format(pairs, "UTF-8");HttpGet httpget = new HttpGet(host + url+"?"+param);httpget.setHeader("User-Agent", "boilingClient Of Android");httpget.setHeader("userId", "rongguang");try {Log.i("d======",host + url+"?"+param);HttpResponse httpResponse = client.execute(httpget);json = EntityUtils.toString(httpResponse.getEntity());System.out.println(">>$"+httpget.getURI());} catch (IOException e) {throw new Exception(e);}return JSON.parseObject(json,clzz);} }數(shù)據(jù)實體
public class Trans {private int errorCode;private String[] translation;private ArrayList<Web> web;private String query;public int getErrorCode() {return errorCode;}public void setErrorCode(int errorCode) {this.errorCode = errorCode;}public String[] getTranslation() {return translation;}public void setTranslation(String[] translation) {this.translation = translation;}public ArrayList<Web> getWeb() {return web;}public void setWeb(ArrayList<Web> web) {this.web = web;}public String getQuery() {return query;}public void setQuery(String query) {this.query = query;} } public class Web {private String key;private String value;public String getKey() {return key;}public void setKey(String key) {this.key = key;}public String getValue() {return value;}public void setValue(String value) {this.value = value;} }?格式化Web對象為List<String>
public class ManWeb {public List<String> parseWeb(ArrayList<Web>webs){List<String> list = new ArrayList<String>();for(Web web:webs){list.add(web.getKey()+":"+web.getValue());}return list;} }MainActivity把格式化后的Web放入到ListView中
trans_list.setAdapter(new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,new ManWeb().parseWeb(trans.getWeb())));?在按鈕監(jiān)聽方法中加入網(wǎng)絡(luò)狀態(tài)的判斷,如果網(wǎng)絡(luò)連接不可用進(jìn)行提示,提高用戶體驗度
int netState=RongUtils.getAPNType(MainActivity.this);if(netState!=-1) {Message childMsg = mChildHandler.obtainMessage();childMsg.obj = goods.getText().toString().trim();mChildHandler.sendMessage(childMsg);}else {Toast.makeText(MainActivity.this,"網(wǎng)絡(luò)連接不可用,請檢查網(wǎng)絡(luò)!",Toast.LENGTH_SHORT).show();}判斷網(wǎng)絡(luò)狀態(tài)的類RongUtils
public class RongUtils {/*** 獲取當(dāng)前的網(wǎng)絡(luò)狀態(tài) -1:沒有網(wǎng)絡(luò) 1:WIFI網(wǎng)絡(luò)2:wap網(wǎng)絡(luò)3:net網(wǎng)絡(luò)*/public static int getAPNType(Context context){int netType = -1;ConnectivityManager connMgr = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);NetworkInfo networkInfo = connMgr.getActiveNetworkInfo();if(networkInfo==null){return netType;}int nType = networkInfo.getType();if(nType==ConnectivityManager.TYPE_MOBILE){if(networkInfo.getExtraInfo().toLowerCase().equals("cmnet")){netType = 3;}else{netType = 2;}}else if(nType==ConnectivityManager.TYPE_WIFI){netType = 1;}return netType;} }?
轉(zhuǎn)載于:https://www.cnblogs.com/rongguang/p/4819195.html
總結(jié)
以上是生活随笔為你收集整理的FastJson之有道翻译的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。