android 工具類

Android的獲取外部存儲設備。

   / / 1。這個是獲取安卓內置的SD卡
    。Environment.getExternalStorageDirectory()getAbsolutePath();
    
    / / 2。這個是獲取外部sdcaed卡
    嘗試{
    	
		運行時運行時間=調用Runtime.getRuntime();
		過程PROC =的Runtime.exec(“掛載”);
		InputStream的是= proc.getInputStream();
		InputStreamReader的ISR =新的輸入流(是);
		串線;
		串裝=新的String();
		的BufferedReader BR =新的BufferedReader(ISR);
		
		
		而((行= br.readLine())!= NULL){
			如果(line.contains(“安全”))繼續;
			如果(line.contains(“ASEC”))繼續;
			
			如果(line.contains(“胖”)){
				字符串列[] = line.split(“”);
				如果(列!= NULL && columns.length> 1){
					坐騎= mount.concat(“*”+列[1] +“\ n”);
				}
			的} else if(line.contains(“導火線”)){
				字符串列[] = line.split(“”);
				如果(列!= NULL && columns.length> 1){
					坐騎= mount.concat(列[1] +“\ n”);
				}
			}
		}
		/ / txtView.setText(安裝);
		Toast.makeText(這一點,掛載+“==”,Toast.LENGTH_SHORT)的show();
		
	}趕上(FileNotFoundException異常E){
		/ / TODO自動生成catch塊
		e.printStackTrace();
	}趕上(IOException異常E){
		/ / TODO自動生成catch塊
		e.printStackTrace();
	}

獲取SD卡上的圖片的縮略圖和視頻的縮略圖

