最近做了一个Android平台Wifi功能的实现方法,发一下个人的经验来跟大家分享一下。。
时间不多了,言归正传。我将如何实现这个功能分为三个步骤:
1、首先,由类WifiInfo的getIpAddress方法获得自己在该AP上所分配到的IP地址,这个得到的是long int型的,所以记得先将其转换为String型哦(方法很简单,代码如下)
private String intToIp(int i) {
return (i & 0xFF) + "." + ((i >> 8) & 0xFF) + "." + ((i >> 16) & 0xFF) + "."
+ ((i >> 24) & 0xFF);
}
2、编写客户端:
客户端与服务器通信之前,首先用socket创建连接,再由要传递的文件得到一个Stream对象(这些就不多说了,这种简单的socket通信大家都懂的)。值得一提的是传输的方法,一开始我使用序列化,创建一个类用来封装要传输的文件,然后传递该类的对象,服务器端也要对应的写一个类,用来处理所收到的这个对象,然后再获得该文件的内容。
呵呵,我相信各位一看到这个2B的做法很想笑,原因很简单:这个方法是无法实现Android跟Iphone之间文件传输的。所以,我跟同事(Iphone开发工程师)一起写了一个简单的传送协议,放上来给大家提提建议:
时间不多了,言归正传。我将如何实现这个功能分为三个步骤:
1、首先,由类WifiInfo的getIpAddress方法获得自己在该AP上所分配到的IP地址,这个得到的是long int型的,所以记得先将其转换为String型哦(方法很简单,代码如下)
private String intToIp(int i) {
return (i & 0xFF) + "." + ((i >> 8) & 0xFF) + "." + ((i >> 16) & 0xFF) + "."
+ ((i >> 24) & 0xFF);
}
2、编写客户端:
客户端与服务器通信之前,首先用socket创建连接,再由要传递的文件得到一个Stream对象(这些就不多说了,这种简单的socket通信大家都懂的)。值得一提的是传输的方法,一开始我使用序列化,创建一个类用来封装要传输的文件,然后传递该类的对象,服务器端也要对应的写一个类,用来处理所收到的这个对象,然后再获得该文件的内容。
呵呵,我相信各位一看到这个2B的做法很想笑,原因很简单:这个方法是无法实现Android跟Iphone之间文件传输的。所以,我跟同事(Iphone开发工程师)一起写了一个简单的传送协议,放上来给大家提提建议: