2016-11-18 2 views
-6

저는 작업과 하위 작업으로 구성된 상대적으로 간단한 앱/게임을 만들고 있습니다. 사용자의 진행을 저장해야합니다. 사용자는 또한 적은 양의 설정을가집니다.앱 데이터를 저장할 위치는 어디입니까?

현재 앱은 외부 서비스에 연결하지 않지만 나중에 사용자 등록을 위해 Facebook 또는 유사한 것을 사용하고 다른 사용자와 진행/성과를 공유하는 기능을 추가하는 것이 목표입니다.

저는 앱 개발에 새로운 제품이며 어떤 데이터 저장 방법을 선택해야할지 모르겠습니다. 내가 키 - 값 세트를 오해하지 않았다면 파일과 데이터베이스 옵션으로 저장하십시오.

일을 빨리 끝내고 v. 1.0을 릴리스하려면 가장 간단한 해결책을 갖고 싶습니다. 그래서 키 - 값을 선택하거나 파일 옵션에 저장하는 것이 단점이고 데이터베이스 기반 절약으로 전환하는 것이 얼마나 어려운지 알고 싶습니다. 아니면 처음부터 데이터베이스를 사용해야합니까?

나는 경의를 표한다.

+1

주로 의견 기반 ... 공식 안드로이드 가이드에서 "저장 옵션"항목을 확인 했습니까? – Selvin

+0

'공유 환경 설정 '이 좋은 선택입니다. – AJay

+0

고마워요! 나는 그것을 시도 할 것이다. –

답변

1

나는 당신에게 SharedPreferences를 추천합니다. 이것은 안드로이드 간단한 클래스에서 키 - 값 세트에 데이터를 저장합니다.

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 

이것은 당신 된 SharedPreferences를 초기화 : 여기

는 코드입니다. 당신은/쓰기 값을 변경하려면 다음을 수행

SharedPreferences.Editor editor = sharedPref.edit(); 
editor.putInt("KEY_TO_VALUE", 123); 
editor.commit(); 

또한 값이 다른 유형에 넣을 수 있습니다,하지만 당신은 putString 또는 putBoolean 또는 다른 유형의 호출 할 필요가보다.

는 값이 이렇게 읽으려면 :

int a = prefs.getInt("KEY_TO_VALUE", 0); 

이 코드는 항상 매개 변수와 같은 기본 값이 두 번째 매개 변수 당신의 키와이 필요합니다.

또 다른 팁은 쉬운 UI가있는 일반 앱에서 이것을 사용하려면 PreferenceScreen이라는 것이 있다는 것입니다.

+0

감사! 나는 이걸 줄거야. –

1

-Timo 가장 간단한 방법은 SharedPreferences을 사용하고 있습니다. 복잡한 작업을 위해서는 SQLite (내장) 또는 Realm 또는 GreenDao과 같은 일부 ORM을 사용해야합니다. 온라인 점수 공유를 위해서는 위에서 언급 한 것과 서버 중 하나를 사용해야합니다. 페이스 북은 사용자 당 하나의 정수만을 저장할 수있게 해준다.이 정수는 때로는 충분하지 않고 정수 (사용자에게 publish_actions)의 추가 허가를 요청하는 정수를 저장하기도한다. 희망이 도움이 될 것입니다.

+0

감사합니다. 이것들은 유용한 tps입니다. –