본문 바로가기

Programming/Android12

12장.ActionBar와 메뉴 ActionBar : 액티비티의 기본 구성요소, default로는 타이틀 문자열이 출력되어 title bar로 보인다. -액티비티의 출력 창 => Window = Content(레이아웃 출력) + ActionBar(Window 상단) -액션바를 개발자가 수정할 수 있다 ( App Icon, View Control, Action Button, Overflow Menu) -ActionBar를 테마 지정으로 안 보이게도 가능 (res/values/styles.xml에서 windows no title~) -ActionBar를 Content에 투명하게 덮는 것 가능 (windowActionBarOverlay 속성 style에 추가) -setDisplayHomeAsUpEnabled를 통해 ActionBar에 뒤로가.. 2020. 7. 23.
11장.다양한 뷰 활용 라이브러리의 다양한 뷰 Spannable : 뷰는 아니고 문자열 데이터의 UI정보 -안드로이드의 문자열 데이터는 String 보다 상위인 CharSequence 타입이다, UI 정보까지 포함하기 위함(Spannable) -문자열에 왜 UI정보까지 필요하냐? XML로 세부 설정이 불가능 ex) 앞글자만 폰트를 바꾼다던가.. -여러 뷰로 짬뽕을 안 해도 spannable 속성을 만지면 세부 설정이 가능 -사용법 1. xml 설정 // 기본적으로 normal임 // 기본적으로 editable인데 spannable 내장함. 2. String을 SpannableStringBuilder 타입으로 표현 후 setSpan으로 spannable 속성 설정 String data = "복수초 \n img \n 이른봄 설산에.. 2020. 6. 1.
10장.AdapterView 활용 -Adapter와 AdapterView -AdapterView : 항목을 나열하는 뷰, 하나의 뷰에 여러 데이터를 나열하고 그 중 하나를 사용자에게 선택받는 뷰 ex) ListView, GridView, Spinner 등이 AdapterView를 상속받아 작성된다. -액티비티는 button과 같은 뷰를 직접 출력할 수 있지만 AdapterView는 직접 출력하지 못한다. Adapter를 이용한다. -Adapter : AdapterView를 만들어주는 클래스 ex)ArrayAdapter, SimpleAdapter, CursorAdapter, Custom Adapter 등 -ArrayAdapter : 각 항목에 문자열 데이터를 순서대로 하나씩 나열할 때 사용 ex) 원기날씨 지역선택 목록 ex) ListVi.. 2020. 5. 31.
9장.파일 및 SharedPreferences을 이용한 데이터 영속화 퍼미션 : 자신의 앱을 외부에서 이용할 때 권한을 부여하여 해당 권한을 가지고 들어올 때만 실행되게 하기 위한 설정이다. 보호하려면 permission 걸고, use-permission 물어보게 하기. -AndroidManifest에서 permission을 걸 수 있다. -permission 레벨을 4단계로 설정할 수 있다. -android 6.0 이상부터 권한을 부여할 것인지 물어본다(거부 가능, 이전엔 거부 안 되고 통보) -앱 간 활동이 아닌, 시스템 차원에서 선언한 permission도 존재. 해당 기능을 위해 use-permission 이용 필수 ex) 외부 저장 공간의 파일의 IO // 2020. 5. 30.
8장.DBMS를 이용한 데이터 영속화 *데이터의 영구적 지속 SQLite -네트워크 상태가 아닐 때 stand-alone으로 데이터를 다룰 수 있는 안드로이드 내장 DBMS -SQLiteDatabase클래스의 함수를 이용 1. SQLiteDatabase db = openOrCreateDatabase("이름", MODE_PRIVATE, null); 2. db.execSQL(String) : insert, update가 아닌 SQL문 db.rawQuery(String, String[], Object[]) : select문 // 반환값이 Cursor 클래스 (row의 집합 객체) ex) Cursor cursor = db.rawQuery(~, null); while (cursor.moveToNext() ) { ~.cursor.getString(0).. 2020. 5. 29.
7장.리소스 활용 및 스마트폰 크기 호환성 리소스 종류 - drawble, layout, values, xml, anim, mipmap 등 *values : string, colors, styles, arrays, dimens 고정 -styles -> 테마 설정 기능 ex) 상단 바 제거 스마트폰 크기 호환성 -리소스 폴더명 조건으로 스마트폰마다 호환이 되게 할 수 있다. ex) mipmap -> ic_launcher -> ic_launcher.png(hdpi)(mdpi) 등, R.java에는 하나만 등록된다. ex) string -> locale(ko)(en) -displaymetrics ->layout 상에서 크기를 dp로 각각 설정하여 호환성 맞춘다. 자바 코드는 px단위만 사용하는데 Displaymetrics 클래스에서 getDimensi.. 2020. 5. 29.