执行整个代码后显示活动屏幕

时间:2011-12-02 12:08:03

标签: android android-activity

我设计了一个将文件从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();

2 个答案:

答案 0 :(得分:4)

super.onStart调用

之后,在线程中执行文件处理任务/在onstart方法中添加文件处理代码

答案 1 :(得分:3)

不要从主线程执行长任务。这将阻止UI。将长任务移到另一个线程。

使用AsyncTask。看看这个:http://developer.android.com/resources/articles/painless-threading.html