본문 바로가기

프로그래밍/안드로이드

[안드로이드] 데이터베이스(sqlite) 사용법 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 데이터베이스(SQLite) 안드로이드에서 데이터를 저장하는 방법은 예전에 포스팅했던 sharedpreferences를 사용하는 방법이 있습니다. 하지만 많은 데이터를 관리하기 위해서는 데이터베이스를 사용하여야만 합니다. 데이터 베이스를 만드는 구조는 다음과 같습니다.1. 데이터 베이스 생성2. 테이블 생성3. 레코드 추가 안드로이드에서는 데이터 베이스인 sqlite를 사용하기 위해서 SQLiteOpenHelper를 사용합니다. SQliteOpenHelper클래스는 데이터베이스를 만들거나 열기.. 더보기
[안드로이드] 핸들러(Handler) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 핸들러(Handler) 저번 강의에서 쓰레드를 이용하여 1초마다 값이 증가하는 코드를 작성 하였습니다. 1초마다 증가하는 값을 주기 위해 쓰레드를 사용하였는데 버튼을 클릭 할 경우에만 값을 확인 할 수 있었습니다. 저번시간에 썼던 코드를 보시면 아래와 같습니다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748package com.example.donghyun.thread; import.. 더보기
[안드로이드] 스레드(Thread) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 스레드(Thread) 안드로이드에서는 표준자바의 스레드를 그대로 사용 할 수 있습니다. 그렇기 때문에 스레드라는 말을 많이 들었을 것입니다. 스레드는 동시 수행이 가능한 작업 단위이며 현재 수행되는 작업 이외의 별도의 기능을 동시에 처리하고자 할 때 스레드가 사용됩니다. 다음 코드는 별도의 스레드를 하나 생성하여 1초마다 value 값을 증가 시키고 있습니다. 그리고 버튼을 누를 때마다 value의 값을 확인 할 수 있습니다. 123456789101112131415161718192021222.. 더보기
[안드로이드] 프로그래스바(ProgressBar) 사용하기 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 프로그래스바(ProgressBar) 프로그래스바는 작업의 진행정도를 표시하거나 작업이 진행중임을 알려주는 역활을 합니다. 안드로이드에서는 막대와 원 형태의 프로그래스바가 있습니다. 프로그래스바의 기본은 원모양이며 프로그래스바의 스타일을 style="?android:attr/progressBarStyleHorizontal"로 해줄 경우 막대 모양으로 바뀌게 됩니다. 예제를 통하여 막대 모양의 프로그래스 바를 구현해보도록 하겠습니다.XML은 다음과 같습니다. 12345678910111213141.. 더보기
[안드로이드] 리스트 뷰(ListView) 이용하기 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 리스트 뷰(ListView) 리스트 뷰는 일반적으로 리스트 형태로 된 컨트롤 입니다. 이러한 리스트 뷰는 여러개의 아이템 중에서 하나를 선택 할 수 있습니다. 이렇게 선택할 수 있는 위젯을 '선택 위젯' 이라고 합니다. 대표적인 선택 위젯은 '리스트 뷰', '스피너', '그리드 뷰' 등이 있습니다. 이러한 선택 위젯은 선택할 수 있는 여러개의 아이템이 어댑터(adapter)를 통해 화면에 표시됩니다. 쉽게 말해서 어댑터(adapter)가 하는 역활은 데이터를 받아 view를 생성하고 이렇게 .. 더보기
[안드로이드] 스피너(Spinner) 이용하기 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다. 그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다. 그럼 시작하도록 하겠습니다. 스피너(Spinner) 스피너는 여러 아이템 중에서 하나를 선택하는 위젯 입니다. 예를 들면 콤보박스와 같습니다. 콤보박스를 누르면 그 밑에 작은 창이 보이고 창안에 있는 여러 아이템들 중 하나를 선택하도록 되어있는 위젯이라고 할 수 있습니다. 실습을 통하여 스피너에 대해서 알아 보겠습니다. 먼저 화면은 아래와 같이 구성 하였습니다. 텍스트 뷰는 스피너에서 선택된 아이템을 나타나게 하고 텍스트 뷰 아래에는 스피너를 넣었습니다. 스피너를 클릭해서 하나의 아이템을 선택하게 되면 텍스트 뷰에 .. 더보기
[안드로이드] 권한(Permission) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 권한(Permission) 안드로이드는 마시멜로우 버전부터 권한을 부여하는 방식이 바뀌었습니다. 마시멜로우 버전 이전에는 앱을 설치할 때 권한을 사용한다고 사용자에게 말하기 때문에 많은 사용자들이 아무 생각없이 설치하는 경우가 많았으며 이에 따라 설치된 앱의 주요기능을 마음대로 사용할 수 있었습니다. 이는 보안적으로도 많은 문제가 있습니다. 이러한 이유때문에 마시멜로우 버전 이상 부터는 앱을 실행시에 권한을 부여하도록 변경이 되었습니다. 아래 표는 Permission체크를 하고 허가를 받아야.. 더보기
[안드로이드] 알림창(AlertDialog) 이용하기 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 알림창(AlertDialog) 이용하기 어플을 사용하다 보면 위와 같은 알림창을 자주 볼 수 있습니다. 이러한 것을 알림창(AlertDialog) 이라고 합니다. 이러한 알림창은 일방적으로 메시지를 전달하는 역활을 주로 하며 '네' , 혹은 '아니오' 같은 응답을 처리하는데 사용이 됩니다. 예제를 통해서 살펴보겠습니다. 먼저 메인화면에서 버튼을 클릭하면 두번째 화면으로 넘어 갑니다. 두번째 화면은 두개의 버튼으로 이루어져 있으며 첫번째 버튼은 이전 화면으로 넘어가는 버튼이며 두번째 버튼 클릭.. 더보기
[안드로이드] 토스트(Toast) 메시지 사용하기 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 토스트(Toast) 메시지 안드로이드 프로그래밍을 하다 보면 디버깅을 하거나 어플을 사용하는 사용자에게 간단한 메시지를 보여주어야 할 경우가 있습니다. 이러한 상황일 경우 토스트 메시지를 사용 할 수 있습니다. 토스트 메시지를 사용하는 방법은 다음과 같습니다. Toast.makeText(Context context, String message, int duration) 첫 번째 인자 값인 Context는 일반적으로 Context 클래스를 상속한 액티비티를 나타 냅니다. 두번째 인자 값은 보여.. 더보기
[안드로이드] 인텐트(Intent) 이용하기 (3) - 암시적 인텐트(Implicit Intent) 안녕하세요 ! 초보개발자 입니다. 이 블로그는 개인 공부 정리용 블로그 입니다. 혹 잘못된 내용이 있다면 지적 부탁드리겠습니다.그리고 질문주신다면 최대한 아는선에서 답변드리도록 하겠습니다.그럼 시작하도록 하겠습니다. 암시적 인텐트(Implicit Intent) 암시적 인텐트는 명시적 인텐트와 같이 호출할 컴포넌트를 정확하게 아는 것이 아니라 MIME타입에 따라 안드로이드 시스템에서 적절한 다른 애플리케이션의 액티비티를 찾은 후 띄우는 방식을 사용 합니다. 즉, 설치되어 있는 애플리케이션들에 대한 정보를 알고 있는 안드로이드 시스템이 인텐트를 이용해 요청한 정보를 처리할 수 있는 컴포넌트를 찾아본 다음 그 결과를 보여주는 과정입니다. 암시적 인텐트는 액션과 데이터로 구성이 되지만 그외에 범주(categor.. 더보기