오늘은 안드로이드 SharedPreference에 대해 포스팅 합니다.


안드로이드 에서는 데이터 관리를 어떻게 할까?


크게 4가지 방법이 있다.


첫째는 SQLITE,


둘째는 I/O,


셋째는 서버를 거친 DB,


넷째는 오늘 포스팅 할 SharedPreference가 있다.


SharedPreference는 XML 방식을 채택하기 때문에,


데이터 로딩이 느릴 수 있다. XML 방식이 왜 느린지


알고 싶다면 아래 URL을 참고하라.


http://mommoo.tistory.com/17


기본적으로 쉐어프리퍼런스는 Map 과 같은 형태의 자료구조라 생각하면 편하다.


아래의 예제를 보자.


Preference 생성 (this 는 액티비티 정보. 액티비티 안이 아닐때는 context. 으로 접근해야함)


SharedPreferences shared

1 . sharedPreferences = getSharedPreference("name",0);


2.  sharedPreferences = getSharedPreference(0);


3.  sharedPreferences = PreferenceManager.getDefaultSharedPreference(this);



1번 방법은 쉐어프리퍼런스 저장 폴더에 name.xml 이름의 파일로 저장이 된다. 다른 이름도 얼마든지 가능하다.


2번 방법은 현재 액티비티의 이름으로 xml 파일이 저장된다.


3번 방법은 환경설정에 저장된 값으로 쉐어프리퍼런스를 가져오는 방법이다.


가져올 Preference가 없다면 새로 생성해준다.



Preference 값 호출


SharedPreferences.Edit editor = sharedPreference.edit();


editor.getInt(key값,디폴트값);

editor.getLong(key값,디폴트값);

editor.getBoolean(key값,디폴트값);

editor.getString(key값,디폴트값);

editor.getFloat(key값,디폴트값);


key값은 무조건 String 이다. 또한,


get하는 데이터형에 맞게 디폴트값을 설정해야 한다.


예를들어 getInt는 getInt("key",0); 이런식으로 말이다.



Preference 값 저장


SharedPreferences.Edit editor = sharedPreference.edit();


editor.putInt(key값, 디폴트값);

editor.putLong(key값, 디폴트값);

editor.putBoolean(key값, 디폴트값);

editor.putString(key값, 디폴트값);

editor.putFloat(key값, 디폴트값);

editor.commit();


중요한 것은 commit() 메서드를 써야 xml에 저장이 된다는 점이다.


값 호출 처럼 key값은 String이고 디폴트값은 자료형에 맞게 써야한다.



Preference 값 삭제


SharedPreferences.Edit editor = sharedPreference.edit();


1. editor.remove("key");


2. editor.clear();


editor.commit(); 


값 저장과 같이 commit(); 메서드를 사용해야 적용된다.


1번 방법은 key값에 맞는 value가 지워지고


2번 방법은 xml 데이터 전체가 지워진다.





포스팅이 도움 되셨다면, 커피 한잔 후원해주세요!
더 좋은 포스팅 작성에 큰 힘이 됩니다.

Buy me a coffeeBuy me a coffee

4월~5월 지금까지


졸업준비 하느라 너무 바빳습니다.


어찌어찌 졸업 준비가 끝나가,


서비스 중인 과기DAY 마이너 


업데이트를 하게되었습니다.


생각보다 많은분이 피드백을 해주신 덕분에


개선점과 좋은점에 대해 알게 되었구요,


덕분에 아래와 같이 개선했습니다.!



* 개선 사항.


  1. 식단표 카드를 누를 시, "식단표 보기" 버튼이 작아 불편했던 문제


  - 작은 버튼은 안녕! 카드를 누를 시 식단표가 나옵니다.



  2. 식단리스트 오류 문제.


 -학교 홈페이지의 식단표 리스트를 가져오는 것이라... 

  학교 홈페이지 웹을 올리시는 분이 실수 하는 경우, 제가 실수하는 경우

  등 생각보다 변수가 많아서 앱 초반에는 크고 작은 버그가 많았는데요,

  (최근에도 '과기인' 이라는 과기대 커뮤니티에서 버그를 찾아주셨습니다.)

  이번에도 찾게된 버그를 고치게 됨으로 써, 안정화 단계에 머물게 된것 같습니다.


   3. 전화번호부 기능 - 카드 접기가 하드웨어 뒤로가기 키로만 종료 되던 문제.

   피드백 요구에 따라 카드 밖 화면을 터치했을시,

   종료되게끔 개선했습니다!.



* 기능 추가 사항



  1. 앱에서 공지사항이 있을 시, 보여드립니다.! 

     공지 다시 띄우지 않기. 에 체크를 하시면, 

     새로운 공지가 게시되게 전까진 안뜹니다.




  2. 개발자 메세지 기능이 생겼습니다. 

     예기지 못한 버그나, 

     급히 알려야 할 사항이 있을시

     메세지를 통해서 알릴 예정입니다! 

     마찬가지로 공지 다시 띄우지 않기 

     기능이 포함되어 있습니다.


     

.     


    3. 최근 공지 사항을 다시 볼 수 있습니다! 

      (개발자 메세지는 다시 띄우지 않는다에, 체크시 새로운 메세지가 나오기 전까진 못봅니다!).

      SETTING 탭에서 확인 할 수 있습니다~. 

