I have been looking for an solution on how to make my app not to loose data when orientation of phone changes. I have found one and it is adding this line of code
android:configChanges="orientation|keyboardHidden">
to android manifest. So i did it:
<?xml version="1.0" encoding="utf-8"?>
<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"
        android:configChanges="orientation|keyboardHidden">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>
And my data still get lost when orientation changes, could anyone please help me ? Thank you very much.
My java code:
public class MainActivity extends AppCompatActivity {
int scoreofShooter1 = 0;
int scoreofShooter2 = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
public void addOneForShooter1(View view) {
    scoreofShooter1 = scoreofShooter1 + 1;
    displayForShooter1(scoreofShooter1);
}
public void addTwoForShooter1(View view) {
    scoreofShooter1 = scoreofShooter1 + 2;
    displayForShooter1(scoreofShooter1);
}
public void addThreeForShooter1(View view) {
    scoreofShooter1 = scoreofShooter1 + 3;
    displayForShooter1(scoreofShooter1);
}
public void addFourForShooter1(View view) {
    scoreofShooter1 = scoreofShooter1 + 4;
    displayForShooter1(scoreofShooter1);
}
public void addOneForShooter2(View view) {
    scoreofShooter2 = scoreofShooter2 + 1;
    displayForShooter2(scoreofShooter2);
}
public void addTwoForShooter2(View view) {
    scoreofShooter2 = scoreofShooter2 + 2;
    displayForShooter2(scoreofShooter2);
}
public void addThreeForShooter2(View view) {
    scoreofShooter2 = scoreofShooter2 + 3;
    displayForShooter2(scoreofShooter2);
}
public void addFourForShooter2(View view) {
    scoreofShooter2 = scoreofShooter2 + 4;
    displayForShooter2(scoreofShooter2);
}
public void resetScoreOfShooter1(View view) {
    scoreofShooter1 = 0;
    displayForShooter1(scoreofShooter1);
}
public void resetScoreOfShooter2(View view) {
    scoreofShooter2 = 0;
    displayForShooter2(scoreofShooter2);
}
public void displayForShooter1(int score) {
    TextView scoreView = (TextView) findViewById(R.id.shooter_1_score);
    scoreView.setText(String.valueOf(score));
}
public void displayForShooter2(int score) {
    TextView scoreView = (TextView) findViewById(R.id.shooter_2_score);
    scoreView.setText(String.valueOf(score));
}
}
 
     
    