Java
-
액티비티 간 전환하기Java/Android Studio 2021. 6. 27. 18:23
애플리케이션을 실행하면 MainActivity를 실행한다. 그래서 MainActivity에 연결된 activity.xml 의 화면이 가장 먼저 뜬다. 다른 액티비티를 만들어서 버튼을 눌러 이동해보도록 하자. 또 이동된 액티비티에서 뒤로가기 버튼으로 다시 돌아와보자. 과정: activity_main.xml에서 버튼 생성 버튼 온클릭 메서드 생성 - intent 생성 이동할 액티비티 생성 이동할 액티비티 xml 생성 이동할 액티비티 버튼 메서드 구현(2와 같다.) 메니페스트에 새로운 액티비티 등록 activity_main.xml 버튼을 생성한다. MainActivity.java 버튼을 findViewById로 선언하고 온클릭메서드를 만든다. Intent 객체가 바로 한 액티비티에서 다른 액티비티 또는 웹으로..
-
[Java] Enum의 개념과 사용예제Java 2021. 3. 5. 22:56
Enum 이란? 열거체, 명명된 값을 이루는 집합이다. Enum의 장점 IDE의 지원: 자동완성, 오타검증, 텍스트 리팩토링 이외에도 타입체크가 가능하고 상숫값이 재정의되어도 다시 컴파일 할 필요가 없다. 사용 예제 public enum Role { ROLE_ADMIN("관리자"), ROLE_MANAGER("매니저"), ROLE_MEMBER("일반사용자"); private String description; Role(String description) { this.description = description; } } 역할을 String 형식의 인수로 가질 수도 있겠지만 위와 같이 Role을 관리자, 매니저, 일반사용자로 제한할 수 있다. 위의 enum을 호출할때는 Role.ROLE_ADIMN Role...
-
JAVA8 Stream - 스트림 중개 연산Java 2021. 3. 5. 12:51
개요 : 생성된 스트림은 중개 연산을 통해 또 다른 스트림으로 변환된다. 이러한 중개연산은 스트림을 받아 스트림을 반환하므로 중개연산은 연속으로 연결할 수 있다. 대표적인 중개연산 1. 스트림 필더링 : filter(), distinct() 2. 스트림 변환 : map(), flatMap() 3. 스트림 제한 : limit(), skip() 4. 스트림 정렬 : sorted() 5. 스트림 연산 결과 확인 : peek() 스트림 필터링 IntStream stream1 = IntStream.of(1,2,3,4,5,5,6,5,7,8); IntStream stream2 = IntStream.of(1,2,3,4,5,5,6,5,7,8); stream1.distinct().forEach(e->System.out.p..
-
JAVA8 Stream - 스트림 생성Java 2021. 2. 26. 22:37
www.tcpschool.com/java/java_stream_concept 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com 개요 스트림 API 기존에는 배열이나 컬렉션의 데이터에 접근하기 위해 반복문, 반복자를 사용하였다. 이러한 코드는 길이가 길고, 가독성이 떨어지며, 코드의 재사용이 용이하지 않다. 이를 해결하기 위해 JAVA SE 8부터는 스트림 API가 도입되었다. 스트림API는 추상적으로 데이터에 접근하며, 배열과 컬렉션 뿐만 아니라 파일에도 사용할 수 있다. 스트림 API의 특징: 1. 외부 반복을 통해 작업하는 컬렉션과 달리, 내부 반복(internal iteration)으로 작업을 수행한다. 2. 스트..
-
의존성 주입 Dependency Injection. DIJava/SpringBoot 2021. 2. 24. 16:12
클래스 의존 관계란? 한 클래스의 객체가 다른 클래스 객체의 서비스를 필요로 하는 관계. Driver 가 Car를 운전한다. Driver.java public class Driver{ Car car; public Driver(){ car = new Car(); } public void drive(){ car.engineOn(); car.go(); car.engineOff(); } } Car.java public class Car{ public void engineOn(){ System.out.println("car: engine on"); } public void go(){ System.out.println("car: brrrr"); } public void engineOff(){ System.out.p..
-
[Thymeleaf] 문법 정리Java/SpringBoot 2021. 1. 18. 21:39
1. 타임리프란? - HTML, XML, JS, CSS 등을 처리할 수 있는 server-side 자바 템플릿 엔진이자 스프링부트에서 공식으로 지원하는 템플릿 엔진이다. - 우아하고 유지보수성이 높은 템플릿 개발을 목표로 만들어졌다. 또한 HTML5 등의 web standard를 염두에 두고 개발되었다. 2. 기본 표현식 기본적인 표현: Variable Expressions: ${...} Selection Variable Expressions: *{...} Message Expressions: #{...} Link URL Expressions: @{...} Fragment Expressions: ~{...} 리터럴 Text literals: 'one text', 'Another one!',… Number..
-
pt.1~3)안드로이드 스튜디오 계산기 (프로젝트 생성부터 완성까지!)Java/Android Studio 2020. 9. 10. 18:00
Android Studio 를 이용해 계산기를 만들어보자! 1. 프로젝트 생성하기 새로운 프로젝트를 생성한다. 이번시간에는 텅 빈 액티비티를 선택한다. Next를 누르면 프로젝트 이름과 경로를 설정하는 창이 나온다. 설정이 완료되면 [Finish] 실행하면 가장 기본적인 요소 2가지가 보인다. activity_main.xml은 인터페이스를 구성하는 요소이고 MainActivity는 함수를 컨트롤하는 부분이다. ASP.NET으로 비유하면 activity_main.xml 과 MainActivity.java는 각각 뷰와 컨트롤에 대응한다. 2. 에뮬레이터 실행하기 AVD Manager를 실행시킨다. 필자는 이미 에뮬레이터를 생성해서 Galaxy S7 API R이 보인다. +Create Virtual Devic..
-
안드로이드 스튜디오 계산기(3): CalculateHelper 클래스 추가, 빌드Java/Android Studio 2020. 9. 10. 17:46
이제 CalculateHelper 클래스를 추가해보자 4. CalculateHelper 클래스 추가 [File]-[New]-[Java Class]를 통해 클래스를 추가한다. 내용은 다음과 같이 작성한다. [CalculateHelper.java] package com.example.dumb; import java.util.ArrayList; import java.util.HashMap; import java.util.Stack; public class CalculateHelper { public static double num1; public static double num2; public static double resultNumber; private ArrayList splitTokens(String ..