Java 如何创建用于刷新android游戏应用程序显示的功能?

Java 如何创建用于刷新android游戏应用程序显示的功能?,java,android,function,imageview,Java,Android,Function,Imageview,我正在创建一个4合一的Android应用程序,我想创建一个功能,在游戏的每个回合显示我当前的游戏。我怎么能做到?我不知道我是否必须创建多个ImageView,或者是否可以复制一个?如何从我的MSSupport(网格图像)而不是屏幕的全局位置创建位置 我的游戏活动: package com.example.puissance4; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; im

我正在创建一个4合一的Android应用程序,我想创建一个功能,在游戏的每个回合显示我当前的游戏。我怎么能做到?我不知道我是否必须创建多个ImageView,或者是否可以复制一个?如何从我的MSSupport(网格图像)而不是屏幕的全局位置创建位置

我的游戏活动:

package com.example.puissance4;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.StrictMode;
import android.widget.ImageView;

import org.json.JSONObject;

public class GameActivity extends AppCompatActivity {
    JSONObject jsonRootObject = null;
    JSONObject jsonRootObject1 = null;
    String IDPARTIE;
    private ImageView mSupportView;
    private ImageView mLogoView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_game);
        String UID = getIntent().getExtras().getString("UID");
        mSupportView = (ImageView) findViewById(R.id.activity_game_image_support);
        mLogoView = (ImageView) findViewById(R.id.activity_game_image_logo);
        System.out.println(UID);

        AsyncTaskGame asyncTaskgame = new AsyncTaskGame(GameActivity.this,mLogoView, mSupportView);
        asyncTaskgame.execute(UID);
        if (asyncTaskgame.getStatus() == AsyncTask.Status.FINISHED) {
            BackgroundStatutChange.doInBackground("UID=" + UID);
            startActivity(new Intent(GameActivity.this, MainActivity.class));
        }
    }



    static boolean refreshDisplay(String[][] my_matricsGame, String turnPlayer, int winOrNot){
        StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
        StrictMode.setThreadPolicy(policy);

        int j;
        int i;

        for(i=0;i<6;i++){
            for(j=0;j<7;j++){
                int x = 90+j*70;
                int y = 175+i*70;
                if(my_matricsGame[i][j].equals("1")){
                    //blit red token image at calculated position in mSupportView
                }
                else if(my_matricsGame[i][j].equals("2")){
                    //blit yellow token image at calculated position in mSupportView
                }
            }
        }
        if (turnPlayer.equals("1") && winOrNot == 0){
            //blit "player 1's turn"
        }
        else if(turnPlayer.equals("2") && winOrNot == 0){
            //blit "player 2's turn"
        }
        else if(turnPlayer.equals("0") && winOrNot == 1){
            //blit "player 1 wins"
        }
        else if(turnPlayer.equals("0") && winOrNot == 2){
            //blit "player 2 wins"
        }
        else if(turnPlayer.equals("0") && winOrNot == 3){
            //blit "tie game"
        }
        return true;
    }
}
package com.example.puissance4;
导入androidx.appcompat.app.appcompat活动;
导入android.content.Intent;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.os.StrictMode;
导入android.widget.ImageView;
导入org.json.JSONObject;
公共类GameActivity扩展了AppCompativity{
JSONObject jsonRootObject=null;
JSONObject jsonRootObject1=null;
第三方;
私有图像视图mSupportView;
私有图像视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_游戏);
字符串UID=getIntent().getExtras().getString(“UID”);
mSupportView=(ImageView)findViewById(R.id.activity\u game\u image\u support);
mLogoView=(ImageView)findViewById(R.id.activity\u game\u image\u徽标);
系统输出打印项次(UID);
AsyncTaskGame AsyncTaskGame=新建AsyncTaskGame(GameActivity.this,mLogoView,mSupportView);
asyncTaskgame.execute(UID);
if(asyncTaskgame.getStatus()==AsyncTask.Status.FINISHED){
背景状态更改.doInBackground(“UID=“+UID”);
startActivity(新意图(GameActivity.this、MainActivity.class));
}
}
静态布尔刷新显示(字符串[][]my_matricsGame,字符串turnPlayer,int winOrNot){
StrictMode.ThreadPolicy policy=新建StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(策略);
int j;
int i;
对于(i=0;i
        if(Strings[0].equals(UIDJ1)){
        jsonRootObject1 = BackgroundGameRecupPlay.doInBackground("IDPARTIE=" + IDPARTIE);
        try {
            GRILLE = (String) jsonRootObject1.get("GRILLE");
            TOURJOUEUR = (String) jsonRootObject1.get("TOURJOUEUR");
        } catch (JSONException e) {
            e.printStackTrace();
        }

        s = GRILLE;
        s=s.replace("[","");//replacing all [ to ""
        s=s.substring(0,s.length()-1);//ignoring last two ]]
        s1 =s.split("],");//separating all by "],"

        my_matricsGame = new String[s1.length][s1.length+1];//declaring two dimensional matrix for input
        for(int i=0;i<s1.length;i++){
            s1[i]=s1[i].trim();//ignoring all extra space if the string s1[i] has
            single_int =s1[i].split(", ");//separating integers by ", "

            for(int j=0;j<single_int.length;j++){
                my_matricsGame[i][j]=single_int[j];//adding single values
            }
        }

        GameActivity.refreshDisplay(my_matricsGame, TOURJOUEUR, 0);