我设计了一个将文件从Android手机发送到PC的代码。代码运行得非常好,但是在整个代码执行完毕后会出现活动屏幕显示的问题。
我想添加按钮来暂停或停止转移。但是,即使完成整个传输后按钮也会显示。
我也试过在setContentView
()之后使用睡眠,但这并没有解决我的问题。
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
status=(TextView)findViewById(R.id.status);
int x;
DatagramSocket s = new DatagramSocket(2436);
FileInputStream fis = new FileInputStream("//sdcard//output.3gp");
while(true)
{
b2=new byte[100];
x=fis.read(b2);
if(x<=0)
{
b2=new byte[10];
p3=new DatagramPacket(b2,b2.length,client_ip,client_port);
s.send(p3);
break;
}
else
{
p3=new DatagramPacket(b2,b2.length,client_ip,client_port);
s.send(p3);
//status.append(b2[0]+" "+p3.getLength());
}
}
fis.close();
答案 0 :(得分:4)
在super.onStart
调用
答案 1 :(得分:3)
不要从主线程执行长任务。这将阻止UI。将长任务移到另一个线程。
使用AsyncTask。看看这个:http://developer.android.com/resources/articles/painless-threading.html