분류 전체보기 296

안드로이드 포털사이트로 이동하는 버튼 만들기(ACTION_VIEW)

안녕하세요. 버튼을 클릭하면 포털사이트로 이동하는 버튼을 만들어보겠습니다인텐트 액션은 ACTION_VIEW를 사용합니다. 1234567891011121314151617181920public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button)findViewById(R.id.button); btn.setOnClickListener(new View.OnClickListener() { @Overr..

안드로이드 전화거는 버튼 만들기(ACTION_DIAL)

안녕하세요. 이번에는 버튼을 클릭하면 전화를 걸 수 있는 버튼을 만들어보겠습니다.버튼을 클릭하면 전화를 바로 걸게할수있는 방법과(ACTION_CALL), 전화걸기 전의 화면을 보여주는 방법이 있는데전화걸기 전의 화면을 보여주는 방법으로 하겠습니다. 1234567891011121314151617181920public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button btn = (Button)findViewById(R..

안드로이드 생명주기

안녕하세요 오늘은 안드로이드 생명주기에 대해 알아보겠습니다. 안드로이드는 다른 프로그래밍 패러다임과 다르게 특정 시점에 부합하는 콜백 메서드를 호출합니다.예를들어 우리가 코딩을할때 onCreate()를 다른 프로그래밍의 Main과 동일한 개념으로보고 코딩을 합니다왜냐하면 onCreate()함수는 가장 먼저 시작되는 함수이기 때문입니다. 위의 그림은 앱의 생명주기입니다. 먼저 앱을 키면 Created, Started, Resumed가 실행됩니다. Resumed상태가 되면 사용자가 다른 액티비티와 상호작용할 수 있습니다. Paused,Stopped상태에는 해당 액티비티가 비활성화인 상태입니다. 둘의 차이점은 Paused는 액티비티가 보이는 상태이고, Stopped는 화면에서 사라진 상태입니다.예) 앱을 실행..

안드로이드 핸들러(Handler),스레드(Thread) 사용하기

안녕하세요. 핸들러(Handler)에 대해 알아보겠습니다.핸들러란 다른 객체들이 보낸 데이터를 받고 이 데이터를 처리하는 객체입니다. 이 전 글에서 스레드를 적었는데, 스레드에서 UI를 제어하려고 할 때 이 핸들러가 사용됩니다.1. 스레드객체가 핸들러객체한테 정보전송2. 핸들러객체가 UI변경이런식으로 사용하게 됩니다. 핸들러 사용 과정 위의 그림은 핸들러를 사용하는 과정인데요. 스레드가 UI를 제어하기 위해서는 핸들러에게 정보를 줘야합니다.그러기 위해서는 스레드가 먼저 핸들러 정보를 얻어야하는데요 그게 2.obtainMessage함수 입니다. 호출을 하면 Message객체를 얻을 수 있습니다.Message객체를 얻었으니 여기에 데이터를 넣고 3.sendMessage함수를 사용하여 메세지 큐에 데이터를 보..

안드로이드 스레드(Thread) 사용하기

스레드란 프로그램내에서 실행되는 실행 단위를 말하는데 일반적으로 스레드는 1개만 존재합니다.(메인)그래서 스레드를 하나더 만들면 흐름이 2개가 되서 다양한 일을 처리할 수 있습니다. 일반적으로 스레드를 생성하지않는 경우 메인스레드 한개만 존재해서, 메인스레드가 UI를 처리하게 됩니다. 그림B에서는 메인스레드 외에, 스레드1, 스레드2가 있습니다. 스레드에서는 UI를 처리하지 못하므로, 핸들러라는 객체를 사용하여 처리하게 됩니다.ex)스레드에서 텍스트뷰의 글씨를 바꾸면 에러뜸 스레드를 만드는법은 간단한데요. 먼저 스레드 클래스를 만들거나 상속한다음 run메소드를 구현해주면 됩니다. 1.스레드 클래스 만들기(익명 이너클래스)123456 Thread th = new Thread(new Runnable() { ..

NUCLEO-F103RB 개발환경 만들기(mbed)

STM32F103RB(NUCLEO-F103RB) 개발환경 구축하기 안녕하세요. STM32에 대해 알아볼건데요. 먼저 AVR대신 STM을 사용하는 이유는 AVR보다 STM이 훨씬 빠르고 싸기 때문입니다. 사용할 보드는 STM32F103RB(NUCLEO-F103RB)입니다. 이 보드를 택한 이유는 인터넷에 이 보드에 대한 자료가 많고, mbed(개발환경)가 지원되기 때문입니다. mbed는 온라인 프로그래밍 개발 툴 입니다. mbed는 다른 툴 보다 사용하기가 매우 쉽습니다.NUCLEO-F103RB 이 보드는 ST-LINK가 내장되어 있어서 별도의 장비가 필요 없고, usb케이블로 프로그래밍을 할 수 있습니다. MBED사용하기 사용할 툴은 mbed입니다. 아래의 사이트에가서 가입하시구요 로그인하세요https:..

STM32/STM32 mbed 2017.08.23

아두이노 시계(RTC) DS1302사용하기

안녕하세요. 오늘은 DS1302(Real Time Clock, RTC)에 대해 알아볼건데요. DS1302는 시간을 저장하고있는 모듈입니다. 예를들어 아두이노를 시계로 사용하고있는데, 전원이 나가면 시간이 초기화 됩니다. 그러나 DS1302를 연결하면(건전지 사용) 아두이노의 전원이 나가도 시간이 저장됩니다. VCC2 : 주 전원 핀 입니다. VCC2 >VCC1 + 0.2V이면 VCC2가 전원을 공급하고 VCC2가 더 작으면 VCC1가 전원을 공급합니다. VCC1 : 보조 전원 핀 입니다. 보통 배터리를 연결하고, DS1302에 전원이 공급되지 않으면 VCC1가 전원을 공급합니다. GND : GND X1 ,X2 : 클럭 공급 핀입니다. 32.768Hz를 사용합니다. SCLK : 시리얼 인터페이스의 데이터의..

아두이노/이론 2017.08.22

C언어 구조체 자료형의 크기(패딩비트)

안녕하세요. 이번에는 구조체 자료형의 크기에 대해 알아보겠습니다.기본적으로 자료형의 크기를 알아보는 함수는 sizeof(자료형)입니다. 123456typedef struct{ int HP; int MP; char class;}user;cs int는 4바이트, char은 1바이트그러므로 user구조체의 크기는 9바이트라고 예상이 됩니다. 12345678910111213141516171819#include typedef struct{ int HP; int MP; char class;}user; int main(){ user user1; printf("user1.HP의 크기 : %d \n", sizeof(user1.HP)); printf("user1.MP의 크기 : %d \n", sizeof(user1.MP)..

C언어 구조체 사용하기.

안녕하세요. 이번에는 구조체를 사용해보겠습니다.구조체란 여러 가지 데이터를 쉽게 저장하기 위해서 사용하는 것입니다. 선언방법 strcut 변수명{멤버 목록}; 예) 123456struct user{ int HP; int MP; char job;};csuser라는 변수를통해서 3가지 데이터에 접근 할 수 있습니다. 123456789101112131415161718192021#include int main(){ struct user { int HP; int MP; char class; }; struct user user1; user1.HP = 100; user1.MP = 50; user1.class = 'a'; printf("user1의 HP : %d \n",user1.HP); printf("user1의 M..

아트메가를 사용하여 적외선 감지 모듈 사용하기(HS-IRSM,NS-IRPSM)

아트메가를 사용하여 적외선 감지 모듈 사용하기(HS-IRSM,NS-IRPSM) 안녕하세요. 오늘은 적외선 감지 모듈을 사용해보겠습니다. 이 모듈을 사용하여 물체나 인체를 감지하면 됩니다. 이 적외선 감지 모듈은 적외선 감지에 따라 디지털 출력핀(OUT)에서 HIGH 혹은 LOW가 출력됩니다.적외선이 감지되면 LOW가 출력되고 감지표시LED에 불빛이 들어옵니다.적외선이 감지되지 않으면 HIGH가 출력되고 감지표시LED에 불빛이 들어옵니다. 적외선 감도는 가변저항(감도 설정)을 통하여 할 수 있습니다. 사진 기준 시계방향으로 가변저항을 돌리면 적외선이 가까워도 감지됩니다.최대 15cm까지 감지할 수 있습니다. *전에 작성했던 사운드 감지 센서 모듈과 동작방식이 같고 단지 센싱하는 방법만 다를 뿐입니다.(코드..