android studio
Android # SharedPreferences
SharedPreference app의 간단한 설정 정보들을 저장하기 위해서 안드로이드에서는 SharedPreferences class를 제공한다. 파일시스템 기반으로서 XML 형태로 저장이 되며, SQLite를 사용하기에 부담스러운 것들을 저장하기에는 유용하다. 저장되는 값은 name,value 구조의 쌍으로 저장한다. 설정 파일은 data/data/패키지 이름/shared_prefs/ 의 경로에 고정되어 저장된다. 일반적으로는 실행하는 앱에서만 사용가능하지만, 파일 모드를 변경하여 다른 앱에서도 사용은 가능하긴 하다. 1. 설정 값 저장하기 12345SharedPreferences prefs = getSharedPreferences( (Stirng)Preferences_name , MODE_PRIVA..
Android # Notification
Notification 알람(Notification)은 화면 상단에 정보를 표시하여 사용자가 알 수 있도록 한다. 이 알림 기능은 주로 다른 사람에게서 메시지를 받았을 때나, 단말의 상태, 특정 앱의 상태변화 등의 목적으로 사용된다. 알림은 NotificationManager 시스템 서비스를 이용해 화면 상단에 띄울 수 있다. 알림을 띄우려면 Notification 객체를 만들어야 하는데, 이 객체는 NotificationCompat.Builder 객체를 이용해서 만든다. Example Notification을 발생시키는 버튼을 만들고, 버튼을 터치할 때마다 터치 횟수를 증가시키는 변수(count)를 만든다. 최종적으로 Notification에 의해서 전달되는 값은 마지막에 전달한 값이 되는 걸 확인하기..
Android # 진동과 소리 울리기
진동과 소리 울리기 진동(Vibrate) 진동은 얼마동안 울리도록 할 것인지 지정할 수 있으며, Vibrator라는 시스템 서비스 객체를 사용한다. Vibrator에는 vibrate라는 이름의 메서ㅓ드가 있어 진동이 울리는 패턴이나 시간을 지정할 수 있다. vibrate() 메서드의 파라미터로 long자료형의 값이 전달된다. 이 값은 시간을 의미하며 진동을 얼마나 지속시킬 것인지 지정한다. 그런데, 이 long 자료형의 값을 전달하는 vibrate()메서드가 버전에 따라 달라지게 되었다. 다음 포스팅을 참고. https://philipbox.tistory.com/69 소리 Ringtone 객체의 play() 메서드를 호출하면 소리가 울린다. API에서 제공하는 소리가 아닌, 다른 음원 파일을 재생시킬 수..
Android # 진동(Vibrate) method 버전확인 후 적용시키기
진동(Vibrate) method 버전확인 후 적용시키기 vibrate() 메서드는 안드로이드 버전 26부터 VibrationEffect를 파라미터로 전달하는 메서드로 변경되었다. 따라서, 이 변경된 내용을 반영하기 위해서는 Build.VERSION.SDK_INT 상수를 이용해 현재 단말의 버전을 체크하는 과정이 필요하다.
Android # baseline(view)
baseline 뷰 속성의 baseline이 적용되는 것을 확인해 볼 것이다. [baseline.xml] 1234567891011121314151617181920212223242526272829303132 Colored by Color Scriptercs 이렇게 속성을 수정하면 각각의 뷰에 들어 있는 텍스트의 아래쪽에 바닥면이 똑같이 맞춰진다. 이것은 baselineAligned의 디폴트 값이 true이기 때문이다. 다음은 baselineAligned의 값을 false로 바꿔본 결과이다. baselineAligned의 속성은 LinearLayout에서 지정한다. (아래 코드 7번줄) [baseline.xml] 12345678910111213141516171819 ... Colored by Color Sc..
Android # gravity 속성들
Gravity 속성 정렬 속성 값 설 명 top 대상 객체를 위쪽 끝에 배치하기 bottom 대상 객체를 아래쪽 끝에 배치하기 left 대상 객체를 왼쪽 끝에 배치하기 right 대상 객체를 오른쪽 끝에 배치하기 center_vertical 대상 객체를 수직 방향의 중앙에 배치하기 center_horizontal 대상 객체를 수평 방향의 중앙에 배치하기 fill_vertical 대상 객체를 수직 방향으로 여유 공간만큼 확대하여 채우기 fill_horizontal 대상 객체를 수평 방향으로 여유 공간만큼 확대하여 채우기 center 대상 객체를 수직 방향과 수평 방향의 중앙에 배치하기 fill 대상 객체를 수직 방향과 수평 방향으로 여유 공간만큼 확대하여 채우기 clip_vertical 대상 객체의 상하 ..
Android # layout_gravity 와 gravity
layout_gravity와 gravity 정렬 속성 설 명 layout_gravity 부모 컨테이너의 여유 공간에 뷰가 모두 채워지지 않아 여유 공간이 생겼을 때 여유 공간 안에서 뷰를 정렬함 gravity 뷰 안에 표시하는 내용물을 정렬함(텍스트 뷰의 경우 내용물은 글자, 이미지뷰의 경우 내용물은 이미지) [gravity.xml] 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 Colored by Color Scripter cs 위의 버튼 3개는 layout_gravi..
Android # Linear Layout
Linear Layout 한 방향으로만 뷰를 쌓음. 방향(orientation)이 필수 속성. (horizontal / vertical). 가로(horizontal) : 위젯(widget)이 가로로 쌓인다. 세로(vertical) : 위젯(widget)이 세로로 쌓인다. 뷰 속성값을 잘 확인하자(match_parent/wrap_content)