モバイルアプリケーションは、リモートから電子メールの添付ファイルをダウンロードするオプションをユーザーに提供します。リモートサーバーと接続し、別のスレッドでコンテンツをダウンロードします。私は擬似コードを提供しています。キャンセルコマンドがユーザーによってトリガーされたときにスレッドを停止する
new Thread(new Runnable()
public void run(){
try{
//open connection to remote server
//get data input stream
//create byte array of length attachment size
//show modeless dialog with the message "Downloading..."
for(int i=0;i<attachmentSize;i++){
//set the progress indicator of the modeless dialog based upon for iteration
//read the byte from input stream and store it in byte array
}
//open file connection outputstream and store the downloaded content as a file in mobile file system
//show dialog with the message "attachment successfully downloaded"
}
catch(IOException ioe) { }
catch(Exception ex) { }
}
).start();
私は進行状況インジケータを使用してダイアログにcancelコマンドを追加しています。ユーザがモバイルで「キャンセル」コマンドをクリックすると、dispose()メソッドを呼び出すことによって、モードレスダイアログを配置することができます。ストリーミングで電子メールの添付ファイルを取得するスレッドを突然止めることはできますか? この問題を解決するにはどうすればよろしいですか?