关于安卓怎样访问电脑网站的问题解答
一、 在电脑上搭建好了Tomcat,通过localhost:8080访问Tomcat的主页保证是没问题的,同时保证访问
http://localhost:8080/index.jsp也没问题。
二、手机打开WIFI并连接,调试程序的时候可能会发现网络连接的错误,代码如下:(布局只有一个TextView)
[java] view plain copy - public class MainActivity extends Activity {
- boolean flag = false;
- TextView info = null;
-
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- info = (TextView) super.findViewById(R.id.info);
- final Handler handler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- super.handleMessage(msg);
- if (flag) {
- info.append("用户登录成功!");
- } else {
- info.append("用户登录失败!");
- }
- // Bundle data = msg.getData();
- // String val = data.getString("value");
- // Log.v("mylog", "请求的结果为--》" + val);
- }
- };
- Runnable runnable = new Runnable(){
- @Override
- public void run() {
- try{
- Log.e("测试", "连接开始");
- URL url = new URL("http://172.21.14.195:8080/myWeb/"
- + "android.jsp?id=lixinghua&password=mldn");
- HttpURLConnection conn = (HttpURLConnection) url
- .openConnection();
- conn.connect();
- Log.e("测试", "连接完成");
- int res=conn.getResponseCode();
- Log.e("测试",String.valueOf(res));
- byte[] data1 = new byte[512];
- int len = conn.getInputStream().read(data1);
- Log.e("测试", "读取数据完成");
- if (len > 0) {
- String temp = new String(data1, 0, len).trim();
- flag = Boolean.parseBoolean(temp);
- }
- conn.getInputStream().close();
- // Message msg = new Message();
- // Bundle data = new Bundle();
- // data.putString("value", "请求结果");
- // msg.setData(data);
- handler.sendEmptyMessage(0);
- }catch(Exception e){
- Log.e("异常", Log.getStackTraceString(e));
- }
-
- }
- };
- new Thread(runnable).start();
[java] view plain copy - }
结果在conn.connect()处出现了异常,后来发现电脑的本地IP地址为172.21.14.195而手机的IP地址为192.168.191.2,不在同一个网段(在打开网络与共享中心可以查看,本地地址的掩码为255.255.254.0,两IP地址前23位的网络地址不一样),然后无法访问电脑上的Tomcat网页,都是万恶的WIFI共享和校园网惹的祸。