으로 검색, 문자열로 저장 나는 setTeam
라는 문자열 데이터를 저장하고, 내가 저장됩니다 각 팀 User
라는 클래스를 만든 다음Gson 데이터 저장 및 검색. 내 데이터 저장 클래스에서 정수
public class DataStorage {
private static final String TEAM = "Teams";
private static final String TEAM_INFO = "teaminfo";
private static Gson gson = new Gson();
public static void setTeam(MainActivity context, Collection<User> teams) {
String usersJson = gson.toJson(teams);
SharedPreferences.Editor editor = context.getSharedPreferences(TEAM_INFO, Context.MODE_PRIVATE).edit();
editor.putString(TEAM, usersJson);
editor.apply();
}
public static ArrayList<User> getTeam(Context context){
SharedPreferences prefs = context.getSharedPreferences(TEAM_INFO, Context.MODE_PRIVATE);
String usersJson = prefs.getString(TEAM, "[]");
return gson.fromJson(usersJson, new TypeToken<ArrayList<User>>(){}.getType());
}
}
getTeam
라는 데이터를 검색하는 GSON을 사용했다 내 json 데이터베이스. 그래서 각 setTeam
위해 나는 몇 가지 숫자를 포함하는 두 문자열 ArrayList
을 만든 주요 활동에서는 teamName
gameWon
및 gameLost
public class User implements Serializable {
private String teamName;
private int gameWon;
private int gameLost;
public void setName(String name) {this.teamName = name;}
public String getName() {return teamName;}
public void setGameWon(int wonHome){this.gameWon = wonHome;}
public int getGameWon(){return gameWon;}
public void setGameLost (int gameLoss){this.gameLost = gameLoss;}
public int getGameLost(){return gameLost;}
}
있다.
private final String[][] dataTeams = new String[30][3];
그래서 dataTeams double array에는 gameWon 및 gameLost가있는 30 개의 팀이 있습니다. gameWon 및 gameLost는 숫자 문자열입니다.
이제 DataTeams의 모든 내용을 Json 데이터베이스에 저장하려고합니다.
User c = new User();
c.setName(dataTeams[i][0]);
c.setGameWon(Integer.parseInt(dataTeams[i][2]));
c.setGameLost(Integer.parseInt(dataTeams[i][3]));
teams.add(c);
DataStorage.setTeam(this, teams);
데이터를 검색 할 때 성공적으로 수행했습니다.
ArrayList<User> users = DataStorage.getTeam(this);
String [] teams = new String[30];
for(int i = 0; i < 30; i++) {
teams[i] = users.get(i).getName() + " W:" + users.get(i).getGameWon() + " L:" + users.get(i).getGameLost();
}
getName 모든 팀에 대한 올바른 그러나 그들의 getGameWon 및 getGameLost는 모두 0은 그 그래서 지금은 JSON 클래스 I 여부를 사이에 끼 었어 이중 배열에 dataTeams
무엇 아니다 내가
c.setGameWon(Integer.parseInt(dataTeams[i][2]));
c.setGameLost(Integer.parseInt(dataTeams[i][3]));
또는 내가 정수 잘못 해석하고 int로 구문 분석시에 문자열을 저장하지 않은 DataStorage
했다. dataTeam에서
데이터는
Team W L
Atlanta 60 22
Boston 40 42
Brooklyn 38 44
Charlotte 33 49
Chicago 50 32
Cleveland 53 29
Dallas 50 32
Denver 30 52
Detroit 32 50
Golden State 67 15
Houston 56 26
Indiana 38 44
L.A. Clippers 56 26
L.A. Lakers 21 61
Memphis 55 27
Miami 37 45
Milwaukee 41 41
Minnesota 16 66
New Orleans 45 37
New York 17 65
Oklahoma City 45 37
Orlando 25 57
Philadelphia 18 64
Phoenix 39 43
Portland 51 31
Sacramento 29 53
San Antonio 55 27
Toronto 49 33
Utah 38 44
Washington 46 36
JSON 데이터를 공유 할 수 있습니까? –
@PhilipRollins 물론 하단에 추가했습니다. – SimranTea
데이터가 JSON이 아니라고 생각합니다.이 탭은 tsv (탭 구분 값)입니다. 따라서 CSV 라이브러리를 사용하여 효율성을 읽을 수 있습니다. – Minh