전체 글 (63) 썸네일형 리스트형 안드로이드 App의 Theme 변경 1. colors.xml 파일에 필요한 색상을 설정 2. themes.xml 파일에 style 을 생성 예전에는 style.xml 3. AndroidManifest.xml 파일에서 Activity 단위로 테마를 적용 액션 바에 보이는 텍스트 변경 strings.xml 파일에 app_name 이라는 속성에 문자열이 설정되어 있고 AndroidManifest.xml 파일의 label 속성에 app_name이 설정 되어 있습니다. strings.xml 로또 지역화 언어나 국가 설정에 따라 UI 가 다르게 보여지는 것 언어2자리_국가2자리로 디렉토리를 생성해서 동일한 이름의 자원을 생성해주면 됩니다. 영어를 기본으로 하고 다른 나라나 언어를 서브로 지원 텍스트를 지역화 strings.x.. 안드로이드 : 목록 대화 상자 목록 대화 상자 1개 선택: setSingleChoiceItems(문자열 배열이나 배열 ID, 초기 선택할 인덱스, DialogInterface.OnclickListener) 문자열 배열이나 배열 ID 대신에 ListAdapter(배열) 나 Cursor(데이터 베이스 select 구문 결과) 설정 가능 다중 선택 : setMultiChoiceItems(문자열 배열이나 배열 ID, 항목 개수만큼의 Boolean 배열, DialogInterface.OnClickListener) 위와 비슷한 용도로 Spinner 라는 Adapter View 를 사용할 수 있습니다. 문자열 배열 사용 values 디렉토리에 array.xml 파일을 만들고 작성 layout 파일에 만든 UI 를 코드화하기 View.inflate.. 안드로이드 : 대화 상자 대화 상자 - AlertDialog 문자열 메시지 뿐 아니라 타이틀 바나 아이콘 출력이 가능하고 사용자의 입력도 받을 수 있습니다. 생성은 생성자를 이용하지 않고 Builder 라는 내부 클래스를 이용 Builder 에 Context 를 대입해서 생성을 하고 setMessage, SetTiltle, setIcon 등의 메소드로 대화상자를 설정 하고 show 호출 하면 출력 대화 상자에 버튼을 추가할 수 있습니다. setPositiveButton, setNeutralButton, setNegativeButton 메소드를 이용해서 추가 매개 변수는 첫번째는 버튼의 타이틀이고 두번째는 버튼을 눌렀을 때 이벤트 처리를 위한 DialogInterface.OnClickListener 입니다. 기본적으로 버튼을 누르.. 안드로이드 : 진동과 사운드 진동 진동을 위한 인스턴스 생성 val vib = getSystemServive (Context.VIBRATOR_SERVICE) as Vibrator 안드로이드 누가 버전 (N_MR1) 이후 vib.vibrate(VibrationEffect.createOneShot(시간, 효과)) 안드로이드 누가 버전 까지 vib.vibrate(밀리초 단위의 정수) 진동은 권한이 있어야 수행됩니다. 권한 설정은 AndroidManifest.xml 파일의 application 태그 외부에서 설정 사운드 재생 시스템이 제공하는 사운드 - RingTone 음악 파일 재생 MediaPlayer 클래스 사운드 파일이나 동영상 파일의 경우는 사이즈가 커서 리소스로 관리하기에는 부담이 됩니다. 이런 파일들은 assets라는 디렉토리.. 안드로이드 : 버전 별 다른 코드 작성 안드로이드에서 버전 별 다른 코드 작성 현재 버전을 정수로 가져오기 : Build.VERSION.SDK_INT 안드로이드 각 버전을 정수로 나타내기 : Build.VERSION.CODES.글자 import android.os.Build import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.os.CountDownTimer import android.view.View import android.widget.Button import android.widget.Toast import kotlinx.android.synthetic.main.activity_main2.* class MainActivity2 : A.. 안드로이드 : GUI 시스템에서 UI 갱신과 Logcat GUI 시스템에서 UI 갱신 GUI 시스템에서는 main thread 만 UI 갱신이 가능 하나의 메소드 안에서 UI 를 갱신하는 코드와 다른 코드가 같이 존재하면 UI 를 갱신하는 코드는 비동기적으로 동작합니다. 비동기: 현재 작업을 처리하는 도중에 다른 작업을 처리할 수 있는 방식 하나의 메소드 안에 UI 를 갱신 하는 코드가 여러개 존재하면 모아서 한꺼번에 처리합니다. Logcat 안드로이드에서 로그를 출력하고자 할 때 System.out.print 나 print 를 사용 할 수 없습니다. import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.view.V.. 안드로이드 : 레이아웃과 이벤트 처리 FrameLayout 무조건 왼쪽 상단을 기준으로 배치하는 레이아웃 자식뷰를 2개 이상 배치하게 되면 겹쳐서 출력됩니다. -> 동적으로 visivility 속성을 수정해서 보이게 하고 안보이게 하고 해서 출력 -> addView(View view), removeView를 이용해서 뷰를 추가하거나 삭제하는 형태로 사용 ConstraintLayout 다른 뷰나 Parent를 기준으로 뷰를 배치하는 기법 bias 속성을 이용해서 비율을 설정 가능 margin을 이용해서 다른 뷰와의 간격 설정 가능 ratio를 이용해서 자신의 너비와 높이를 비율로 설정하는 것도 가능 AbsoluteLayout 왼쪽 상단을 기준으로 좌표를 설정해서 배치하는 레이아웃 > deprecated ScrollView GUI 시스템에서는 .. 안드로이드 : 화면 출력 안드로이드에서 화면 출력을 위한 단위 Activity Activity 위에 View를 배치해서 출력 Activity Class 의 onCreate 메소드에서 setContentView(int resId 또는 View view)를 호출하면 됩니다. resId 는 리소스 아이디의 줄임말인데 res 디렉토리에 자원을 생성하면 안드로이드가 R.java라는 파일을 만들고 그 파일에 id를 생성해서 연결한 것입니다. R. 으로 시작하는 ID는 프로젝트에 삽입한 자원이고 android.R. 으로 시작하는 ID는 안드로이드가 제공하는 자원입니다. - View 를 대입하고자 하는 경우는 코드로 생성해서 대입해야합니다. 6.0 이상 동적 권한: 앱에서 권한 부여가 안되서 쓰지 못할 수 있으니 6.0 이상으로 잡아야한다. .. 이전 1 2 3 4 5 ··· 8 다음