전체 글

Android 주니어 개발자
앱을 사용하다 보면, 위젯을 클릭했을 때 새로운 화면으로 전환이 되는 경우가 있다. 이렇게 화면이 전환될 경우 필요한 데이터를 전달할 수 있도록 안드로이드에서 지원한다. 데이터의 전달은 한 방향으로 데이터를 전달하는 것과 양방향으로 데이터를 전달하는 것으로 나눌 수 있다. 1. 한 방향 데이터 전달 한쪽 방향으로 데이터를 전달할 때는 putExtra()를 사용하여 데이터를 태그와 함께 담은 뒤 startActivity()를 이용하여 데이터를 전달한다. 이 후 세컨드 페이지에서 데이터를 사용하기 위해 인텐트를 활용하여 getExtra()로 데이터를 받아준다. 실제 안드로이드 스튜디오에서 putExtra를 작성했을 때 나오는 화면이다. 위의 사진처럼 다양한 종류의 자료형을 지원한다. 앞에 붙은 name이라는..
1) 안드로이드의 4대 컴포넌트 인텐트를 설명하기 앞서, 안드로이드의 4대 컴포넌트를 먼저 소개하려고 한다. 안드로이드의 4대 컴포넌트는 액티비티, 서비스, 브로드캐스트 리시버, 콘텐트 프로바이더이다. 액티비티란? 액티비티(Activity)는 화면을 구성하는 가장 기본적인 컴포넌트이다. 서비스란? 서비스(Service)는 눈에 보이는 화면(액티비티)과 상관없이 백그라운드에서 동작하는 컴포넌트이다. 백신 프로그램과 같이 눈에는 보이지 않지만 계속 동작하고 있다. 로컬에서 동작하는 서비스는 서비스 생성 -> 서비스 시작 -> 서비스 종료의 세 단계를 거친다. 브로드캐스트 리시버란? 안드로이드는 여러 응용 프로그램이나 장치에 메시지를 전달하기 위해 방송(broadcasting) 메시지를 사용한다. 안드로이드는..
1) 액티비티(Activity) 액티비티는 화면을 구성하는 가장 기본적인 컴포넌트로 안드로이드폰에 나타나는 화면 하나하나를 말한다. 액티비티는 사용자에게 보여주는 화면을 만들기 때문에 안드로이드의 4대 컴포넌트 중 가장 핵심적인 요소이다. 실제 모바일 앱을 사용해보았다면 버튼을 클릭하는 등의 사용자의 이벤트에 따라 화면이 이동되기도 한다. 이처럼 모바일 앱 환경은 사용자와 앱의 상호작용이 항상 동일한 위치에서 시작되는 것이 아니라는 점에서 데스크톱 앱 환경과 차이점을 지닌다. 대신 사용자의 행동이 흔히 비결정론적으로 시작된다. 예를 들어 홈 화면에서 이메일 앱을 열면 이메일 목록이 표시될 수 있고, 반대로 소셜 미디어 앱을 사용하고 있는 상태에서 이메일 앱을 실행하면 이메일을 작성하기 위한 이메일 앱 화..
1) 레이아웃의 기본 개념 안드로이드에서 사용하는 버튼, 텍스트뷰 등의 각종 위젯은 레이아웃이라는 틀 위에 존재해야 한다. 필요한 위젯을 개발자가 원하는 곳에 배치하기 위해 적절한 레이아웃을 사용해야 한다. 레이아웃은 ViewGroup 클래스로부터 상속받으며 내부에 위젯들을 담는 용도로 사용된다. 레이아웃에는 다양한 속성들이 존재한다. - orientation : 레이아웃 안에 배치할 위젯의 수직 또는 수평 방향을 설정함 - gravity : 레이아웃 안에 배치할 위젯의 정렬 방향을 좌,우 중앙 등으로 설정한다. - padding : 레이아웃 안에 배치할 위젯의 여백을 설정한다. - layout_weight : 레이아웃이 전체 화면에서 차지하는 공간의 가중값을 설정하는데, 여러 개의 레이아웃이 중복될 경..
· 웹 개발
먼저 API 활용을 위해 http://data.seoul.go.kr/dataList/OA-13122/S/1/datasetView.do 접속하여 API 키를 받아야 한다. 키를 받은 뒤 서울 열린 데이터 광장에서 제공하는 공영주차장 api의 리스트를 먼저 확인해보자. 모든 데이터를 사용하지 않고, 필요한 데이터만 추출하여 vo파일을 작성해보았다. package vo; public class ParkingVO { private int parkingCount, parkingBaseCharge, parkingBaseTime, parkingPlusCharge, parkingPlusTime; private String parkingIdx, parkingName, parkingAddr, parkingTel, park..
· 웹 개발
인증키 받는 곳 : https://www.ncloud.com/product 먼저 Api 연동을 설명하기 전에 Naver Map api를 사용하기 위해서 위의 주소에서 로그인을 한 뒤 이용신청을 하고, 인증키를 받아와야 한다. 설명에 나와있는 대로 차근차근 인증키를 발급받으면 아래와 같은 결과를 얻을 수 있다. 우리가 실질적으로 Spring에서 api를 호출할 대 Client ID가 필요하다. 또한 위 프로젝트를 진행하면서 도메인을 따로 등록한 것이 아니기 때문에 URL을 위의 사진처럼 지정해주었다. 코드에 대한 설명은 주석으로 작성해두었기 때문에 생략하고, 이번 프로젝트에서 네이버 지도를 연동하여 해당 위치를 보여주고, 클릭하여 상세정보를 보여주는 작업을 했기 때문에 여러 개의 마커가 필요했고, 여러 개..
· 웹 개발
1) 어노테이션(Annotation)이란? Annotation(@)은 사전적 의미로 주석이라는 뜻이다. 자바에서 어노테이션은 코드 사이에 주석처럼 사용되고 특별한 의미와 기능을 수행하도록 하는 기술이다. 어노테이션을 사용하여 코드를 작성하는 개발자가 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 볼 수 있다. 어노테이션은 JDK 1.5 버전 이상에서 사용 가능하고 자바 소스 코드 사이에 @기호를 앞에 붙여서 사용한다. 2) 어노테이션(Annotation)의 용도 - 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보 제공 - 소프트웨어 개발툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보 제공 - 실행(런타임) 시 특정 기능을 실행하도록 정보를 제공 어노테이션을 사용하는 순서 1) 어노..
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); //케이스 개수 int num = sc.nextInt(); //학생 수 int[] people = new int[num]; //평균값 float[] avg = new float[num]; float[] result = new float[num]; for(int i=0; i
· 웹 개발
1) 스프링이란? 스프링은 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크로서 동적인 웹 사이트를 개발하기 위한, 여러 가지 서비스를 제공하고 있다. Spring은 자바 객체를 담고 직접 관리한다. 객체의 생성 및 소멸과 같은 생명주기를 관리하며 언제든 Spring 컨테이너로부터 필요한 객체를 가져와 사용할 수 있다. 2) 스프링의 특징 1) 경량 컨테이너로서 자바 객체를 직접 관리한다. 각각의 객체 생성, 소멸과 같은 생명주기를 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다. 2) 스프링은 Plain Old Java Object 방식의 프레임워크이다. 일반적인 J2EE 프레임워크에 비해 구현을 위해 특정한 인터페이스를 구현하거나 상속을 받을 필요가 없어 기존에 존재하는 라이브러리 등을 지원..
import java.util.ArrayList; import java.util.Scanner; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] M = new int[N]; float[] result = new float[N]; int max = 0; for(int i=0; i max) { max = M[i]; } } float sum = 0; for(int i=0; i
빡수수
하나,둘 차근차근