Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/186.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从服务器向客户端写入消息_Android - Fatal编程技术网

Android 如何从服务器向客户端写入消息

Android 如何从服务器向客户端写入消息,android,Android,例如,在pc上的网站或软件中,您可以编写一些新闻或其他内容,然后它将在您的android中更新 有没有这方面的例子,或者与教程相关的,正如法玛里已经说过的,这是一个非常模糊的问题。但是,我仍然可以给你一些发人深省的冲动: 您可以使用在特定时间段查询服务器的服务来检查是否有新消息。这将产生大量开销数据,因为即使没有任何消息,服务也会询问服务器。计时器可以做到这一点: public Timer timerT = new Timer(); Handler updateNow; TimerTask t

例如,在pc上的网站或软件中,您可以编写一些新闻或其他内容,然后它将在您的android中更新


有没有这方面的例子,或者与教程相关的,正如法玛里已经说过的,这是一个非常模糊的问题。但是,我仍然可以给你一些发人深省的冲动:

您可以使用在特定时间段查询服务器的服务来检查是否有新消息。这将产生大量开销数据,因为即使没有任何消息,服务也会询问服务器。计时器可以做到这一点:

public Timer timerT = new Timer();
Handler updateNow;

TimerTask task = new TimerTask() {
  public void run() {
    updateNow.sendEmptyMessage(TICK);
  }
};  

updateNow = new Handler() {
  @Override
  public void handleMessage(Message msg) {
    switch (msg.what) {
    case TICK:                  
        // Query wird gestartet
        new updateMsg().execute();
        break;
    }
  }
};      

// Fragt alle 60 Sekunden
timerT.scheduleAtFixedRate(task, 0, (60 * 1000));
与存储服务器的连接:

public class updateMsg extends AsyncTask<String, String, Void> {            
    String message = "";

    protected void onPreExecute() { }

    protected Void doInBackground(String... data) {
       HttpReq request = Http.getInstance().createRequest();
       request.setUrl("http://www.deinserver.de/msg.php");
       request.setMethod("POST");

       request.addParam("fuer_name", "keenora");

       request.execute();

       message = request.getResult();           
       return null;         
    }

    protected void onPostExecute(Void unused) {
       Log.e("DEBUG", "Nachricht vom Server erhalten: " + message);
    }

    protected void onCancelled() { } 
}
我不知道该怎么做:

<?php

  // Ganz dummes Script
  switch($_POST['fuer_name']) {
    case 'keenora': {
      echo 'Hallo!';
      break;
    }
    default: {
      echo 'Es gibt keine neuen Nachrichten!';
      break;
    }
  }

?>

这可能是我迄今为止看到的最模糊的问题之一