0

我正在尝试学习如何使用 Android 进行编程,并且我正在尝试从 SDK 开始的基本应用程序中进行 WEB API 调用。我只是复制了一些代码,但我没有检测到我的网络服务器上发生的任何连接。有任何想法吗?

package com.example.androidhello;

import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

URL url;{
    try {
        url = new URL("http://192.168.1.15/insertrecord.php");

        HttpURLConnection urlConnection = (HttpURLConnection) url
            .openConnection();

        InputStream in = urlConnection.getInputStream();

        InputStreamReader isw = new InputStreamReader(in);

        int data = isw.read();
        while (data != -1) {
            char current = (char) data;
            data = isw.read();
            System.out.print(current);
        }
    } catch (Exception e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    }
}

当我从浏览器连接到 URL 时,我的 Web 服务器会在 mysql 中输入一条记录,因此我知道该 URL 已被访问,并且我回显了一个返回。我想做的下一件事是存储返回值,然后存储它,但现在我没有看到调用。有什么帮助吗?

谢谢!

4

1 回答 1

0

AsyncTask您需要通过或发出 HTTP 请求IntentService

Android 不允许您在主 UI 线程上进行长时间运行的操作,以避免 UI 渲染缓慢的感觉。

于 2013-04-28T04:48:35.080 回答