ScoreBoard導入時のthrown while initializing AsyncTaskエラー

マニュアル通りに実装したのですが、thrown while initializing AsyncTask、というエラーが出てしまいました。

http://stackoverflow.com/questions/13267711/android-why-i-get-these-asynctask-error
上記のサイトを見て解決しました。


そのまま実装すると、こんなかんじになります。
private static Activity mya =null;
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    mya = this;
}
public static void sendScore(double score){
    String[] gameIds = {"ゲームモードID"};
    String[] scores = {""+score};
    GFRankingController appController = GFRankingController.getIncetance(mya);
    appController.sendScore(gameIds, scores);
}

これを、上記のサイトとeclipseの警告を頼りに、

private static Activity mya =null;
//これを追加
private static Handler handler = new Handler(Looper.getMainLooper());
protected void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    mya = this;
}

public static void sendScore(final double score){//finalにする
    handler.post(new Runnable() {
        @Override
        public void run() {
            String[] gameIds = {"ゲームモードID"};
            String[] scores = {""+score};
            GFRankingController appController = GFRankingController.getIncetance(mya);
            appController.sendScore(gameIds, scores);
        }
    });
}
とするとうまくいきました

コメント

このブログの人気の投稿

2次元配列のコピー::JavaScript

iframeの利点と欠点

Cocos2d-x 3.4でandroid向けにビルドする