Intent란 무엇인가?

Intent는 안드로이드 앱 내부 혹은 외부 컴포넌트간의 호출및 정보 전달을 하는 역할을 합니다. 앱 구성요소(컴포넌트) * Activity * Service * BroadCast Receiver * Content Provider 앱의 구성요소는 위의 4가지 이며 해당 구성요소간의 호출및 정보를 전달하는데 사용하는 것이 Intent 입니다. 명시적 인텐트와 암시적 인텐트 2가지로 분류 할수 있습니다. 1. 명시적인텐트 - 호출할 대상을 지정 하여 사용 Intent intent = new Intent(context, CallActivity.class) ; startActivity(intent) ; 다른 Acitivity를 시작 하는 소스입니다. 시작할 Acitivity를 지정하여 Intent를 생성 하여 사용합니다. Intent intent = new Intent(context, MyService.class) ; startService(intent) ; 로컬서비스를 시작하는 소스입니다. (참고로 원격서비스는 바인딩하는 방식으로 구현됩니다.) Acitivity 시작하는 것과 크게 다르지 않게 Service를 지정하여 Intent를 생성하여 사용 하는 것을 알수있습니다. 2. 암시적인텐트  - 컴포넌트외의 속성(컴포넌트를 지정하면 명시적 인텐트가 된다)들로 구성하여 속성에 부합하는 컴포넌트를 실행 Intent intent = new Intent( "android.intent.action.CALL" , Uri.parse(tel)) ; startActivity(intent) ; 전화걸기를 요청 하는 소스입니다. Action값을 android.intent.action.CALL을 지정해서 Acitivity를 실행하면 디바이스내에 해당 Action값 속성을 가지고 있는 Activity를 선택할수 있는 창이 노출 됩니다. 위에 보이는 소스는

AWS RDS parameter group을 이용해 character-set 변경(utf8), 타임존 변경하기

이미지
지난 포스팅에선 AWS RDS 파라미터 그룹을 생성하고 function을 생성할 수 있는 권한을 만들기 위해서 log_bin_trust_function_creators 변수를 변경해주었습니다. 이번 포스팅에선 지난 포스팅에서 생성한 파라미터 그룹을 이용하여 character-set , 타임존을 변경해보겠습니다. 우선 RDS 대시보드 콘솔로 이동합니다. 왼쪽 메뉴의 파라미터 그룹으로 이동합니다. 지난 포스팅에서 생성한 my-parameter-group 이 있습니다. 선택하시고 파라미터 편집으로 이동합니다. 필터에 character_set 으로 검색하면 6개의 항목이 나오는데 값 편집으로 모두 utf8로 변경합니다. character_set_client : utf8 character_set_connection :  utf8   character_set_database :  utf8 character_set_filesystem :  utf8 character_set_results :  utf8 character_set_server :  outfit 그 다음으로, collation으로 검색을 하면 두가지 항목이 나오는데 utf8_unicode_ci로 변경합니다. collation_connection :  utf8_unicode_ci collation_server : utf8_unicode_ci 여기까지 수정하셨다면, 데이터베이스의 utf8 설정이 완료 된 상태입니다. 이제 timezone을 설정해보겠습니다. MySQL Workbench에서 해당 RDS에 접속하고 한글화 설정을 위한 프로시져를 등록합니다. DELIMITER | CREATE PROCEDURE '설치한 DB명' . `store_time_zone` () IF NOT (POSITION( 'rdsadmin@' IN CURRENT_USER ()) = 1 ) THEN SET SESSION

github X jenkins (CI: Continuous Integration) 구성하기 with private Repository #1 - github ssh 접속

이미지
private Repository 는 일반적으로 개인적인 프로젝트가 아닌 회사에서 product 를 할 경우에 많이 이용하는데요, 일반적으로 github public Repository로 CI를 구성하는 방법은 많이 있지만 private Repository는 처음에 구축할 경우 permission 및 권한 문제로 난관에 봉착하는 경우가 많습니다.  private Repository 를 가지고 github와 jenkins을 가지고 CI 환경을 설명하도록 하겠습니다. * github와 jenkins을 가지고 CI 환경이란??? github 에서 소스 변경사항을 push하면 자동으로 jenkins에서 빌드가 되는 환경을 말합니다.  github와 jenkins을 가지고 CI 환경구성하기 위해  아래의 단계로 설정하면 됩니다. # 구성순서 1. SSH 공개키 만들기 2. github에 공개키 등록 3. github ssh 접속 테스트 4. jenkins plugin 설치 5. jenkins에 github 서버 등록 6. jenkins 프로젝트 구성 7. github 프로젝트에 jenkins서비스등록 8. 빌드확인(프로젝트 push후 자동 빌드 확인) 위의 순서로 구성하면 되지만 , 여기서는 3번까지 구성하여 github ssh 접속 구성을 진행하겠습니다. 1. SSH 공개키 만들기  github 원격 git 레파지토리에 접속하기 위해 SSH 공객키 인증으로 접속해야 합니다. 모든 운영체제에서공개키를 만드는 방법은 비슷합니다. 공개키 생성하는 방법 1) 터미널을 열고 2) github 계정의 이메일을 주소를 입력하여 공개키를 생성합니다.  3) "Enter a file in which to save the key," 메시지가 나오면 엔터를 입력 합니다.  4) 인증서 암호화를 위해 key를 입력하고 , 다시한번 입력하여 확인합니다.  5) 그러면 (사용자홈디렉토