* 기타 사항.


  교통정보를 볼 수 있는 컨텐츠 개발이 거의 끝났습니다. 이런 저런 이유로

  아직 업데이트를 못 하고 있는데, 교통정보 업데이트가 끝나면 학우들이 많이

  사용하지 않을 까 싶습니다 ...^^; (7호선, 1227, 1224, 1141, 마을버스3,13,4 정보)

  


  또한 CALENDAR 탭의 달력은 개인일정 + 학교일정을 관리 할 수 있는 컨텐츠를

  제공하는 곳인데, 이런 저런 사정에 개발이 늦어 지고 있습니다.

   

   

  준비한 공지사항은 여기까집니다!.


  공지를 읽어주신 고마운 분들! 


  5월 남은 기간 동안 잘 지내셨으면 합니다. 


  감사합니다!


'과기DAY > Notice' 카테고리의 다른 글

개인정보 처리 방침  (0) 2018.05.15
과기DAY - 2.0v 업데이트  (2) 2016.11.06
과기DAY - 1.7v 업데이트  (0) 2016.07.03

포스팅이 도움 되셨다면, 커피 한잔 후원해주세요!
더 좋은 포스팅 작성에 큰 힘이 됩니다.

Buy me a coffeeBuy me a coffee

오늘 포스팅은 많이 쓰이는 View 중 하나인


WebView에 대해서다.


인터넷을 볼 수 있는 브라우저를


안드로이드 view 형태로 본다고 생각하면 된다.


간단하게 쓰는법에 대해 알아볼 것 이다.


View 공간을 먼저 정해야 하므로 아래와 같이 Xml을 코딩한다.


notice_webView_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingLeft="50dp"
android:paddingRight="50dp"
android:paddingTop="100dp"
android:paddingBottom="100dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
<WebView
android:id="@+id/webView"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</FrameLayout>

FrameLayout의 패딩값으로 webView의 크기를 정했다.


아래는 java 코딩이다.


MainActivity.java

WebView webView = findViewById(R.id.webView);
webView.setWebViewClient(new WebViewClient());
webView.loadUrl("http://www.naver.com");

간단한 코딩으로 네이버를 열어볼 수 있다.



포스팅이 도움 되셨다면, 커피 한잔 후원해주세요!
더 좋은 포스팅 작성에 큰 힘이 됩니다.

Buy me a coffeeBuy me a coffee

재학중인 대학교를 졸업하기 위해서는, 공인 영어성적이 필수다. 


졸업하기 위해 오픽 시험을 치뤘다.


Self-Assessment 의 난이도는 3-3 으로 설정했고,


말인지 방군지 막 내뱉고 왔다.


정신없이 진행해 15문제 다 기억하진 못했다. 


내가 기억하는 문제는 아래와 같다.


1. 자기소개 하기.


2. 당신이 살고있는 곳은 어디이며, 살고있는곳을 설명해주세요.


3. 가족들이랑 모여서 무엇을 합니까? 또 얼마나 많이 합니까? 설명해주세요.


4. 좋아하는 카페에 대해서 그 이유와 구체적인 설명을 해주세요.


5. 좋아하는 카페는 언제 찾았습니까? 또 자주가는 이유가 무엇입니까? 얼마나 자주갑니까?


6. 취미생활로 음악감상을 골랐는데, 음악듣는걸 왜 좋아합니까?

   좋아하는 가수나, 밴드에 대해서 설명해주세요.


7. 음악 듣는건 언제부터 좋아하게 되었습니까?


8. 좋아하는 레스토랑은 어디에 위치해 있으며, 레스토랑은 어떤 메뉴를 제공하는지 상세히 설명해주세요.


9. 집에서 가장 좋아하는 방은 어디입니까? 또 개인 방을 가지고 있습니까? 묘사해주세요.


10. 가정하기를, 저는(면접관 Eva) 제가 좋아하는 콘서트를 가게 되었습니다. 저에게 질무 몇가지를 해주세요. 


11. 가정하기를, 당신은 수업에 늦었습니다. 

    그래서 당신의 친구에게 전화를 해야할 상황입니다. 이에 맞는 질문 몇개를 답해보세요.


12. 가정하기를 당신이 매우 중요한 퀴즈를 치루지 못했습니다.

    그래서 교수님에게 전화를 해야할 상황입니다. 이에 맞는 질문 몇개를 답해보세요.


13. 당신의 집근처가 어릴적부터 지금까지 어떻게 바뀌었는지 묘사해보세요.


14. 당신의 소중한 순간에 대해서 설명해보세요. 누굴만났는지, 무엇을 듣고있었는지, 어딜 갔는지 등

     최대한 상세하게 설명해보세요.


Survey의 선택에 따라 질문내용은 바뀌겠지만, 문제 스타일이 저렇다 라는걸 알기엔 충분한거 같다.


즉 자신이 조합 할 수 있는 문장을 미리 준비해가 잘 활용하는것이 현명한 것 같다.


왜냐하면 Survey에서 선택항목이 15개였는데 그중 3~5개 밖에 나오질 않았다.


따라서, 주제별로 스크립트를 준비하는 것은 비추이다. 


또한 오픽 채점기준에 있기를,암기한 티가 났을 경우는 Novice 성적을 준다고 한다.


--------------------------------------------------------------------------------------------------------

5월 16일 작성 



오픽 성적이 나왔습니다.


IM1 등급을 받게되었구요. 덕분에 졸업걱정은 문제없겠네요. 공부기간은 길진 않았습니다.(3일)


공부방법이 궁금하신 분은 댓글 달아주세요.



포스팅이 도움 되셨다면, 커피 한잔 후원해주세요!
더 좋은 포스팅 작성에 큰 힘이 됩니다.

Buy me a coffeeBuy me a coffee

+ Recent posts