본문 바로가기

Programming42

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.
6장.사용자 이벤트 처리 사용자 이벤트 모델 delegation(뷰 이벤트) vs hierarchy(액티비티 사용자 터치, 키) 델리게이션 이벤트 모델 (delegation event model) -이벤트 소스(재정의 된 이벤트) --리스너 함수--이벤트 핸들러 클래스 -각각의 이벤트(박스체크, 버튼 클릭 등)에 이벤트 핸들러를 할당하기 위함 ->어느 객체 이벤트인지 명료 ex) button1.setOnClickListener( new View.OnClickListener() { onClick 재정의 } ); 이벤트 핸들러(익명 클래스)를 리스너(setOnClickListener)로 객체(button1)에 연결한다. 하이어라키 이벤트 모델 (hierarchy event model) -키 이벤트, 화면 터치 이벤트 // 대부분 d.. 2020. 5. 29.