コードを作成していて、別のAndroidデバイスにmp4ファイルを送信したいとします。私はWifi経由で両方のアンドロイドを接続し、1から20までのサイクルのために簡単なものから書き込み、もう一方のAndroidデバイスは送信された番号を読み取り表示します。Androidデバイス間でファイルを転送しますか?
ここでは、 "送信者" の興味深い部分である:
InetAddress serverAddr = InetAddress.getByName(serverIpAddress);
Log.d("ClientActivity", "C: Connecting...");
Socket socket = new Socket(serverAddr, port);
connected = true;
while (connected) {
try {
Log.d("ClientActivity", "C: Sending command.");
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket
.getOutputStream())), true);
for (int i = 1; i < 20; i++) {
out.println(i);
i=i++;
と "受信機":
serverSocket = new ServerSocket(SERVERPORT);
// listen for incoming clients
Socket client = serverSocket.accept();
BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()),8*1024);
これは素晴らしい作品!しかし、私はintの代わりにあるデバイスから別のデバイスにファイルを送りたいと思っています。どうすればこのことができますか?
ニース!!だから私はファイル名の部分を無視する。 "multipartContent.addPart(" imageFile "、isb); "とは何ですか? また、別のAndroid搭載端末でファイルを取得するにはどうすればよいですか?あなたが答えたのはJavaMailのためですか? ありがとうございました! – Merol
JavaMailは、MIME形式(MimeMultipart)用のライブラリを含んでいるので使用されますが、メールとは関係ありません。ファイル名は、基本的に相手側に転送するファイル名のメタデータです(問題がなければ何も置くことはできません)。また、「imageFile」はデータのキーに過ぎません。サンプルとしてしかそこにはありませんでした。これは電子メールの添付ファイルで動作することが証明されているので私は私のプロジェクトでバイナリを転送する必要がある場合私は同じパターンを使用します。自分のデータフォーマットを考案するよりも簡単です – momo