显示Android的成功吐司/不成功的消息 [英] display Android Toast success/unsuccessful message

查看:810
本文介绍了显示Android的成功吐司/不成功的消息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的应用程序下面的副本从原始文件夹写在code中的分配位置的文件,我想要做的是显示敬酒消息,说明是否该文件已被成功写入或是否已失败。

my app below copies a file from the raw folder to the allocated location written in the code, What i want to do is display a toast message stating whether the file has been successfully written or whether it has failed.

需要什么样的code和哪来我把它现有的code欢呼家伙的范围内。

What code is needed and where would i place it within my existing code cheers guy's.

public class TrialActivity extends Activity {

private ProgressDialog progressDialog;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    runDialog(5);
}

private void runDialog(final int seconds)
{
    progressDialog = ProgressDialog.show(this, "Please Wait...", "unpacking patch in progress");

    new Thread(new Runnable(){
        public void run(){
            try {
                Thread.sleep(seconds * 1000);
                progressDialog.dismiss();
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }).start();

    ((Button)findViewById(R.id.button1)).setOnClickListener(new View.OnClickListener()
    {
      public void onClick(View paramView)
      {

      }

   {

              InputStream in = null;
              OutputStream out = null;
  String filename="savegame.bin";           
  try {    

                in = getResources().openRawResource(R.raw.savegame);
                out = new FileOutputStream("/sdcard/Android/data/com.glu.android.brawler/files/" + filename);
                copyFile(in, out);
                in.close();
                in = null;
                out.flush();
                out.close();
                out = null;
              } catch(Exception e) {
                  Log.e("tag", e.getMessage());
                  Message message = Message.obtain();      
                  message.what = 1;               
                  mHandler.sendMessage(message);
              }       

      }
      private void copyFile(InputStream in, OutputStream out) throws IOException {
          byte[] buffer = new byte[1024];
          int read;
          while((read = in.read(buffer)) != -1){
            out.write(buffer, 0, read);

            Handler mHandler = new Handler() {
                public void handleMessage( Message msg ) 
                {  
                    Toast toast;
                        switch(msg.what) 
                        {          
                           case 1: // for success
                               toast = Toast.makeText(getBaseContext(), "File has been successfully written.", Toast.LENGTH_LONG);
                               toast.show();
                           break;
                           case 0: // for Error
                               toast = Toast.makeText(getBaseContext(), "Error occur during writting file.", Toast.LENGTH_LONG);
                               toast.show();
                           break;

                       }
               };
            };

          }
      }
      }
    );


}

}

推荐答案

您可以通过使用的处理程序在code做到这一点。

You can do this by using Handler in your code.

您应该传递到处理器需要显示在OS ....什么消息像下面...

You should pass the message to handler what you need to display on OS....like below...

Message message = Message.obtain();      
message.what = 1;  // success message               
mHandler.sendMessage(message);

&安培;在处理节目吐司基于这条消息...

& show Toast in your handler based on that message...

Handler mHandler = new Handler() {
     public void handleMessage( Message msg ) 
     {  
         Toast toast;
             switch(msg.what) 
             {          
                case 1: // for success
                    toast = Toast.makeText(getBaseContext(), "File has been successfully written.", Toast.LENGTH_LONG);
                    toast.show();
                break;
                case 0: // for Error
                    toast = Toast.makeText(getBaseContext(), "Error occur during writting file.", Toast.LENGTH_LONG);
                    toast.show();
                break:

            }
    }

}

这篇关于显示Android的成功吐司/不成功的消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