0

ここでは、Java サーバーと Android クライアントの間で TCP 通信が機能しています。私の Android クライアントは、ポートを使用してサーバーにテキストを送信できます。

今私がしたいのは、Java サーバーで実験することです。私が望むのは、「SPECIFIC」テキストをサーバーに送信すると、サーバーがタスクを実行することです。

例: サーバーに「SONG_PLAY」を送信します。私が欲しいのは、サーバーが「SONG_PLAY」を認識したときに、特定の mp3 曲を再生することです。command.equals該当しますか?またはそれは可能ですか?

ここであなたの助けを願っています。

4

1 に答える 1

1

あなたが求めているのは次のようなものだと思います:

if(command.equals("SONG_PLAY")){
    try {
        // Execute command
        String command = "rhythmbox SPECIFIC.mp3";
        Process child = Runtime.getRuntime().exec(command);
    } catch (IOException e) {
    }
}

ただし、json または xml を使用してリクエストをサーバーに送信することをお勧めします。元。jsonを使用:

{"command": "SONG_PLAY", "music": "SPECIFIC.mp3"}

サーバーでは、次のようなことを行います。

JSONParser parser=new JSONParser();
Object obj = parser.parse(s);
JSONObject jobj = (JSONObject) obj;
if(((String) jobj.get("command")).equals("SONG_PLAY")){
    try {
        // Execute command
        String command = "rhythmbox " + ((String) jobj.get("music"));
        Process child = Runtime.getRuntime().exec(command);
    } catch (IOException e) {
    }
}

お役に立てば幸いです。

于 2013-09-07T20:17:15.627 に答える