안드로이드
-
[Kotlin - Basic Types] StringsSoftware/Kotlin : 코틀린 2019. 12. 20. 01:49
Strings String은 변경불가성(Immutable)으로 String의 요소는 indexing operation : s[i]로 접근 가능한 characters 이다. String은 for-loop를 통해 반복될 수 있다. for (c in str) { println(c) }+ 연산자를 통해 strings에 값을 더 붙일 수 있는데 만약 표현식에서 뒤에 붙는 값이 String이 아닌 다른 자료형일지라도 만약 앞에 값이 String인 경우 해당 연산의 값은 String이 된다. val s = "abc" + 1 println(s + "def")String literals 코틀린은 두 가지 타입의 String literals를 가지고 있다. : Escaped string은 newlines와 arbitary..
-
[Kotlin - Basic Types] Character, Booleans, ArraysSoftware/Kotlin : 코틀린 2019. 12. 17. 00:23
Characters Characters는 Char 자료형으로 표현된다. Characters는 숫자로 직접 취급될 수 없다. fun check(c: Char) { if (c == 1) { // ERROR: incompatible types // ... } }여기서 Characters는 문자 그대로 '1'을 의미한다. 만약 특수 문자의 경우 ''을 사용해서 나타낼 수 있다. (\t, \b, \n, \r, ', ", \ and $) 다른 문자 인코딩을 위해서는 Unicode의 escape 시퀀스 구문을 사용해야 한다: 'uFF00' Booleans Booleans는 "true" 와 "false" 두 가지 값만 가지며 booleans로 표시한다. 아래와 같은 내..
-
[Kotlin - Basic Types] NumbersSoftware/Kotlin : 코틀린 2019. 12. 9. 23:03
숫자 정수형 코틀린은 숫자들을 표현할 수 있는 자료형들을 기본적으로 제공한다. 그 중 정수 표현을 위한 자료형으로 4가지의 기본 자료형을 제공하고 있는데 이 4가지 자료형들은 각각 다른 크기와 값 범위를 가진다. Type Size(bits) Min value Max value Byte 8 -128 127 Short 16 -32768 32767 Int 32 -2,147,483,648 (-231) 2,147,483,647 (231 - 1) Long 64 -9,223,372,036,854,775,808 (-263) 9,223,372,036,854,775,807 (263 - 1) 모든 정수형들은 정수 값으로 초기화되며 그 값은 Int의 최대값 보다 크지 않는다. 만약 초기값이 이 값보다 크다면 해당 자료형은 L..
-
[Java 8] Android Studio 3.x와 Java 8Software/Android : 안드로이드 2019. 3. 12. 01:01
Android Studio 3.0 버전이 2017년 10월에 정식 배포된 지 벌써 1년이 훌쩍 지났다.당시 Android Studio 3.0에 새롭게 탑재된 신규 기능들 (Android Profiler 나 APK Profiling and debugging)과 Kotlin을 정식 지원 등 많은 변화가 있었지만 그 중 많은 안드로이드 개발자들의 관심을 받은 것은 Java 8 기능과 라이브러리들에 대한 지원이었다. 구글이 Kotlin을 안드로이그 공식 개발 언어로 지정한 것이 꽤나 신선한 충격이었지만 기존의 Java를 사용해 오던 안드로이드 개발자들에게 있어서는 Kotlin보다 Java 8에 대한 지원이 더욱 반가운 소식이었을 것이다. 그래서 이번 포스팅에서는 Android Studio 3.0이상 버전부터 지..
-
[ImageView] ScaleType: Matrix (예제)Software/Android : 안드로이드 2018. 8. 20. 23:41
예제: 이제 실제 코드를 통해서 Matrix의 Scalling, Rotation, Translation 등을 살펴보도록 하자. 예제에 앞서 일반적으로 Scaling -> Rotation -> Translation 순으로 연산 한다는 것을 기억하자. 연산의 순서가 달라지면 실제 연산 결과 값이 달라 질수 있기에 연산 순서에 꼭 신경 쓰도록 하자. 목표 300 * 200 이미지를 3배로 Scaling하고 90도로 회전 시킨 후 Center crop하여 500 * 500 ImageView에 보이도록 한다. scaleType 설정 Layout xml에서 ImageView에서 scaleType을 matrix로 설정. 이 경우 ImageView의 사이즈 보다 Image의 사이즈가 작기 때문에 ImageView의 하..
-
[ImageView] ScaleType: Matrix (행렬)Software/Android : 안드로이드 2018. 8. 14. 01:25
Android에서 ImageView는 해당 View의 이미지가 어떤 형태로 어떻게 배치될 것인 지를 ScaleType을 통해 설정할 수 있다. ScaleType은 아래와 같이 총 8가지가 있고 xml의 "scaleType" attribute로 설정하거나 Code level에서 ImageView의 setScaleType(ImageView.ScaleType scaleType)을 통해 설정 가능 하다. ImageView.ScaleType Values CENTER Center the image in the view, but perform no scaling. CENTER_CROP Scale the image uniformly (maintain the image's aspect ratio) so that both..
-
[SQLite] 동적 자료형 (Dynamic Datatype)Software/SQLite 2018. 5. 20. 20:42
보통 대부분의 테이블 컬럼은 특정 자료형만 저장할 수 있는 정적 자료형(Static datatype)을 사용한다. 즉 Integer 타입으로 선언된 컬럼은 Integer 값만 저장할 수 있고 Float 타입의 값은 저장할 수 없다는 것이다. 그러나 SQLite3에서는 일반적인 다른 DBMS와는 달리 동적 자료형(Dynamic datatype)을 지원하고 있다. SQLite3에서는 테이블을 생성할 때 이전에 했던 것 같이 컬럼의 자료형을 명시하지 않아도 된다. sqlite> CREATE TABLE tblDynamic (id, value); sqlite> INSERT INTO tblDynamic VALUES (1, 'Test'); sqlite> INSERT INTO tblDynamic VALUES ('ind..
-
[SQLite] 트리거 (TRIGGER)Software/SQLite 2018. 4. 16. 00:40
1. 트리거 생성 : 특정 테이블이나 뷰에 INSERT, DELETE, UPDATE와 같은 데이터 변경/조작 같은 동작이 일어 났을 때 미리 지정해둔 동작이 수행되도록 하는 것을 말한다. 사용 방법은 아래와 같다. CREATE TRIGGER [트리거 명] [동작 시점] [SQL 연산] ON [테이블 명] BEGIN [수행 할 SQL 문] END; 먼저 CREATE TRIGGER 키워드 이후 생성하고자 하는 트리거 이름을 지정하게 되는 데 이 트리거 이름은 해당 데이터베이스 내 유일한 값을 가져야 한다. 그 다음에는 이 트리거가 동작할 시점과 SQL 연산, 그리고 동작이 이루어 질 테이블 명을 정의하는데 트리거 동작 시점 옵션은 아래 표를 참고하면 된다. 키워드 의미 BEFORE 대상 테이블의 INSERT..