본문 바로가기

공부/Android

[Android] 환경설정 프래그먼트 / PreferenceFragmentCompat 참고 사이트 Keyword : PreferenceFragmentCompat 1. gradle 추가implementation 'com.android.support:preference-v7:27.0.0' 2. value 디렉토리에 xml 디렉토리 생성 & settings_preference.xml 생성: 이 xml 파일에 추가하고싶은 옵션 항목을 추가한다. 이 화면이 그대로 추가된다. 3. 나는 아직 푸시 알람 on/off 여부만 설정하는 옵션만 사용하기때문에 SwitchPreference 추가[settings_preference.xml] android:key에서 설정한 이름으로 SharedPreference에 저장되어서 이걸 사용할 수 있다나 뭐라나 4. 자바 코드 구현: PreferenceFragment.. 더보기
[Android] ListView in Fragment(프래그먼트에 리스트뷰 구현) 위에서 보이는 것처럼 사용자의 정보가 나오고 밑으로는 다양한 기능을 선택할 수 있는 리스트를 구현하고싶었다. 그런데 이 화면은 메인 액티비티에 속한 4개의 fragment 중 하나이므로, 내가 알고있던 액티비티 내부에 리스트뷰를 구현하는 방법과는 달랐다. 나는 하나의 프래그먼트에 사용자 정보가 담긴 LinearLayout과 기능이 나열된 리스트를 동시에 구현하려고 했는데, 인터넷에 나오는 여러 설명들은 하나의 fragment에 리스트 뷰 달랑 하나만 있는 예제에 대한 것이어서 조금은 헷갈렸지만, 이내 정신을 차리고 응용할 수 있었다. 우선 전체 레이아웃을 RelativeLayout으로 감싸고, 그 안에 2개의 LinearLayout을 넣었다. 하나는 사용자 정보, 하나는 기능을 나열한 리스트 뷰를 담기 .. 더보기
[Android] Adapter 뷰 페이저의 각각 프래그먼트에 적절한 화면을 구성하던 도중, User 프래그먼트에 리스트뷰로 기능을 구현하려고 Adapter를 마주하게 되었다. 더보기
[Android] 첫번째 삽질(부제:눈물의 ViewPager) 어제(30일) 저녁 8시정도부터 우진이와 204호에서 호기롭게 앱 개발(이라고는 아직 미약하지만)을 시작하여 어느덧 하루가 지나 31일 새벽 4시를 지나고있다. 대략적인 UI를 건내받아 그에맞춰 코딩을 시작했다. 오늘 여러 삽질을 참 많이했는데, 군대에 다시 다녀온 것 같았다. 아무튼, 오늘 어떤 삽질을 했는지 생각나는데로 적어봐야겠다. 이미지 버튼이라는게 있다는 것도 몰랐고, 이미지를 배경에 조화롭게 녹아들게 하려면 xml에서 android:background="@null"을 삽입해야 버튼 이미지에 딱 맞게 버튼이 생성된다. Fragment를 만들 땐 빈 생성자를 필수로 만들어주어야한다. 타이틀바(제목) 없애는 법 : style.xml에서 true 삽입 - 하지만 이렇게 되면 모든 액티비티에 적용이 되.. 더보기
[Android] Intro Activity 구현 대부분의 앱이 인트로 화면을 가지고 있다. 그래서 이번엔 앱을 실행시켰을 때 처음에 출력되는 인트로 화면을 구현해보려고 한다! 우선 인트로 화면의 액티비티(.java)와 XML 코드를 작성해야하고 Manifest파일에 액티비티를 추가하며 그 안에 값을 추가해야한다. (메인 액티비티에도 속성(?)이 추가되어있어서 처음에는 인트로 액티비티가 뜨지 않았다. 그래서 보니 메인 액티비티에도 있길래, 지우고 인트로 액티비티에만 추가하니까 실행이 되었다!) 다음으로는 인트로 액티비티(IntroActivity.java)의 코드! HanlderRunnableoverridePendingTransition( , )public void onBackPressed() 더보기
[Android] Handler 앱의 인트로 화면을 구현하기위해 인터넷에 돌아다니는 예제들을 보던 도중, Handler 객체를 생성해서 postDelayed()메소드의 run()메소드를 실행하는 내용이 있었다. 어제는 Inflater 개념을 공부했었는데, 오늘은 Handler를 만났다. 어제 Inflater랑 재밌게 놀았으니까 오늘도 Handler랑 놀아봐야지 ㅎㅎ 인터넷 예제의 설명에 의하면 (출처) "별도 쓰레드로 실행하기 위해 Handler 객체를 생성합니다." 라고 한다. 이것을 이해하려면 우선 쓰레드(Thread)가 무엇인지 짚고 넘어가야할 것 같다. 애플리케이션이 실행되면 시스템은 'main'이라고 불리는 Thread를 한 개 만든다. 이 스레드는 이벤트를 적절한 사용자 인터페이스 위젯에 디스패치(전달?)하는 역할을 한다. .. 더보기
[Android] Inflate, Inflater 리스트 뷰에 뿌려줄 어댑터를 구현하던 도중, 예제에 Inflater가 나왔길래 뭔지 찾아보았다. 검색해보기 전에 내 느낌은 뭐랄까... 뷰 객체를 반환해주는 녀석? 그래서 하스 열람실에서 과도로 달려가서 책을 몇개 빌려보았다. /김지훈,이지훈,이현우,김도균 지음 - 지금까지는 xml에 레이아웃을 선언하는 방법을 배웠다. xml에 레이아웃을 지정하는 방법은 프로그램이 실행되기 이전에 레이아웃을 사전 정의함으로써 간편하고 직관적으로 사용할 수 있었다. 이클립스 IDE의 안드로이드 레이아웃 편집기(Android Layout Editor)를 이용하면 드래그앤드롭 방식으로 화면을 구상할 수 있었다. - 하지만 이러한 방식(= xml 이용)으로는, 조건에 따라 버튼이나 텍스트 뷰를 추가하는 것과 같이 구현상 프로그.. 더보기
[Android] ViewPager 카카오톡의 메뉴 화면처럼 슬라이드로 친구 목록, 카톡방 목록, 등을 넘기는 화면을 만들기 위해, 먼저 화면을 넘길수 있게 해주는 ViewPager를 구현해보려고 한다. 참고 사이트 : http://kitesoft.tistory.com/76? 더보기
[Android] Logcat 작성중인 프로그램에 예기치 못한 오류가 발생했을 때 원인을 파악하는 방법 중 하나가 로그(Log)를 남기는 것이다. 안드로이드는 android.util.Log 클래스를 제공해서 로그를 남기고, 로그캣(LogCat)이라는 화며을 제공해서 로그를 확인한다. 프로그래머가 로그를 남기기 위해 사용하는 메소드는 다음 표와 같다. 하지만 절대적인 기준은 아니며, 프로그래머가 적절한 메소드를 골라 사용해야한다. 메소드 설명 android.util.Log.d("태그", "메세지") Debugging : 디버깅 용도로 남기는 로그 android.util.Log.e("태그", "메세지") Error : 가장 심각한 오류 발생시 남기는 로그 android.util.Log.i("태그", "메세지") Information : .. 더보기
[Android/App Development] 01 /우재남, 박길식 지음 - 408p : 문자메세지 보내기, 지도 열기, 검색하기 인텐트 - 480p : 프로그레스 바(bar) /제이슨 모리스 지음 - 205p : SlidingDrawer /김지훈, 이지훈, 이현우, 김도균 지음 - 408p : Thread- 415p : Handler - 411~413 : Progress Bar 구현 더보기