AndroidキーリスニングとAsyncTask非同期処理
5108 ワード
コントロールのリスニングの設定
例えばsendのidがあるbuttonは、まずこのようなbutton:
AsyncTaskの使用
なぜAsyncTaskを使用するのか、私たち自身が携帯電話を適用することを例に挙げると、携帯電話は私たちのすべての操作に敏感であることを望んでいますが、私たちのすべての操作の後には時間のかかる操作がある可能性があります.このように、スレッドが1つしかないと、必然的に私たちをイライラさせます.だから私たちはいくつかのことをバックグラウンドに置いて操作します.
AsyncTaskとは何かAsyncTaskは抽象クラスなので、継承するクラスを作成する必要があります.Params:AsyncTaskを実行するときに入力するパラメータ Progress:現在のインタフェースに進捗を表示する必要がある場合 Result:タスク実行終了後、結果を返す必要がある場合 最初の汎用パラメータはStringであり、実行時に文字列をバックグラウンドタスクに転送する必要があることを意味する.この例では,マイクロ博を送信する際の操作,すなわち,メインスレッドで自分が送信する文字を知り,これらの文字をバックグラウンドに転送し,バックグラウンドでpost を具体的に実行する.2番目のパラメータはVoidであり、すなわち進捗表示 が不要である3番目のパラメータはStringです.つまり、このタスクで送信に成功した場合は「successful」を返し、失敗したら「failed」を返します.現在見ている多くの例はbooleanがこの抽象クラスに常に書き直す必要がある4つのメソッドがあるように設定されています. などのインタフェース上の初期化操作を行うために使用されます. に戻ります.
TOASTはAndroidでよく使われるヒントです.他のブログで書いたような気がしますが…どうして忘れたんですか…え…
例えばsendのidがあるbuttonは、まずこのようなbutton:
private Button send;
を宣言し、onCreat(Bundle saveInstancesState)関数でButtonを探しましょう:send=(Button)findViewById(R.id.send);
Buttonにリスナーを登録し、onClick()メソッドを呼び出し、ボタンをクリックすると実行します.send.setOnClickListener(new OnClickListener(){
public void onClick(View v){
String status=" "+share.getText().toString();
//share EditText
String TAG="SEND";
Log.d(TAG,"onClicked with status:"+status);
new PostTask().execute("+getPackageName()+">"+status);
}
});
AsyncTaskの使用
なぜAsyncTaskを使用するのか、私たち自身が携帯電話を適用することを例に挙げると、携帯電話は私たちのすべての操作に敏感であることを望んでいますが、私たちのすべての操作の後には時間のかかる操作がある可能性があります.このように、スレッドが1つしかないと、必然的に私たちをイライラさせます.だから私たちはいくつかのことをバックグラウンドに置いて操作します.
AsyncTaskとは何かAsyncTaskは抽象クラスなので、継承するクラスを作成する必要があります.
public abstract class AsyncTask
private final class PostTask extends AsyncTask<String,Void,String>
onPreExecute()
:バックグラウンドタスクが開始される前に呼び出され、進捗バーを表示するダイアログdoInBackground(Params...)
:このメソッドのすべてのコードはサブスレッドで実行され、タスクが完了した後にreturnでタスクを実行した結果、3番目のパラメータになります.onProgressUpdate(Progress...)
:この中でUIを操作して、インタフェースを更新することができて、進捗バーの更新に似ていますonPostExecute(Result)
:任務が終わったら進捗バーを消しましょう...private final class PostTask extends AsyncTask<String,Void,String>{
protected String doInBackground(String...params){
YambaClient yambaCloud=new YambaClient("student","quick");
try{
yambaCloud.postStatus(params[0]);
return"successfully posted";
}catch(YambaClientException e){
return"Failed";
}
}
protected void onPostExecute(String result){
super.onPostExecute(result);
Toast.makeText(Weibo_Submit.this, result, Toast.LENGTH_LONG).show();
if(result.startsWith("successfully"))share.setText("");
}
}
TOASTはAndroidでよく使われるヒントです.他のブログで書いたような気がしますが…どうして忘れたんですか…え…