私は長い間(8年)C#開発者が小さなAndroid開発に手を出しています。私がJavaを使用するのはこれが初めてであり、内部クラスに関しては考え方を変えるのに少し問題があります。
1つのタイプセーフな場所からサーバー上でさまざまな呼び出しを実行するためにRESTfulAPIをラップするクラスを作成しようとしています。
string jsonResult = APIWrapper.getItems("category 1");
そして、AsyncTaskを使用してバックグラウンドでデータを取得したいと思います。
したがって、1つの方法はこれです-APIWrapperにAsyncTaskを入れます:
class ActivityA extends Activity {
myButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//get stuff and use the onPostExecute inside the APIWrapper
new APIWrapper().GetItems("Category A", MyGetItemsCallBack);
}});
function void MyGetItemsCallBack(String result)
{
//render the result in the activity context, in a listview or something
}
}
とにかく、コールバック/デリゲートのアイデアがJavaで機能するかどうかはわかりません!
もう1つの方法は、アクティビティにAsyncTaskを含め、APIWrapperを作成して、ワーカー/ヘルパーのようにデータを取得することです。
class ActivityA extends Activity {
myButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
//get stuff and use the onProcessComplete inside the APIWrapper
new GetItems("Category A");
}});
class GetItems(String theCategory) extends AsyncTask
{
doInBackground()
{
return new APIWrapper().GetItems(theCategory);
}
onPostExecute(String result)
{
//render the result in the activity context, in a listview or something
}
}
}
誰かが私が正しい選択をするのを手伝ってくれますか?