[JAVA] 생활코딩 JAVA1 - Chapter 4. 자바 기술의 응용
Chapter 4. 자바 기술의 응용 : Hello Java World
#중간 OT
chapter4에서 나오는 내용은 자바를 통해 할 수 있는 일들은 무엇이 있을지와
자바를 통하여 이러한 가능성들이 있다는걸 소개하는 수업이기때문에 관전한다는 마음으로 수업듣기!
Chapter 4. 자바 기술의 응용 : 데스크톱 애플리케이션 만들기
#Hello World!! 창 띄우기 실행
기본으로 제공 되는 코드안에서 창 사이즈, 글자 위치,문구 등이 들어가있는 곳 유추해서 변경하여 실행해보기
import javax.swing.*;
import java.awt.Dimension;
import java.awt.Toolkit;
public class HelloWorldGUIApp{
public static void main(String[] args){
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame frame = new JFrame("HelloWorld GUI");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setPreferredSize(new Dimension(800, 300));
JLabel label = new JLabel("Hello World!!", SwingConstants.RIGHT);
frame.getContentPane().add(label);
Dimension dim = Toolkit.getDefaultToolkit().getScreenSize();
frame.setLocation(dim.width/2-400/2, dim.height/2-300/2);
frame.pack();
frame.setVisible(true);
}
});
}
}
소스 코드 : https://github.com/egoing/java1/blob/master/HelloWorldGUI/HelloWorldGUIApp.java
GitHub - egoing/java1
Contribute to egoing/java1 development by creating an account on GitHub.
github.com
Chapter 4. 자바 기술의 응용 : 사물을 자바로 제어하기
#사물 인터넷 : IOT(Internet Of Things)
컴퓨터는 거듭되어 더 작고, 더 저렴하고, 더 빨라지도록 발전되어 왔다.
이로인해 사물에 컴퓨터를 내장하여 프로그래밍하여 제어할 수 있도록 만드는 것이 가능해졌다.
예) 그냥 전구 →스마트 전구
#라즈베리 파이 : 교육용으로 제작된 사물 인터넷 컴퓨터
GPIO라는 핀이 있고 JAVA를 이용하여 라즈베리 파이에게 명령할 수 있다.
라즈베리 파이라는 컴퓨터 안에 자바로 파일 하나를 만들고
불을 켰다 껐다 반복되게하여 모스부호 형태로 신호를 주어 LED로 글자를 표현 할 수 있게 한다.
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=9
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=9
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.release=enabled
org.eclipse.jdt.core.compiler.source=9
import com.pi4j.io.gpio.GpioController;
import com.pi4j.io.gpio.GpioFactory;
import com.pi4j.io.gpio.GpioPinDigitalOutput;
import com.pi4j.io.gpio.PinState;
import com.pi4j.io.gpio.RaspiPin;
public class HelloWorldRaspberryPi {
public static void main(String[] args) throws InterruptedException {
final GpioController gpio = GpioFactory.getInstance();
final GpioPinDigitalOutput pin = gpio.provisionDigitalOutputPin(RaspiPin.GPIO_01, "PinLED", PinState.LOW);
final int SHORT_INTERVAL = 200; //0.2초만큼 불이 켜진 상태가 유지 됨
final int LONG_INTERVAL = SHORT_INTERVAL * 3;
final int LETTER_INTERVAL = SHORT_INTERVAL * 7;
while (true) {
// H
pin.high(); // GPIO라는 핀에 전기가 흐르면서 LED가 켜짐
Thread.sleep(SHORT_INTERVAL);
pin.low(); // 전기가 끊기면서 불이 꺼짐
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(LETTER_INTERVAL);
// e
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(LETTER_INTERVAL);
// l
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(LONG_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(LONG_INTERVAL);
// l
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(LONG_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(SHORT_INTERVAL);
pin.high();
Thread.sleep(SHORT_INTERVAL);
pin.low();
Thread.sleep(LONG_INTERVAL);
}
}
}
Chapter 4. 자바 기술의 응용 : 안드로이드 애플리케이션 만들기
#안드로이드 앱 개발은 어떻게 하는가?
구글에 'andriod development documentation' 검색 - 첫 앱 빌드 - 'android studio*' 설치
*android studio : 안드로이드 어플을 쉽게 만들 수 있게 해주는 무료 개발 도구
해당 프로그램에서 자바 언어로 코드 작성,디자인으로 미리 구현해보기, 기기별로 실행해보기가 가능하다.
https://developer.android.com/docs?hl=ko
Documentation | Android 개발자 | Android Developers
이 섹션에서는 Android 핸드셋, Wear OS by Google, Android TV, Android Auto, Android Things 등을 빌드하는 데 필요한 가이드와 API 참조를 제공합니다.
developer.android.com