2019. 10. 30. 08:47

안드로이드의 4대 구성 요소


- 액티비티 (Activity)

- 서비스 (Service)

- 방송 수신자 (Broadcase Receiver)

- 콘텐츠 제공자 (Content Provider)


이외의 구성요소


- 인텐트 (Intent)

- 뷰 (View)

- 프래그먼트 (Fragment)


* 액티비티

- 사용자가 바라보는 인터페이스 화면을 가지고 있는 요소

- activity_main.xml 과 같은 레이아웃 파일로 구성

- 실제 애플리케이션의 동작을 구현하는 코드가 필요

- 사용자의 이벤트를 처리하고 UI를 갱신


* 액티비티 생명 주기


- onCreate()

- onStart()

- onResume()

- onPause()

- onStop()

- onRestart()

- onDestory()

- onSaveInstanceState() : 

- onRestoreInstanceState()


- onAttach() : 액티비티에 프래그먼트 추가

- onDetach() : 액티비티에 프래그먼트 제거

- onCreateView() : UI를 구성하는 View를 반환

- onActivityCreated() : 완전하게 UI가 구성된 다음에 나머지 동작 코드














2019. 9. 24. 19:44

Windows 10에서 Service Manager Control을 열 수 없을 때가 있다


Windows 10 자체 버그라고 한다


해결 방법은 레지스트리 편집기에서 다음 값을 수정한다


HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\OneSyncSvc


에서 Start 값을 2에서 4로 변경하면 된다

2019. 9. 18. 16:26


const int MAX_PATH(260);

char szPath[MAX_PATH];

GetCurrentDirectory(MAX_PATH, szPath);

2019. 9. 18. 11:39


Console 에서 MFC를 사용할 때 다음 헤더 파일을 포함해야 한다


#include <afxext.h>


Console 에서 MFC 함수를 사용하면 다음과 같은 에러가 난다


fatal error C1189: #error:  Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]


원인은 다음과 같다


MFC 공유 DLL을 사용하기 위해서는 MD 대신 MT 로 변경한다


구성 속성 - C/C++ - 코드 생성 - 런타임 라이브러리 - 다중 스레드(/MT)


그리고 전처리기 CONSOLE 대신 WIN32 와  _WINDOWS를 추가한다


NDEBUG;WIN32;_WINDOWS;%(PreprocessorDefinitions)



2019. 8. 13. 02:48


콜백 함수 


Function .onInit 

인스톨러가 실행되어 초기화가 막 끝난 시점. 보통 인스톨러가 시작되기 전 조건 검사 등을 여기서 검사합니다. (특정 프로그램을 종료시킨다거나. 등등..)


Function .onGUIInit

인스톨러 화면을 메모리에 불러들이고 보여주기 직전


섹션 또는 사용자 함수

섹션이 순서대로 진행되며 섹션에서 함수들을 호출합니다.


Function .onInstSuccess

설치가 끝나고 윈도가 닫히기 직전에 호출

대개 위와 같은 순서를 거칩니다. 중간 중간에 이벤트에 따라 아래와 같은 콜백 함수가 호출되기도 합니다.

-----------


Function .onInstFailed

인스톨 과정 중 언제든지 실패하면 호출됨


Function .GUIEnd

설치화면이 닫힌 직후에 호출됩니다. 설치 성공여부등에 전혀 상관 없습니다. 즉, 컴포넌트 페이지에서 컴포넌트 선택하다가 그냥 취소 눌러서 종료시켜도 화면이 사라질때 호출됩니다. 


Function .onMouseOverSection

컴포넌트 선택화면에서 마우스 커서가 섹션위에 위치할 때 호출됩니다.


Function .onRebootFailed

인스톨 중에 Reboot 명령으로 재부팅을 시도했지만 실패하면 호출됩니다.


Function .onSelChange

컴포넌트 페이지에서 선택한 섹션이 변경되면 호출됩니다.