2016-06-30 5 views
3

사용자가 로컬 라이브러리 또는 원격으로 노래 목록을 재생할 수있는 미디어 플레이어 앱을 만들고 있습니다. 나는 Arraylist of songs 객체의 어느 위치에서나 얻을 수있는 곡을 저장했다. 내가 원하는 것은 사용자가 공유 환경 설정에서 노래 목록을 재생 목록으로 저장하고 기존 재생 목록에 재생 목록을 추가 할 수 있도록 허용하는 것입니다. 이걸 어떻게 성취 할 수 있니, 고마워.여러 재생 목록을 공유 환경 설정으로 저장하는 방법

store list [ 
    playlist: { 
    id: 1, 
    name: My Playlist, 
    songs: 
    [ 
     { name: 'Song 1', album: 'Album', ...} 
     { name: 'Song 2', album: 'Album', ...} 
     { name: 'Song 3', album: 'Album', ...} 
    ] 
}, 

    playlist: { 
     id: 2, 
     name: My Playlist Two, 
     songs: 
     [ 
      { name: 'Song 1', album: 'Album', ...} 
      { name: 'Song 2', album: 'Album', ...} 
      { name: 'Song 3', album: 'Album', ...} 
     ] 
    } 
] 
+0

먼저 JSON 형식의 데이터가 있습니까? 네가 파서를 통과하지 않을 것이기 때문이다. JSON이라면이 [post] (http://stackoverflow.com/questions/5918328/is-it-ok-to-save-a-json-array-in-sharedpreferences)를 참조하십시오. – solosodium

답변

1

공유 환경 설정을 사용하도록 설정했다면 배열을 JSONarray로 구문 분석하고 그런 식으로 저장할 수 있습니다. 다른 질문의 answer이 도움이 될 수 있습니다.

나는 당신의 배열을 저장하기 위해이 같은 것을 내부 스토리지를 사용하여 구현 제안 : https://developer.android.com/guide/topics/data/data-storage.html

0

공유 선호도가 가장 좋은 대상이 아닌 : 여기

String filename = "myfile"; 
String[] numbers = new String[] {"1, 2, 3"}; 
FileOutputStream outputStream; 

try { 
    outputStream = openFileOutput(filename, Context.MODE_APPEND); 
    for (String s : numbers) { 
     outputStream.write(s.getBytes()); 
    } 
    outputStream.close(); 

} catch (Exception e) { 
    e.printStackTrace(); 
} 

모든 스토리지 옵션 안드로이드 이벤트에 대한 링크의를 너를 위해서. 그것은 목표가 아닙니다. 구성에 대한 자세한 내용입니다. 예를 들어 앱의 언어를 변경하려면 환경 설정에 새 언어를 저장하십시오. complexe 객체를 저장하는 것은 좋은 생각이 아닙니다.

데이터베이스 sqlite를 사용해보십시오. 데이터베이스와 테이블에 필요한 모든 정보를 저장하고 커서로로드하십시오.

https://www.google.fr/url?sa=t&source=web&rct=j&url=https://developer.android.com/training/basics/data-storage/databases.html&ved=0ahUKEwi5n96oz9DNAhXBsxQKHYeqC5kQFggjMAI&usg=AFQjCNGZO3o7XvDtwLTPzOclCuVkMgDc0A&sig2=19A1656hR_irXRh1hwn1Zg

그리고 그와 함께 당신은 또한 콘텐츠 제공 업체를 사용하는 모든 지역의 음악 파일을 얻을 수 있습니다

.

+0

Noted ... 전적으로 동의하지만 sqlite CRUD 쿼리 작성을 피하려고했습니다. 내 작업을 sqlite 메서드를 사용하여 구현할 것입니다. 입력에 감사드립니다. –

관련 문제