/ **
  *根據指定的圖像路徑??和大小來獲取縮略圖
  * 1。使用較小的內存空間,第一次獲取的bitmap實際上為null,隻是為瞭讀取寬度和高度,
  *第二次讀取的bitmap是根據比例壓縮過的圖像,第三次讀取的bitmap是所要的縮略圖。
  * 2。縮略圖對於原圖像來講沒有拉伸,這裡使用瞭2.2版本的新工具ThumbnailUtils,使
  *用這個工具生成的圖像不會被拉伸。
  * @參數IMAGEPATH圖像的路徑
  * @參數寬度指定輸出圖像的寬度
  * @參數高度指定輸出圖像的高度
  * @返回生成的縮略圖
  * /
 私人點陣圖getImageThumbnail(IMAGEPATH字符串,整型寬度,高度詮釋){
		  位圖位圖= NULL;
		  BitmapFactory.Options選項=新BitmapFactory.Options();
		  options.inJustDecodeBounds = TRUE;
		  / /獲取這個圖片的寬和高,註意此處的點陣圖為空
		  位圖= BitmapFactory.decodeFile(IMAGEPATH,期權);
		  options.inJustDecodeBounds = FALSE; / /設為假
		  / /計算縮放比
		  整型H = options.outHeight;
		  整型W = options.outWidth;
		  整型beWidth = W /寬度;
		  整型beHeight = H /高度;
		  整型是= 1;
		  如果(beWidth <beHeight){
		   是= beWidth;
		  }其他{
		   是= beHeight;
		  }
		  如果(被<= 0){
		   是= 1;
		  }
		  options.inSampleSize =是;
		  / /重新讀入圖片,讀取縮放後的位圖,註意這次要把options.inJustDecodeBounds設為假
		  位圖= BitmapFactory.decodeFile(IMAGEPATH,期權);
		  / /利用ThumbnailUtils來創建縮略圖,這裡要指定要縮放哪個位圖對象
		/ /位圖= ThumbnailUtils.extractThumbnail(位圖,寬度,高度,
		/ / ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
		  返回位圖;
 }

 / **
  *獲取視頻的縮略圖
  *先通過ThumbnailUtils來創建一個視頻的縮略圖,然後再利用ThumbnailUtils來生成指定大小的縮略圖。
  *如果想要的縮略圖的寬和高都小於MICRO_KIND,則類型要使用MICRO_KIND作為kind的值,
  * @參數videoPath視頻的路徑
  * @參數寬度指定輸出視頻縮略圖的寬度
  * @參數高度指定輸出視頻縮略圖的高度度
  * @參數類型的參照MediaStore.Images.Thumbnails類中的常量MINI_KIND和MICRO_KIND。
  *其中,MINI_KIND:512×384,MICRO_KIND:96×96
  * @返回指定大小的視頻縮略圖
  * /
 私人點陣圖getVideoThumbnail(字符串videoPath,詮釋寬度,高度詮釋,
   整型的那種){
	  位圖位圖= NULL;
	  / /獲取視頻的縮略圖
	  
	  嘗試{

      位圖= ThumbnailUtils.createVideoThumbnail(videoPath,實物);
	  
	  。Toast.makeText(這一點,“W =”+ bitmap.getWidth()+“ -  H =”+ bitmap.getHeight(),Toast.LENGTH_SHORT)的show();

	  位圖= ThumbnailUtils.extractThumbnail(位圖,寬度,高度,
	                                   ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
	  
	  
	}趕上(例外五){
		。Toast.makeText(這一點,“異常=”+ e.toString(),Toast.LENGTH_SHORT)的show();
	}
	  
	  返回位圖;
 }
 

獲取手機的IP地址

 / **獲取本地的IP經過修改的隻獲取IPv4的** /
    公共靜態字符串getMyLocalIpAddress(){  
           嘗試{  
               對於(枚舉 EN =的NetworkInterface  
                               。getNetworkInterfaces(); en.hasMoreElements();} {  
                           的NetworkInterface INTF = en.nextElement();  
                      對於(枚舉 enumIpAddr = intf.getInetAddresses();
                    		                                       enumIpAddr.hasMoreElements();} {  
                           InetAddress類InetAddress類= enumIpAddr.nextElement();  
                           如果(!inetAddress.isLoopbackAddress()&&!inetAddress.isLinkLocalAddress()){  
                           返回inetAddress.getHostAddress()的toString();  
                           }  
                      }  
                    }  
             }趕上(例外){  
                       Log.e(“WifiPreference Ip地址”,ex.toString());  
             }  
            返回null;  
      } 
	
	
   / **獲取手機的IP 3G WIFI可以NetworkInterface.getHardwareAddress()沒修改的獲取到的是的IPv6的地址在4.0上* /
   公共靜態字符串getLocalIpAddress(){  
	   嘗試{  
	    	對於(枚舉 EN = NetworkInterface.getNetworkInterfaces(); en.hasMoreElements();} {  
	            的NetworkInterface INTF = en.nextElement();  
	            對於(枚舉 enumIpAddr = intf.getInetAddresses(); enumIpAddr.hasMoreElements();} {  
	                InetAddress類InetAddress類= enumIpAddr.nextElement();  
	                如果(!inetAddress.isLoopbackAddress()){  
	                    返回inetAddress.getHostAddress()的toString();  
	                }  
	            }  
	        }  
	    }趕上(例外){  
	        Log.e(“AAAA”,ex.toString());  
	    }  
	    返回null;  
	}  
	
   
   
   / **通過無線網絡獲取IP IPv6的* /
   公共靜態字符串GetIpAddress是(上下文CTX){  
       
	   WifiManager wifi_service =(WifiManager)ctx.getSystemService(Context.WIFI_SERVICE);  
       DhcpInfo dhcpInfo = wifi_service.getDhcpInfo();  
       WifiInfo wifiinfo = wifi_service.getConnectionInfo();  
       System.out.println(“無線信息----->”+ wifiinfo.getIpAddress());  
       System.out.println(“DHCP信息門戶----->”+ Formatter.formatIpAddress(dhcpInfo.gateway));  
       System.out.println(“DHCP信息網絡掩碼----->”+ Formatter.formatIpAddress(dhcpInfo.netmask));  
       / / DhcpInfo中的ip地址是一個整數型的變量,通過格式化程序將其轉化為字符串的IP地址  
       返回Formatter.formatIpAddress(dhcpInfo.ipAddress);  
   }  
   
   
   
	/ **根據無線信息獲取本地的Mac必須打開無線網絡的IPv6 ** /
    公共靜態字符串getLocalMacAddressFromWifiInfo(上下文上下文){
        WifiManager無線=(WifiManager)context.getSystemService(Context.WIFI_SERVICE);  
        WifiInfo信息= wifi.getConnectionInfo();  
        返回info.getMacAddress(); 
    }
	
	

	
	/ **
	 *獲取程序的網絡環境
	 * /
	公共靜態佈爾getNetWorkStatus(上下文上下文){
		佈爾B =真;
    	ConnectivityManager connManager =(ConnectivityManager)context.getSystemService(Context.CONNECTIVITY_SERVICE);
    	的NetworkInfo的wifi = connManager.getNetworkInfo(ConnectivityManager.TYPE_WIFI);
    	的NetworkInfo移動= connManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);  	
    	如果(!wifi.isConnectedOrConnecting()&&!mobile.isConnectedOrConnecting()){
    		B = FALSE;
    	}
    	返回b;
	}

貼2張IPV64的圖

發佈留言