안드로이드 4대 구성요소 안드로이드 앱을 개발하기 위해서는 안드로이드를 구성하는 요소에 대해서 알아야 합니다. 여러가지 구성요소가 있지만 이중에서도 가장 중요한 안드로이드 4대 구성요소가 있습니다. 액티비티 사용자 인터페이스 화면을 관리하는 구성요소 입니다. 저희가 앱을 실행하면 보이는 화면이 액티비티입니다. 콘텐트 프로바이더 애플리케이션 간의 데이터 공유를 위해 표준화된 인터페이스를 제공하는 구성요소 입니다. 즉 콘텐트 프로바이더는 서로 앱 간의 데이터를 공유하는 것을 도와줍니다. 만약 내 앱에서 ContentProvider 를 구현하면, 다른 앱에서 ContentResolver 을 통해 접근할 수 있습니다. 이 때는 인증을 거쳐야 하며, 자세한 내용은 콘텐트 프로바이더에 대한 포스팅에서 다뤄보도록 하..
분류 전체보기
안드로이드 우리가 사용하는 스마트폰을 편하고 쉽게 사용할 수 있도록 해주는 모바일 운영체제 입니다. 안드로이드는 리눅스 커널기반으로 제작한 보아리 운영체제와 미들웨어 그리고 각종 애플리케이션을 포함한 소프트웨어 집합을 지칭하는 용어입니다. 이 안드로이드 운영체제는 GPL (General Public License) 라이선스를 따르고 있습니다. 안드로이드 구조 가장 기초가되는 리눅스커널 위에 안드로이드를 위한 각종 라이브러리와 안드로이드를 실행하기 위한 런타임이 존재합니다. 그리고 이러한 라이브러리를 기반으로 만들어진 애플리케이션 프레임워크가 있습니다. 애플리케이션 프레임워크를 사용하여 앱을 만들수 있습니다. 결과적으로 앱을 개발한다는 것은 애플리케이션 프레임워크가 제공하는 기능을 사용해야 합니다. 안드로..
데이터베이스 테이블들을 저장할 수 있는 집합체를 의미합니다. 데이터베이스 생성 방법 "파일그룹 / 논리적 파일명 / 물리적 파일명 / 파일사이즈 / 최대파일사이즈 / 파일사이즈만큼 데이터가 늘었을 때 파일사이즈의 증가량"으로 구성됩니다. 하나의 파일그룹은 여러개의 논리적파일을 가질 수 있습니다. DEFAULT 가 붙은 파일그룹은 테이블이 생성될 때 기본으로 지정되는 파일그룹을 의미합니다. 1 2 3 4 5 6 7 8 9 10 CREATE DATABASE [Sample] ON PRIMARY ( NAME = N'Sample', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL15.MSSQLSERVER\MSSQL\DATA\Sample.mdf' , SIZE =..
인덱스란 테이블에 있는 데이터를 빠르게 검색하기 위해 생성되는 객체입니다. 예를 들어 1억건이 들어있는 테이블에서 A 라는 key 를 찾기 위해서는 1억건을 모두 조회해야 합니다. 그러나 인덱스가 있는 경우에는 b-tree 기법을 사용하여 A key 를 더 빠르게 찾을 수 있습니다. 인덱스를 생성하는 방법 인덱스는 테이블을 생성할 때 묶어서도 생성할 수 있지만 여기에서는 인덱스만을 생성하는 방법을 다룹니다. 인덱스는 여러 종류가 있습니다. Primary, Unique, Normal 방식이 있으며 Clustered 와 Non-Clustered 로 나뉩니다. 이 포스팅에서는 위의 개념들을 다루지는 않겠습니다. 인덱스는 테이블을 기반으로 생성하기 때문에, 아래와 같은 테이블이 있는 상태에서 진행합니다. 1 C..
래퍼 클래스 ( Wrapper Class ) 기본타입에 해당하는 데이터를 객체로 포장해 주는 클래스를 래퍼클래스 ( Wrapper Class ) 라고 합니다. 래퍼클래스는 인스턴스에 저장된 값을 변경할 수 없으며, 값을 참조하기 위해 새로운인스턴스를 생성하고 생성된 인스턴스의 값을 참조만 할 수 있습니다. 래퍼 클래스는 java.lang 패키지에 포함되어 제공됩니다. java.lang 패키지는 자바 프로그래밍에 필요한 가장 기본 클래스를 모아놓은 패키지 이므로 Wrapper 를 사용하기 위해 추가로 해야하는 작업은 없습니다. 기본타입 & 래퍼 클래스 (객체) 기본 타입 래퍼 클래스 (객체) byte Byte short Short int Integer long Long float Float double D..
재귀호출 재귀호출이란 함수 내부에서 해당 함수가 다시 호출되는 것을 의미합니다. 이러한 호출은 자기자신을 계속호출하기 때문에 끝없이 반복될 수 있으며 반드시 재귀호출을 중단하도록 조건 명령문을 반드시 포함해야 합니다. 사실 재귀호출은 자바만의 개념이라기 보다는 알고리즘에서 중요한 개념입니다. 즉, C 언어 JAVA 언어 가릴거 없이 모두 구현이 가능합니다. 재귀호출 팩토리얼 예제 1부터 10까지 곱하는 프로그램을 만든다고 가정해 봅니다. 먼저 1부터 10까지의 곱은 1에서 9까지의 곱의 곱하기 10 입니다. 다음 1부터 9까지의 곱은 1부터 8까지의 곱의 곱하기 9 입니다. 다음 1부터 8까지의 곱은 1부터 7까지의 곱의 곱하기 8 입니다. .... 다음 1부터 2까지의 곱은 1부터 1까지의 곱의 곱하기..
자바 타입변환이란 하나의 타입이 다른 타입으로 변경되는 것을 타입변환 이라고 합니다. 형변환 혹은 타입변환으로 불립니다. 암시적 형변환 혹은 암시적 타입변환 = 묵시적 형변환 혹은 묵시적 타입변환 명시적 형변환 혹은 명시적 타입변환 타입변환 방법 자바에서 다른 타입끼리의 연산은 모두 같은 타입으로 만든 후에 수행하게 됩니다. 또한 작은 타입에서 큰 타입으로의 변환은 가능하나, 큰 타입에서 작은 타입으로 변환은 불가능 합니다. 이유는 double 형을 int 형에 표현하려고 하면서 데이터의 손실이 발생하기 때문에 컴파일러에서 오류를 발생하게 되는 것입니다. 1 2 3 4 5 6 7 8 9 10 11 public class Test { public static void main(String[] args) {..
PostgreSQL 에서 접속을 관리하는 방법 PostgreSQL 은 postgresql.conf 파일과 pg_hba.conf 파일을 통해 특정 서버에서 특정 사용자에만 접속이 가능하도록 제한할 수 있습니다. 이 오류는 pg_hba.conf 파일에 인증이 적용되어 있지 않기 때문입니다. FATAL: no pg_hba.conf entry for host "192.168.56.103", user "postgres", database "postgres", SSL off error 치명적오류: 호스트 "192.168.56.103", 사용자 "postgres", 데이터베이스 "postgres", SSL 중지 연결에 대한 설정이 pg_hba.conf 파일에 없습니다. 위와같은 오류가 발생하는 원인 pg_hba.co..
PostgreSQL 에서 접속을 관리하는 방법 PostgreSQL 은 postgresql.conf 파일과 pg_hba.conf 파일을 통해 특정 서버에서 특정 사용자에만 접속이 가능하도록 제한할 수 있습니다. 이 오류는 대부분 외부서버에서 PostgreSQL 서버로 접속하려는 경우에 발생합니다. Connection to 192.168.56.101:5432 refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections. 위와같은 오류가 발생하는 원인 postgresql.conf 파일의 LISTEN_ADDRESSES 파라미터 postgresql.conf 파일의 'CONNECT..
자바와 PostgreSQL 연결하는 방법 (with 이클립스) 자바에서는 JDBC 를 이용하여 Database 와 통신을 할 수 있습니다. 이 JDBC 는 벤더사 별로 지원하고 있고, PostgreSQL 또한 JDBC 를 이용하여 자바와 통신할 수 있도록 제공합니다. 이클립스에서 이 PostgreSQL 전용 JDBC jar 파일을 등록하여 PostgreSQL 과 연동해보도록 하겠습니다. 1. JDBC Driver for PostgreSQL 다운로드 jdbc.postgresql.org/download.html PostgreSQL JDBC Download Download About Binary JAR file downloads of the JDBC driver are available here and the..