2016-07-02 2 views
-2

저는 안드로이드 게임에 대한 데이터 관리 이론에 대한 도움을 받고 싶습니다. 저는 롤 플레잉 게임을 개발 중입니다. 모자, 파워 아머 무기 등 다양한 복장으로 캐릭터를 사용자 정의 할 수 있습니다. 플레이어는 상점에서 이것을 구입하고 옷을 입거나 옷을 갈아 입고 선택할 수 있습니다. 다른 시간을 착용하는 '옷장'의 항목.게임 데이터베이스 이론

지금까지 대부분의 데이터는 SharedPreferences를 통해 저장되었습니다. 그러나 나는 이것이 100 종류의 아이템에 대해 유지할 수 없다는 것을 알고 있습니다. 플레이어는 다른 기회에 착용 할 수 있습니다.

연구를 통해 SQLite가 Android Studio에서 최상이라고 생각하기 시작했습니다. 누구나 이것에 동의하거나 더 좋은 제안을 할 수 있습니까?

SQLite는 '구매하지 않은'상태로 미리로드 된 데이터를 가질 수 있음을 이해합니다. '구입'을하면이 상태가 바뀌고 플레이어는 옷을 착용하거나 착용하지 않을 수 있습니다.

SQLite가 가장 좋은 경우 가장 좋은 방법은 무엇입니까? 또한 SQLite는로드하는 데 오랜 시간이 걸리므로 활동 열기가 느려지십니까? SQLite와 SharedPreferences를 결합하여 최신의 선택된 옷을 기억해 주시겠습니까?

마지막으로 SQLite는 다른 앱에서 데이터를 저장하는 데 사용합니다 (특히 Android Studio를 통해 제작 한 경우). 클랜 오브 클랜 (Clash of Clans)이나 탭 아웃 (Tapped Out)과 같은 게임은 소유 한 아이템이나 위치를 그리드에 어떻게 저장합니까?

부분적인 지원이나 이론에 감사드립니다.

+0

"나는 안드로이드 스튜디오에서 SQLite가 최고라고 믿기 시작했다."- 제발, IDE와 OS를 혼동하지 마라. 이렇게하면 좋은 답변을 찾는 과정이 크게 단순 해집니다. –

+0

안녕하세요, 드미트리. 조금 더 자세히 설명해 드리겠습니다. Android OS 용 Android Studio에서 데이터베이스를 프로그래밍하고 SQLite가 내 의도에 적합한 지 여부를 묻는 중입니다. 그게 도움이 되었길 바래요? – TBQPR

+0

영역, Couchbase Lite 또는 Firebase은 –

답변

1

TL; DR 예, SQLite는 정상입니다.

깨끗한 코드 관점에서이 질문에 답해 보겠습니다.

아래 답변은 초보자에게는 너무 복잡 할 수 있지만 장기적으로 도움이되기를 바랍니다.

실제 질문은 - 나중에 필요한 것을 어떻게 저장합니까? 대부분의 경우 데이터를 나중에 안전하게 읽을 수있는 한 데이터를 저장하는 방법은 중요하지 않습니다. 따라서 "X를 사용해야합니까?"라는 걱정 대신, 문제를 해결할 클래스의 인터페이스를 정의하는 것으로 시작합니다.

예를 들어 PlayerItemsRepository으로 전화를 걸어 내용을 저장하고 다시 읽어들입니다. 방법? 나는 아직 모른다, 우리는 나중에 그것을 알아낼 수있다.

public interface PlayerItemsRepository { 

    void saveItems(List<Item> items); 

    List<Item> readItems(); 

} 

이제 SQLite를 통합 할 수 있습니까? 조금만 기다려 봅시다. SQLite로 작업하기위한 약간의 상용구 코드입니다. 따라서 목록을 직렬화하고 파일에 저장하는 인터페이스의 간단한 구현을 작성해보십시오 (ItemSerializable이라고 가정) . 또는 우리가 너무 게으른 경우에도 List<Item>을 JSON으로 변환하고 SharedPreferences (Gson 라이브러리와 같이 사용하기가 간단합니다)으로 저장하는 방법은 어떨까요?

100 개 항목을 저장하면 (다소 적은 금액 임) 이제는 모든 "쉬운"솔루션이 제대로 작동하고 전체 스토리를 잊어 버릴 수 있습니다.관계형 모델 및 일련의 성능의 일종을 가지고 필요로 실행하기 시작합니다 경우

당신에게 허용되지 않습니다, 또는 당신은 더 빠르고 더 복잡한 검색 메커니즘이 필요 - 당신은 전환하는 것이 좋습니다 다음 을 SQlite로. 앞서 언급했듯이 API는 다소 성가기 때문에 꽤 많은 상용구를 작성해야합니다. 결국에는 더 많은 시간을 투자해야하며 시간이 충분하지 않을 수도 있습니다. 작은 데이터 세트.

+0

안녕을 조사하는 다른 방법입니다. 귀하의 의견에 감사드립니다. JSON 옵션을 조사하고 있습니다. 나는 그 이론을 이해할 수 있다고 생각하지만, 권장 튜토리얼이나 가이드를 가지고 있다면 좋을 것입니다. 다시 한번 감사드립니다. – TBQPR

+0

JSON 용? 형식 뒤에 많은 이야기가 없습니다. 사양을 확인한 다음 Gson과 같은 유명한 JSON 라이브러리를 사용해 보는 것이 좋습니다. SQLite에 관해서는 - 참조 용 SQLie + 공식 웹 사이트에 대한 거의 모든 책. 온라인에서 사용할 수있는 많은 자료가 있으므로 시간 투자의 문제 일뿐입니다. –