본문 바로가기

프로그래밍

[안드로이드] 권한(Permission) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 권한(Permission) 안드로이드는 마시멜로우 버전부터 권한을 부여하는 방식이 바뀌었습니다. 마시멜로우 버전 이전에는 앱을 설치할 때 권한을 사용한다고 사용자에게 말하기 때문에 많은 사용자들이 아무 생각없이 설치하는 경우가 많았으며 이에 따라 설치된 앱의 주요기능을 마음대로 사용할 수 있었습니다. 이는 보안적으로도 많은 문제가 있습니다. 이러한 이유때문에 마시멜로우 버전 이상 부터는 앱을 실행시에 권한을 부여하도록 변경이 되었습니다. 아래 표는 Permission체크를 하고 허가를 받아야.. 더보기
[C언어] 포인터(9) - 함수와 포인터(값에 의한 호출, 참조에 의한 호출) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 함수와 포인터 함수를 호출 할 때 인수의 값이 매개변수로 복사되어 전달이 됩니다. 이것을 값에 의한 호출(call by value)이라고 합니다. 반면 포인터를 매개변수로 선언하면 호출된 함수로 주소를 전달하는 것이 가능하며 이것을 참조에 의한 호출(call by reference)라고 합니다. 그럼 먼저 값에 의한 호출에 대해서 알아보도록 하겠습니다. 1) 값에 의한 호출(call by value) 아래의 코드를 보겠습니다. 1234567891011121314151617181920#incl.. 더보기
[안드로이드] 알림창(AlertDialog) 이용하기 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 알림창(AlertDialog) 이용하기 어플을 사용하다 보면 위와 같은 알림창을 자주 볼 수 있습니다. 이러한 것을 알림창(AlertDialog) 이라고 합니다. 이러한 알림창은 일방적으로 메시지를 전달하는 역활을 주로 하며 '네' , 혹은 '아니오' 같은 응답을 처리하는데 사용이 됩니다. 예제를 통해서 살펴보겠습니다. 먼저 메인화면에서 버튼을 클릭하면 두번째 화면으로 넘어 갑니다. 두번째 화면은 두개의 버튼으로 이루어져 있으며 첫번째 버튼은 이전 화면으로 넘어가는 버튼이며 두번째 버튼 클릭.. 더보기
[안드로이드] 토스트(Toast) 메시지 사용하기 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 토스트(Toast) 메시지 안드로이드 프로그래밍을 하다 보면 디버깅을 하거나 어플을 사용하는 사용자에게 간단한 메시지를 보여주어야 할 경우가 있습니다. 이러한 상황일 경우 토스트 메시지를 사용 할 수 있습니다. 토스트 메시지를 사용하는 방법은 다음과 같습니다. Toast.makeText(Context context, String message, int duration) 첫 번째 인자 값인 Context는 일반적으로 Context 클래스를 상속한 액티비티를 나타 냅니다. 두번째 인자 값은 보여.. 더보기
[안드로이드] 인텐트(Intent) 이용하기 (3) - 암시적 인텐트(Implicit Intent) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 암시적 인텐트(Implicit Intent) 암시적 인텐트는 명시적 인텐트와 같이 호출할 컴포넌트를 정확하게 아는 것이 아니라 MIME타입에 따라 안드로이드 시스템에서 적절한 다른 애플리케이션의 액티비티를 찾은 후 띄우는 방식을 사용 합니다. 즉, 설치되어 있는 애플리케이션들에 대한 정보를 알고 있는 안드로이드 시스템이 인텐트를 이용해 요청한 정보를 처리할 수 있는 컴포넌트를 찾아본 다음 그 결과를 보여주는 과정입니다. 암시적 인텐트는 액션과 데이터로 구성이 되지만 그외에 범주(categor.. 더보기
[안드로이드] 인텐트(Intent) 이용하기(2) - 명시적 인텐트(Explicit Intent) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 명시적 인텐트(Explicit Intent) 우리는 저번시간에 Intent를 이용하여 Main액티비티에서 새로 만든 액티비티로 이동하는 방법에 대해서 알아보았습니다. 그 때 보았던것과 같이 인텐트에 클래스 객체나 컴포넌트 이름을 지정하여 호출할 대상을 확실히 알 수 있는 경우에는 '명시적 인텐트' 라고 부릅니다. 명시적 인텐트를 만드는 방법은 다음과 같습니다 . Intent intent = new Intent(this,Activity2.class); 인텐트 객체의 첫번째 인자는 현재 자신의 .. 더보기
[C언어] 포인터(8) - 포인터와 문자열 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 포인터와 문자열 문자열은 타입이 char인 배열입니다. 그렇기 때문에 포인터의 타입 또한 char 형이어야 합니다. char str = "hello"; char* strptr = &str; 예제를 통해서 알아 보겠습니다.12345678910111213141516171819#includeint main(void) { char str[] = "hello"; char *strptr = &str; printf("str = %s\n", str); printf("strptr = %s\n", strptr.. 더보기
[안드로이드] 인텐트(Intent) 이용하기(1) - 다른 액티비티로 이동 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. Intent(인텐트) 새로운 액티비티를 만들고 새로 만든 액티비티로 이동하기 위해서는 Intent를 사용하여야 합니다. 예제를 통해서 어떻게 다른 액티비티로 이동하는지 알아 보겠습니다. 첫번째 액티비티 화면은 다음과 같이 만듭니다. 12345678910111213141516171819202122232425262728293031323334353637 Colored by Color Scriptercs 소스는 다음과 같습니다. 123456789101112131415161718192021222324.. 더보기
[안드로이드] 레이아웃 인플레이션(Layout Inflation) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 레이아웃 인플레이션 (Layout Inflation) 앞에서 우리는 화면을 구성하는 방법을 배웠습니다. 즉 안드로이드에서는 화면을 구성하는 방법으로 XML 레이아웃을 사용하는데 이 XML 레이아웃 파일의 내용은 애플리케이션이 실행 될 때 메모리로 로딩되어 객체화 됩니다. 이렇게 메모리에 객체화 하는 과정을 Inflation이라고 합니다. 처음 안드로이드 프로젝트를 만들면 아래 그림과 같이 하나의 XML 파일과 자바 파일이 생성되는 것을 볼 수 있습니다. MainActivity.java 파일을.. 더보기
[C언어] 포인터(7) -void 포인터와 NULL 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. void 포인터 void포인터는 가리키는 대상이 없는 포인터 입니다. 다음과 같이 void포인터를 선언 합니다. void* ptr; 타입이 void 형이지만 여기서 void의 의미는 타입이 없다는 뜻이 아니라 타입이 정해져 있지 않음을 뜻할 뿐입니다. 그렇기 때문에 void포인터에는 어떤 종류의 포인터값도 형변환 없이 대입이 가능 합니다.예를 들면 다음과 같습니다. 12345678910111213#includeint main(void) { int intP = 1; double doubleP .. 더보기