Java 我应该如何从android应用程序向服务器发送数据?

Java 我应该如何从android应用程序向服务器发送数据?,java,android,Java,Android,我想开发一个简单的android应用程序,它可以做到以下几点 -连接到服务器 -每秒向服务器发送10次“Hello”,持续30分钟 我已关闭服务器连接部分。我自己开发了服务器,并将消息保存到文本文件中。应用程序是在这样的计时器上运行的 number = 1; runnable = new Runnable() { public void run() { if (number > 5) { System.exit(0); }

我想开发一个简单的android应用程序,它可以做到以下几点

    -连接到服务器
    -每秒向服务器发送10次“Hello”,持续30分钟
我已关闭服务器连接部分。我自己开发了服务器,并将消息保存到文本文件中。应用程序是在这样的计时器上运行的

number = 1;

runnable = new Runnable() {
    public void run() {
        if (number > 5) {
            System.exit(0);
        }

        showToastMessage();
        number ++;

        handler.postDelayed(this, 5000); // delay of 5 seconds
    }
};

runnable.run();
showToastMessage()
方法只显示一条Toast消息,显示
number
的当前值。我目前正在使用AsyncTask连接到这样的服务器

protected Void doInBackground(Void...voids) {
    try {
        s= new Socket(IP, PORT);
        dos = new DataOutputStream(s.getOutputStream());
        dos.writeUTF("Hello");
        dos.flush();
        s.close();
    } catch (IOException ex) {
        ex.printStackTrace();
    }

    return null;
}

doInBackground(Void…voids)
方法将我连接到服务器并发送消息“Hello”。我想要的帮助是如何在每次运行
runnable
时发送“Hello”。如果这不是一个好方法,请让我知道。在这种情况下,我应该避免异步任务吗?任何帮助都将不胜感激

AsyncTask
用于UI线程。从
Runnable
调用它有点奇怪。如果您知道runnable是在UI线程上调用的,那么可以,但我会让runnable直接调用IO,让UI适当地处理runnable(可能将其提交到线程池)。另外,
runnable.run()
只在当前执行线程中运行该方法。为什么要为此而创建一个匿名类?只需创建一个方法并调用它。连接套接字一次,然后通过同一连接发送所有数据。