Android中从服务器端读取数据的方式


1.获取Android手机唯一设备号的方法:

TelephonyManager telephonyManager= (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);

imei=telephonyManager.getDeviceId();

2.从服务器端读取数据的方法:

public class MainActivity extends NativeActivity{

private UnityPlayer mUnityPlayer;

mUnityPlayer = new UnityPlayer(this);

public void GetDataFromUrl()
{
try {
try {
Text = getJsonContent(url_Share);//获得服务器端的数据(这个数据是String类型的Json格式的)

} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if(Text != null)
{
try {
Text = decrypt(Text);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
mUnityPlayer.UnitySendMessage("Main Camera", "Test2",Text);//与unity通信:调用Main Camera物体上的脚本中Test2方法,传给Test2方法的参数是Text 
}


}


//从服务器端获得Json格式的字符串
public static String getJsonContent(String urlStr)
   {
       try
       {// 获取HttpURLConnection连接对象
           URL url = new URL(urlStr);
           HttpURLConnection httpConn = (HttpURLConnection) url
                   .openConnection();
           // 设置连接属性
           httpConn.setConnectTimeout(1500);
           httpConn.setDoInput(true);
           httpConn.setRequestMethod("POST");
           // 获取相应码
           int respCode = httpConn.getResponseCode();
           if (respCode == 200)
           {
               return ConvertStream2Json(httpConn.getInputStream());
           }
       }
       catch (MalformedURLException e)
       {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
       catch (IOException e)
       {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
       return "";
   }


private static String ConvertStream2Json(InputStream inputStream)
   {
       String jsonStr = "";
       // ByteArrayOutputStream相当于内存输出流
       ByteArrayOutputStream out = new ByteArrayOutputStream();
       byte[] buffer = new byte[1024];
       int len = 0;
       // 将输入流转移到内存输出流中
       try
       {
           while ((len = inputStream.read(buffer, 0, buffer.length)) != -1)
           {
               out.write(buffer, 0, len);
           }
           // 将内存流转换为字符串
           jsonStr = new String(out.toByteArray());
       }
       catch (IOException e)
       {
           // TODO Auto-generated catch block
           e.printStackTrace();
       }
       return jsonStr;
   }




  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值