2011-11-16 2 views
2

저는 임시로 응용 프로그램 내의 일부 정보를 업데이트 할 수있는 교사와 함께 다양한 과정의 여러 교육 기관에서 잠재적으로 사용할 수있는 응용 프로그램을 만들고 있습니다. 원래이 작업을 수행하는 가장 좋은 방법은 응용 프로그램이 패키지되고 실행되는 동안이 폴더/파일을 업데이트 할 수 없다는 것을 읽었음에도 불구하고 응용 프로그램에 res/values ​​폴더에 새로운 strings.xml 파일을 다운로드하게하는 것이라고 생각했습니다.res 폴더에 저장되지 않은 strings.xml 파일을 참조 할 수 있습니까?

  1. 이 전혀 가능 :이 주변에 좋은 일이 내 질문은 다른 곳

    다른 strings.xml의 파일을 저장 할 수있을 거라고 생각?

  2. 어디에서 앱을 내보낼 때 패키지되지 않도록 strings.xml을 저장해야합니까?

참고 : 파일은 string.xml로 지정되지 않으므로 실제 strings.xml과 혼동하지 않을 것입니다.

+0

이 XML 파일은 어떻게 장치에 저장됩니까? 앱에서 생성 할 예정입니까? 앱을 설치할 때 수동으로 휴대 전화에 업로드 되었습니까? 또는 앱을 실행할 때 다운로드 할 수 있습니까? – dymmeh

+0

사용자가 업데이트를 실행할 때 앱에 다운로드됩니다. – Qu1nncunxIV

답변

0

파일을 넣어야하는 위치의 "규칙"(마이너스 시스템, 액세스 할 수없는 기타 개인 폴더)이 없습니다. 그러나 앱이 다운로드하는 패키지되지 않은 리소스를 저장하는 논리적이고 가장 일반적인 장소는 자체 애플리케이션 데이터 폴더 (기기의 내부 저장소에 있음) 또는 기기의 외부 저장소 (SD 카드)에 있어야합니다. .

파일을 내부 저장소에 쓰려면 컨텍스트의 openFileOutput(..) 메서드를 사용해야합니다. 이렇게하면 파일이 앱의 개인 데이터 디렉토리에 저장됩니다. openFileInput(..)을 사용하여 저장된 파일을 읽습니다.

외부 저장소에 쓰기 위해서는 매니페스트에 WRITE_EXTERNAL_STORAGE 권한을 추가해야합니다. 그런 다음 FileOutputStream을 사용하여 다운로드 할 때 파일 데이터를 쓸 수 있습니다. 읽기 용 입력 스트림 (가장 적합한 입력 스트림 유형 조회)

필자가 제공하는 예제는 완전히 상세하지 않거나 코드가 있지만 장치에 파일을 저장하는 올바른 방향으로 안내 할 것입니다. .

0

파일 문자열, 레이아웃, 드로어 블 등의 ID를 포함하는 R 클래스를 자동 생성하는 컴파일러에 의해 사용되는 고해상도 폴더 ... 아래에 당신이 당신의 서버에서 사용자 정의 자원을 다운로드 할 수 있습니다 물론

및 @dymmeh 포인트로 SD에 저장했습니다. 그리고 리터럴을 수정하는 가장 합리적인 방법이지만 레이아웃의 xml에서 @ string/string_id를 사용할 수없고 다운로드 한 파일을 직접 파싱해야한다는 것을 알고 있어야합니다.

관련 문제