編輯:關於Android編程
// 獲取外網IP public static String GetNetIp() { URL infoUrl = null; InputStream inStream = null; try { // http://iframe.ip138.com/ic.asp // infoUrl = new URL(http://city.ip138.com/city0.asp); infoUrl = new URL(http://ip38.com); URLConnection connection = infoUrl.openConnection(); HttpURLConnection httpConnection = (HttpURLConnection) connection; int responseCode = httpConnection.getResponseCode(); if (responseCode == HttpURLConnection.HTTP_OK) { inStream = httpConnection.getInputStream(); BufferedReader reader = new BufferedReader( new InputStreamReader(inStream, utf-8)); StringBuilder strber = new StringBuilder(); String line = null; while ((line = reader.readLine()) != null) strber.append(line + ); inStream.close(); // 從反饋的結果中提取出IP地址 // int start = strber.indexOf([); // Log.d(zph, + start); // int end = strber.indexOf(], start + 1); // Log.d(zph, + end); line = strber.substring(378, 395); line.replaceAll( , ); return line; } } catch (MalformedURLException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } return null; }
另有一個獲取外網IP的高端方法
public static String GetNetIp() { String IP = ; try { String address = http://ip.taobao.com/service/getIpInfo2.php?ip=myip; URL url = new URL(address); HttpURLConnection connection = (HttpURLConnection) url .openConnection(); connection.setUseCaches(false); if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) { InputStream in = connection.getInputStream(); // 將流轉化為字符串 BufferedReader reader = new BufferedReader( new InputStreamReader(in)); String tmpString = ; StringBuilder retJSON = new StringBuilder(); while ((tmpString = reader.readLine()) != null) { retJSON.append(tmpString + ); } JSONObject jsonObject = new JSONObject(retJSON.toString()); String code = jsonObject.getString(code); if (code.equals(0)) { JSONObject data = jsonObject.getJSONObject(data); IP = data.getString(ip) + ( + data.getString(country) + data.getString(area) + 區 + data.getString(region) + data.getString(city) + data.getString(isp) + ); Log.e(提示, 您的IP地址是: + IP); } else { IP = ; Log.e(提示, IP接口異常,無法獲取IP地址!); } } else { IP = ; Log.e(提示, 網絡連接異常,無法獲取IP地址!); } } catch (Exception e) { IP = ; Log.e(提示, 獲取IP地址時出現異常,異常信息是: + e.toString()); } return IP; }
雖然Android從2.3開始已經支持50種以上的語言,但是不是每種語言都有字體可以顯示。遇到一個新需求,有客戶要求對hindi語言的支持。於是上網找了一些資料,發現網上
shape和selector是Android UI設計中經常用到的,比如我們要自定義一個圓角Button,點擊Button有些效果的變化,就要用到shape和select
Android-PullRefreshLayout簡介:基於SwipeRefreshLayout,通吃所有的AbsListView、RecyclerViewAndroid
1 功能描述類似王者榮耀,按下的技能如果是需要預判的或者是可以選擇單一目標,產生一個搖桿,在地形上顯示輔助的UI提示。存在以下幾種情況:1.扇形范圍技能 2.方