30/09/2018, 19:10
Android Xử lý lưu điểm với SharedPreferences và xếp hạng
Xem giúp mình đoạn code này với, ko chạy được.
package duaxe.canhquy.pecc4.duaxe;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.os.Bundle;
import android.view.View;
import android.view.Window;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.widget.TextView;
public class Main4Activity extends Activity {
TextView txtvScore;
TextView txtvName4;
Button btnRetry;
Button btnBackMenu;
String name, ten, ngay;
Integer score;
Integer i, j, diem;
String[] mangNgay;
String[] mangTen;
Integer[] mangDiem;
SharedPreferences luutru;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main4);
txtvScore = (TextView) findViewById(R.id.textViewScore4);
btnRetry = (Button) findViewById(R.id.buttonTryagain);
btnBackMenu = (Button)findViewById(R.id.buttonBackMenu);
txtvName4 = (TextView) findViewById(R.id.textViewName4);
luutru = getSharedPreferences("luutruthongtin", Context.MODE_PRIVATE);
xulyluudiem();
}
private void xulyluudiem() {
Bundle bd4 = getIntent().getExtras();
if (bd4 != null) {
name = bd4.getString("name");
score = bd4.getInt("score");
txtvScore.setText("Score: " + score);
txtvName4.setText(name);
}
if(luutru == null) {
mangNgay = new String[]{"-", "-", "-", "-", "-", "-", "-", "-", "-"};
mangTen = new String[]{"-", "-", "-", "-", "-", "-", "-", "-", "-"};
mangDiem = new Integer[]{0, 0, 0, 0, 0, 0, 0, 0, 0};
}else {
String ten1 = luutru.getString("ten1", "");
String ten2 = luutru.getString("ten2", "");
String ten3 = luutru.getString("ten3", "");
String ten4 = luutru.getString("ten4", "");
String ten5 = luutru.getString("ten5", "");
String ten6 = luutru.getString("ten6", "");
String ten7 = luutru.getString("ten7", "");
String ten8 = luutru.getString("ten8", "");
String ngay1 = luutru.getString("ngay1", "");
String ngay2 = luutru.getString("ngay2", "");
String ngay3 = luutru.getString("ngay3", "");
String ngay4 = luutru.getString("ngay4", "");
String ngay5 = luutru.getString("ngay5", "");
String ngay6 = luutru.getString("ngay6", "");
String ngay7 = luutru.getString("ngay7", "");
String ngay8 = luutru.getString("ngay8", "");
String diem1 = luutru.getString("diem1", "");
String diem2 = luutru.getString("diem2", "");
String diem3 = luutru.getString("diem3", "");
String diem4 = luutru.getString("diem4", "");
String diem5 = luutru.getString("diem5", "");
String diem6 = luutru.getString("diem6", "");
String diem7 = luutru.getString("diem7", "");
String diem8 = luutru.getString("diem8", "");
mangNgay = new String[]{ten1, ten2, ten3, ten4, ten5, ten6, ten7, ten8,"-"};
mangTen = new String[]{ngay1, ngay2, ngay3, ngay4, ngay5, ngay6, ngay7, ngay8, "-"};
mangDiem = new Integer[]{Integer.parseInt(diem1),Integer.parseInt(diem2),
Integer.parseInt(diem3),Integer.parseInt(diem4),
Integer.parseInt(diem5),Integer.parseInt(diem6),
Integer.parseInt(diem7),Integer.parseInt(diem8), 5};
}
mangDiem[9] = score;
mangTen[9] = name;
for (i = 0; i <= 5; i++) {
for (j = i + 1; j <= 5; j++) {
if (mangDiem[i] < mangDiem[j]) {
diem = mangDiem[i];
mangDiem[i]=mangDiem[j];
mangDiem[j]=diem;
ten = mangTen[i];
mangTen[i] = mangTen[j];
mangTen[j] = ten;
}
}
}
SharedPreferences.Editor edit = luutru.edit();
if(luutru!=null){
edit.clear();
}else {
edit.putString("ten1", String.valueOf(mangTen[0]));
edit.putString("ten2", String.valueOf(mangTen[1]));
edit.putString("ten3", String.valueOf(mangTen[2]));
edit.putString("ten4", String.valueOf(mangTen[3]));
edit.putString("ten5", String.valueOf(mangTen[4]));
edit.putString("ten6", String.valueOf(mangTen[5]));
edit.putString("ten7", String.valueOf(mangTen[6]));
edit.putString("ten8", String.valueOf(mangTen[7]));
edit.putString("ten9", String.valueOf(mangTen[8]));
edit.putString("ngay1", String.valueOf(mangNgay[0]));
edit.putString("ngay2", String.valueOf(mangNgay[1]));
edit.putString("ngay3", String.valueOf(mangNgay[2]));
edit.putString("ngay4", String.valueOf(mangNgay[3]));
edit.putString("ngay5", String.valueOf(mangNgay[4]));
edit.putString("ngay6", String.valueOf(mangNgay[5]));
edit.putString("ngay7", String.valueOf(mangNgay[6]));
edit.putString("ngay8", String.valueOf(mangNgay[7]));
edit.putString("ngay9", String.valueOf(mangNgay[8]));
edit.putString("diem1", String.valueOf(mangDiem[0]));
edit.putString("diem2", String.valueOf(mangDiem[1]));
edit.putString("diem3", String.valueOf(mangDiem[2]));
edit.putString("diem4", String.valueOf(mangDiem[3]));
edit.putString("diem5", String.valueOf(mangDiem[4]));
edit.putString("diem6", String.valueOf(mangDiem[5]));
edit.putString("diem7", String.valueOf(mangDiem[6]));
edit.putString("diem8", String.valueOf(mangDiem[7]));
edit.commit();
}
}
}
Bài liên quan
Bạn nên nói thêm là có lỗi gì không, lỗi ở phần nào, không chạy được là như thế nào?
"produce ‘java.lang.NullPointerException’
@Contract("_, null -> null;
_, !null -> !null") — method returns null if its second
argument is null and not-null otherwise
@Contract(“true ->
fail”) — a typical assertFalse method
which throws an exception if true is passed to it
Thất bại của … copy logcat khi bị crash lên chứ cha nội, lôi cái javadoc copy lên đây làm gì. Cái ấy thiếu gì, chỗ nào chả có