Wifi를 사용하여 파일을 Android 장치에 복사하려고합니다. 파일의 생성을 말할 수는 없지만 어디서나 찾을 수는 없습니다 ...openFileOutput을 사용하는 파일 경로
Eclipse에서 DDMS를 사용하려고 시도했지만 데이터 폴더에는 아무 것도 없습니다 ... 난, 파일이 응용 프로그램의 데이터 폴더에 위치해야합니다 다른 주제에 읽어 ...하지만 폴더는 그것이 실제로 작동하는 경우
이
코드package com.ejemplo.cliente;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
public class ClienteSocket extends Activity {
Socket socket;
String IP = "192.168.1.101";
Integer Puerto = 4444;
TextView Mensaje;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Mensaje = (TextView)findViewById(R.id.Mensaje);
try {
socket = new Socket(IP,Puerto);
Mensaje.setText("Conectado");
InputStream input = socket.getInputStream();
BufferedReader inReader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter outReader = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
String filename = inReader.readLine();
if (!filename.equals("")){
outReader.write("READY\n");
outReader.flush();
Mensaje.setText("Request Acepted");
FileOutputStream wr = openFileOutput(filename,MODE_WORLD_READABLE);
OutputStreamWriter osw = new OutputStreamWriter(wr);
byte[] buffer = new byte[socket.getReceiveBufferSize()];
int bytesReceived = 0;
while((bytesReceived = input.read(buffer))>0)
{
osw.write(bytesReceived);
Toast.makeText(this, "Transfering", Toast.LENGTH_SHORT).show();
}
osw.flush();
osw.close();
Mensaje.setText("File Received");
}
} catch (UnknownHostException e) {
Mensaje.setText("error 1" + e.getMessage());
} catch (IOException e) {
Mensaje.setText("error 2" + e.getMessage());
}
}
}
과 같은 디렉토리에 ".nomedia"라는 파일을 추가하십시오. 파일을 더 "공용"파일로 복사 할 수 있습니다. 폴더?? 그래서 다른 응용 프로그램에서 접근 할 수 있습니다 ... 예를 들어 그림을 복사하고 Galery가 표시하려고 할 때 ... MP3와 같은 .. –
그림의 경우 그림을 그 안에 넣을 수있는 콘텐츠 제공자가 있습니다 기계적 인조 인간. 다른 응용 프로그램에서 액세스 할 수있게하려는 경우 사용자가 직접 콘텐츠 공급자를 작성하거나 SD 카드에 넣어야합니다. – Falmarri
다른 사용자가 읽을 수 있거나 쓸 수있게 액세스 할 수있는 세계에 넣으려면 http://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory() – hackbod