Android Http 异步请求

private void RequestActivate()
	{
		
		new Thread(new Runnable() {
			
			@Override
			public void run() {
				// TODO Auto-generated method stub
				//判断文件是否存在,如果存在就说明已经激活
				String mSdcard = Environment.getExternalStorageDirectory().getPath();
				File res_version_file = new File(mSdcard + File.separator+ GameGlobalVar.RESPATH + File.separator+ GameGlobalVar.RES_ACTIVATE_FILE);
				if(res_version_file.exists() && res_version_file.isFile())
				{
					Log.i("cp", "res_version_file.exists() && res_version_file.isFile()");
					return;
				}
				
				String platform="1"; //平台 0是IOS 1是Android 2是Win
				String channel=UnityPlayerNativeActivity.GetChannel(); //渠道
				String version="1.0"; //版本
				String mac=GetMACAddress(); //mac地址
				String udid="123456"; //Android没有udid
				String devicetype=getDeviecSystem(); //系统
				String url="http://172.16.30.150:51100/ad_register_api.php?platform="+platform+"&channel="+channel+"&version="+version+"&mac="+mac+"&udid="+udid+"&devicetype="+devicetype;
				Log.i("cp", "url="+url);
				HttpGet getMethod=new HttpGet(url);
				HttpClient httpClient=new DefaultHttpClient();
				try {
					HttpResponse response=httpClient.execute(getMethod);
					Log.i("cp", "resCode = " + response.getStatusLine().getStatusCode()); //获取响应码  
					
					String resultStr=EntityUtils.toString(response.getEntity(), "utf-8");
				    Log.i("cp", "result = " +resultStr);//获取服务器响应内容 
				    String successStr="SUCCESS";
				    if(resultStr.equals(successStr)) //如果success,就创建文件
				    {
				    	//创建激活文件
				    	Log.i("cp", "get response SUCCESS");
				    	res_version_file.createNewFile();
				    }
				} catch (ClientProtocolException e) {
					// TODO: handle exception
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}).start();
	}
	
	//获取Mac地址
	public String GetMACAddress()
	{
		WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
		if(wifi == null)
		{
			Log.e("Unity", "get mac address error!!!");
			return "";
		}
		WifiInfo info = wifi.getConnectionInfo();
		if(info == null)
		{
			Log.e("Unity", "get mac address error!!!");
			return "";
		}
		return info.getMacAddress();
	}
	
	//获取系统版本号
	public String getDeviecSystem()
	{
		int version = 0; 
		 
		try { 
		 
		version = Integer.valueOf(android.os.Build.VERSION.SDK); 
		 
		} catch (NumberFormatException e) { 
		 
		Log.e("Unity",e.toString());
		 
		} 
		return String.valueOf(version) ; 
	}
}

你可能感兴趣的:(Android)