마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

검색을 하면 최근검색어를 보여주게 하고싶습니다ㅠㅠ

0 추천
검색을 하였을때 db에 저장을 하여 최근검색을 보여주고 싶은데

제가 sharedpreference에 데이터를 10개를 만들어 거기에 하나씩 넣어줬거든요

근데 만약에 10개 다차면 그다음 어디를 넣어줘야하는지 모르겠네요

1번째가 null이면 2번째에 넣고 이런식으로 하였는데 10개 꽉차면 하나씩 밀려나야 할텐데ㅠㅠ

이 방법말고도 SQLite에 넣었더니 이건 제가 잘몰라서 계속 갱신되고 쌓이더라구요ㅠㅠ

좋은 방법 없나요?

아니면 예제 사이트라도ㅠㅠㅠㅠ
꿀떡 (2,700 포인트) 님이 2016년 1월 14일 질문

2개의 답변

0 추천
 
채택된 답변
SQLite 의 테이블에서  idx 역순으로 10개를 가져오면 됩니다.

select * from keyword order by idx desc

10개에서 짜르시면 됩니다.
익명사용자 님이 2016년 1월 14일 답변
꿀떡님이 2016년 1월 14일 채택됨
감사합니다!!
해결했네요 ㅎㅎ
0 추천

일단 제가 했던방법은,

sharedpreference로 구현한다고 가정했을때 ArrayList를 생성한 후 거기에 검색어를 하나씩 추가합니다.

추가한 후에 sharedpreference에 ArrayList를 jsonString으로 변환해서 String형태로 저장을 합니다.

삭제할때도 비슷한 로직으로 가면될것이구요,

중복된 단어 검색시에는 원래자리에 있던 단어를 지우고 리스트의 0번째로 삽입합니다.

마지막으로 검색어 저장갯수 최대치가 되면 제일 마지막에 있는 검색어를 지우고 새로운 검색어를 0번째에 삽입합니다.

가장 핵심은 arrayList를 jsonString형태로 변형해서 저장하고 불러오는것입니다.

 

 

캬옹이 (37,920 포인트) 님이 2016년 1월 14일 답변
감사합니다!!
해결했네요 ㅎㅎ
...