기본적으로 모든 데이터 저장 메커니즘을 구현하는 것을 제외하고는 개발중인 응용 프로그램을 끝내고 있습니다. 얼마 전에 옵션을 살펴본 결과, SQLiteDatabase가 가장 적합하다고 판단되었지만, 구현 방법을 고민하는 것이 어려웠 기 때문에 나머지 프로그램을 끝낼 때까지 남겨 두었습니다. 그 이후로 저는 장치에서 실행할 때마다 모든 값을 다시 입력하여 테스트했습니다./TabActivity에서 SQLiteDatabase 및 AsyncTask 구현 방법/
기본적으로 화면에 아무것도 표시되지 않습니다. 사용자는 플레이어를 추가합니다 (메뉴 및 대화 상자를 통해). 플레이어 목록이 완성되면 대화 상자에서 "저장"을 클릭합니다. 그런 다음 각 플레이어의 테이블 행은 동적으로 팽창되어 Button, 몇 개의 ImageViews 및 TextView를 포함하며 모든 플레이어의 다양한 속성을 표시합니다. 그게 내 질문에는별로 중요하지 않습니다.
그래서 내 응용 프로그램은 기본적으로 플레이어 개체를 추적합니다. 데이터베이스 개체를 모두 가이드로 사용하여 작성했습니다 : http://www.androidhive.info/2011/11/android-sqlite-database-tutorial/, 대부분의 "플레이어"에 대해 "연락처"를 바꿉니다.
내가 이해하기 어려운 부분은 주요 플레이어의 onCreate, onResume 및 onStop 메소드에서 수행 할 작업뿐만 아니라 각 플레이어 객체의 "저장"및 "로드"를 정확히 구현하는 부분입니다. 지금까지 수 시간 동안이 작업을 조사해 봤지만 AsyncTask도 구현해야한다는 것을 배웠습니다.하지만이 작업은 훨씬 더 복잡해졌으며 비동기로 수행하는 것은 물론 내 기본 데이터 로딩 작업도 수행 할 수 없습니다. .
AsyncTask와 SQLiteDatabase를 "Android 용 프로그래머 : App-Driven Approach"라는 책에서 구현하는 좋은 예가 Deitel Developer Series에 있지만, 예제에서는 CursorAdapter를 ListActivity, 그래서 나는 그것이 내 상황에 적용되도록하는 방법을 모른다. (내 것은 TabActivity입니다. 위에서 설명한 것은 "플레이어보기"탭에 대한 것입니다.)
사용자가 "플레이어 추가 대화 상자"에서 "저장"을 클릭하면 데이터베이스에 플레이어를 추가하는 것이 좋습니다. "하지만 플레이어 개체를 다시로드하는 위치와 각 플레이어의 테이블 행을 다시 위치시킬 위치를 이해하지 못합니다.
죄송하지만 더 정확한 코드를 게시하지는 않지만 일반적인 질문이 많으며 천 줄 정도이므로 내 전체 앱을 게시하지 않는 것이 좋습니다. 어떤 도움이라도 대단히 감사 할 것입니다, 나는 여기에 모든 작은 것을 게시하지 않으려 고하지만이 물건은 너무 오랫동안 나를 좌절 시켰습니다!
안녕하세요, 답장을 보내 주셔서 감사합니다. 매니 페스트에서 세로로 설정된 이후 전화가 회전하는 것에 대해 걱정하지 않습니다. 나는 코드의 각 부분을 어디에 두어야하는지 더 걱정한다. 물건을 "저장"할 수있는 곳을 알고 있지만, 사용자가 앱을 다시 시작할 때마다, 특히 onCreate(), onResume(), onStop() 등과 관련하여 모든 것을 다시로드하는 방법을 모르겠습니다. 저장된 정보, 상태 복원 등을 완전히 이해하지 못합니다. –
또한 링크 된 AsyncTaskLoader 문서를 체크 아웃했습니다. 안드로이드 3.0에서 소개 되었기 때문에 내 앱 (및 전화)이 API 8 이상을 사용하기 때문에 사용할 수 없습니다. –
할 수 있습니다! 그들은 Compatibility Package에있어, 잘 기억한다면 API 7+ 용으로 사용할 수 있습니다. –