일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 표준 라이브러리 함수
- c#
- Windows Forms
- 유튜브 동영상 강의
- 캡슐화
- 실습으로 다지는 c#
- 원격 제어 프로그램
- 언제나휴일
- 알고리즘
- 프로젝트
- 산책하기 좋은 곳
- 동영상 강의
- 소켓 통신
- 충남 천안
- 네트워크 프로그래밍
- 졸업 작품 소재
- 강의
- 안드로이드 앱 개발
- 추천
- 소스 코드
- 언제나 휴일
- 독립기념관
- 무료 동영상 강의
- 클래스 다이어그램
- 파이썬
- 실습
- C++
- c언어
- 동영상
- 표준 입출력
- Today
- Total
목록2025/01 (111)
프로그래밍 언어 및 기술 [언제나휴일]

이번에는 옵션 메뉴(Option Menu)를 사용하는 실습을 해 봅시다.먼저 프로젝트 뷰의 app>>res 하위에 menu 폴더를 추가하고 menu1.xml 파일을 추가하세요. 다음처럼 메뉴를 작성합시다. >" > activity_main.xml은 다음처럼 작성하세요. 여기에서는 단순히 메뉴에서 전체 배경 색상과 텍스트 뷰의 배경 색상을 변경할 것이기 때문에 id를 부여하는 작업 정도면 충분합니다. 이제 MainActivity.java 소스 파일을 편집합시다. 먼저 두 개의 컨트롤을 참조할 수 있는 멤버 필드를 선언하세요. LinearLayout root_layout; ..

이번에는 대화상자를 사용하는 간단한 실습을 합시다.여기에서는 단순한 정보를 전달하는 대화상자와, 확인 버튼을 누를 수 있는 대화상자, 목록 중에 원하는 항목을 선택할 수 있는 대화상자를 띄우는 실습을 할 거예요. 이에 맞게 세 개의 버튼을 배치하세요. 다음은 activity_main.xml 파일 내용입니다. 대화상자를 생성할 때 AlertDialog.Builder 클래스로 생성합니다. setTitle, setMessage 등의 메서드로 제목이나 메시지 설정 등을 할 수 있습니다. 그리고 show 메서드를 호출하여 시각화합니다. public void btnOnClick1(View view){ AlertDialog.Builder dlg = new AlertDialog.B..

이번에는 앞에서 다루었던 기본 컨트롤을 이용하는 간단한 앱을 만들어 봅시다. 소재는 도서 관리 앱입니다. 도서 관리 앱은 도서 추가, 도서 목록, 도서 검색 기능을 제공합니다. 앱의 화면은 세 개의 탭인 HOME(도서 목록), ADD(도서 추가), FIND(도서 검색)으로 원하는 기능을 선택하여 사용할 수 있습니다.먼저 도서 관리자에서 관리할 도서 개체를 Book 클래스로 정의합시다. 도서 개체는 제목, 저자, 보유 개수, 장르를 멤버 필드로 갖고 있고 이들 값을 가져오기 할 수 있는 접근자 메서드 및 생성자로 구성합니다. 참고로 장르는 인문, 자연, 과학, 기타로 정하기로 할게요.package com.example.ehclub.ex_bookmanager;/** * Created by ehclub on ..

이번에는 같은 영역에 보여줄 컨텐츠를 선택할 수 있게 하여 일관성있는 화면 구성을 할 수 있는 TabHost를 이용하는 간단한 실습을 합시다.먼저 activity_main.xml 파일에 컨트롤을 배치합시다.TabHost는 TabWidget과 FrameLayout으로 구성합니다. TabWidget은 사용자가 원하는 컨텐츠(혹은 기능)를 선택하는 영역이고 FrameLayout은 컨텐츠 영역입니다.TabWidget의 id 속성은 @android:id/tabs로 지정하고 FrameLayout의 id 속성은 @android:id/tabcontent로 지정합니다.여기에서는 언어, 기술, 예제 Tab으로 구성할 것입니다. 각 Tab을 선택하였을 때 컨텐츠를 FrameLayout에 배치합니다. 각 컨텐츠는 간단하게 L..

이번에는 ListView의 항목을 개발자가 정의하여 사용하는 실습을 합시다. 여기에서는 도서 제목과 저자를 ListView의 항목으로 정의할게요. 그리고 항목을 클릭하였을 때의 도서 정보를 TextView로 보여주고 EditText에 도서 정보를 입력하여 추가 Button을 누르면 ListView에 항목으로 나타나게 합시다.먼저 activity_main.xml에 컨트롤을 배치하세요. 최상위 요소는 LinearLayout을 배치합니다. 그리고 선택한 항목의 도서 정보를 표시할 TextView를 두 개 배치하세요. 그리고 ListView를 배치합니다. 또한 추가할 도서 정보를 입력하기 위해 EditText를 두 개 배치하고 Button을 추가하세요. 추가 버튼의 onClick 속성을 설정할 수도 있습니다. ..

이번에는 ListView를 사용하는 간단한 실습을 합시다. 실습할 내용은 ListView에 항목을 추가하는 것과 항목을 클릭하였을 때의 처리하는 것입니다.먼저 activity_main.xml 에 컨트롤을 배치합시다. 최상위 요소는 LinearLayout을 배치하세요.그리고 TextView, ListView, EditText, Button 을 자식으로 배치합니다. TextView는 ListView 항목을 클릭하였을 때 항목 정보를 보여주기 위한 목적이며 EditText와 Button은 ListView에 항목을 추가하기 위한 목적입니다. 버튼의 onClick 속성을 설정할 수 있습니다. 이 때 설정한 메서드는 Java 소스에서 작성해 주어야 합니다. 이제 MainActivity.j..

이번에는 컨텐츠에서 원하는 위치로 이동시킬 때 많이 사용하는 SeekBar를 간단히 사용하는 실습을 합시다.먼저 activity_main.xml 파일에 컨트롤을 배치합시다. 최상위 요소는 LinearLayout을 배치하세요. 그리고 자식으로 SeekBar와 TextView를 배치합니다. SeekBar의 max 속성을 100으로 지정하세요. 이제 MainActivity.java 파일을 편집합시다. 먼저 MainActivity 클래스에 SeekBar 형식의 멤버 필드를 선언하세요. SeekBar sb;onCreate 메서드에서는 먼저 xml에 배치한 SeekBar 개체를 참조하기 위해 findViewById 메서드를 호출합니다. sb = (SeekBar)findViewById(..

이번에는 별점을 부여할 때 많이 사용하는 RatingBar를 이용한 간단한 실습을 합시다.먼저 activity_main.xml 파일에 컨트롤을 배치합시다. 최상위 요소는 LinearLayout을 배치하세요.그리고 자식으로 RatingBar와 TextView를 배치합시다. RatingBar의 stepSize 속성은 변경할 수 있는 최소 간격입니다. 그리고 isIndicator 속성은 사용자에 의해 rating 값을 변경 가능 여부입니다. 주의할 점은 false일 때 사용자에 의해 변경할 수 있다는 것입니다. 이제 MainActivity.java 파일을 편집합시다. onCreate 메서드에 findViewById 메서드를 호출하여 RatingBar 개체를 참조합니다. RatingB..

이번에는 진행 상태 정도를 표시할 때 많이 사용하는 ProgressBar를 이용하는 간단한 실습을 합시다.먼저 activity_main.xml 파일에 컨트롤을 배치합시다. 최상위 요소는 LinearLayout을 배치하세요. 그리고 자식으로 ProgressBar와 네 개의 Button과 TextView를 배치합니다. 네 개의 버튼은 ProgressBar에 진행 상태의 정도를 1 증가, 5 증가, 1 감소, 5 감소시킬 때 사용하기 위함입니다. 이를 위해 네 개의 버튼의 onClick 속성을 지정하세요. 이는 Java 소스에서 정의할 메서드 이름입니다.그리고 ProgressBar의 max 속성을 100으로 지정하고 progress 속성은 0으로 지정합시다. progress 속성은 현재 진행 상태 정도를 나타..

이번에는 ToggleButton을 사용하는 간단한 실습을 합시다.먼저 activity_main.xml 파일에 컨트롤을 배치합시다. 최상위 요소는 LinearLayout입니다. 그리고 자식으로 ToggleButton과 TextView를 배치하세요. 이제 MainActivity.java 파일을 편집합시다. MainActivity 클래스에 ToggleButton을 참조할 멤버 필드를 선언하세요. ToggleButton tb;onCreate 메서드에서는 먼저 findViewById 메서드를 호출하여 xml 파일에 배치한 ToggleButton을 참조합니다. tb = (ToggleButton)findViewById(R.id.tb);그리고 클릭 리스너를 설정합니다. 리스너에서는 xml..

이번에는 On, Off 상태를 설정할 때 사용하는 Switch 컨트롤을 이용하는 간단한 앱을 만들어 봅시다.먼저 activity_main.xml에 컨트롤을 배치합시다. 최상위 요소는 LinearLayout을 배치합니다. 그리고 자식으로 Switch와 TextView를 배치하세요. 이제 MainActivity.java 파일을 편집합시다. 먼저 Switch 형식의 멤버 필드를 선언하세요. Switch sw;onCreate 메서드에서 findViewById 메서드를 호출하여 xml에 배치한 Switch를 참조합니다. sw = (Switch)findViewById(R.id.sw);초기 Switch 상태에 따라 TextView를 설정하는 작업을 호출합시다. 이 부분은 별도의 메서드로..

이번에는 여러 개의 항목 중에서 하나를 선택할 때 사용하는 RadioButton을 사용하는 간단한 앱을 만들어 봅시다. 먼저 activity_main.xml 파일에 컨트롤을 배치합시다. 최상위 요소는 LinearLayout을 배치합니다.LinearLayout의 자식으로 두 개의 RadioGroup(혈액형, 성별)과 두 개의 TextView(혈액형, 성별)를 배치하세요.첫 번째 RadioGroup은 혈액형을 선택하기 위함입니다. A, B, O, AB 형을 선택할 수 있게 네 개의 RadioButton을 배치합니다. 초기에 A형을 선택한 상태로 표시하기 위해 checked 속성을 true로 설정하세요.두 번째 RadioGroup은 성별을 선택하기 위함입니다. 여성, 남성을 선택할 수 있게 두 개의 Radio..

이번에는 특정 항목을 선택 여부를 결정할 때 사용하는 CheckBox를 사용하는 간단한 앱을 만들어 봅시다. 여기서 실습할 내용은 두 개의 체크박스를 통해 TextView의 텍스트의 Bold와 Italic 속성을 설정 및 해제하는 것입니다.먼저 최상위 요소로 LinearLayout을 배치하고 두 개의 CheckBox(Bold, Italic)와 하나의 TextView(언제나 휴일)를 배치하세요. 그리고 Java 소스 파일에서 접근할 수 있게 id 속성을 지정하세요.다음은 activity_main.xml의 소스 내용입니다. MainActivity.java 소스 파일의 MainActivity 클래스에 소스 코드를 편집합시다.먼저, xml 파일에서 배치한 CheckBox 두 개와 TextV..

이번에는 사용자가 특정 기능을 수행하고자 할 때 사용하는 Button을 사용하는 간단한 실습을 해 봅시다.최상위 요소에 LinearLayout을 배치하세요. 그리고 EditText, TextView, Button을 자식으로 배치합니다.Button을 누르면 Java 소스 코드로 EditText에 입력한 값을 TextView의 text 속성으로 설정하게 할 것이므로 각 컨트롤에 id를 부여하세요. 먼저 MainActivity.java 파일의 onCreate 메서드에서 xml 파일에서 배치한 Button을 참조하기 위해 findViewById 메서드를 호출합니다.Button btn = (Button)findViewById(R.id.btn);그리고 해당 버튼을 클릭했을 때 수행할 이벤트 핸들..

이번에는 사용자가 문자열을 입력할 때 사용하는 EditText를 사용하는 간단한 실습을 해 봅시다.EditText 에 사용자가 어떤 값을 입력할 것인지 미리 정보를 주고자 한다면 hint 속성을 사용하세요.힌트의 글자색은 textColorHint 속성을 사용합니다.또한 EditText에 입력해야 할 형식이 수일 때는 inputType을 number로 지정합니다.만약 비밀번호를 입력하는 것이라면 inputType을 textPassword를 지정합니다. 언제나휴일 추천 여행 및 산책[눈길 산책] 충남 천안 신불당 아름드리공원

이번에는 기본 컨트롤(위젯) 중에서 텍스트 형태로 정보를 보여주는 TextView 실습을 해 봅시다.실습의 편의를 위해 최상위 요소는 LinearLayout으로 배치하세요.그리고 5개의 TextView를 자식으로 배치합시다.text 속성은 화면에 표시할 내용입니다. textSize, textStyle 등의 속성을 제공하고 있습니다.만약 java 소스 코드에서 접근하고자 한다면 id 속성을 “@+id/[원하는 이름]”형태로 지정하세요. MainActivity.java 소스 파일의 onCreate 메서드에서 activity_main.xml에 배치한 5번째 TextView를 멤버 필드에 참조한 후에 속성을 지정해 봅시다.먼저, findViewById 메서드를 이용하여 xml ..

이번에는 GridLayout을 실습하기로 합시다.GridLayout은 행과 열의 개수를 지정할 수 있습니다. 그리고 자식을 원하는 행과 열을 지정하여 배치할 수 있으며 필요에 의해 여러 개의 행과 여러 개의 열을 차지하게 배치할 수도 있습니다.최상위 요소로 LinearLayout을 배치하고 자식으로 TextView(GridLayout 실습)과 GridLayout을 배치합니다.GridLayout은 4행, 4열로 지정합니다. 이를 위해 columnCount와 rowCount 속성을 설정합니다.그리고 실습 실행화면처럼 8개의 버튼(0~6, GRIDLAYOUT)을 배치합니다. 원하는 행과 열에 배치하려면 layout_column, layout_row 속성을 이용하고 3, 4, 5, 6, GRIDLAYOUT 버튼..

이번에는 TableLayout을 실습을 통해 알아봅시다. TableLayout은 표 형태로 자식 컨트롤을 배치할 수 있습니다.최상위 요소는 LinearLayout이며 자식으로 TextView(TalbeLayout 실습)와 TableLayout으로 배치합니다.그리고 TableLayout의 자식으로 4개의 TableRow를 배치합니다.첫 번째 TableRow에는 TextView(숫자)를 배치합니다.두 번째 TableRow에는 5개의 TextView(0~4)를 배치합니다.세 번째 TableRow에는 5개의 TextView(5~9)를 배치합니다.네 번째 TableRow에는 Button을 배치합니다. ..

안드로이드 RelativeLayout이번에는 자식 컨트롤을 배치할 때 상, 하, 좌, 우, 중앙 등을 선택하여 배치할 수 있는 RelativeLayout을 이용하는 간단한 실습을 해 봅시다. 최상위 요소는 LinearLayout이며 TextView(RelativeLayout 실습)와 RelativeLayout을 자식으로 배치하세요. 그리고 RelativeLayout의 자식으로 5개의 TextView를 상, 하, 좌, 우, 중앙에 배치하세요.layout_alignParentTop, layout_alignParentBottom, layout_alignParentLeft, layout_alignParentRight 속성을 이용하여 상, 하, 좌, 우에 배치할 수 있으며 layout_centerInParent ..

안드로이드 LinearLayout이번에는 자식 컨트롤을 배치할 때 사용하는 Layout 중에 순차적으로 배치하는 LinearLayout을 사용하는 간단한 앱을 작성합시다. 먼저 Empty Activity 형태의 프로젝트를 생성하세요. 그리고 activity_main.xml 파일을 다음처럼 수정하세요. 여러분께서 목적에 따라 직접 입력을 하거나 자동 완성 기능을 사용하세요.LinearLayout에 자식을 배치할 때 위에서 아래로 배치할 때는 orientation 속성을 vertical로 설정합니다.언제나휴일 추천 여행 및 산책충남 천안 쌍용공원

첫 번째 앱 만들기 및 스마트폰에 개발자 옵션 설정하기Android Studio를 실행하여 Start a new Android Studio project를 선택합니다.앱 이름을 입력하고 프로젝트 위치를 설정합니다.자신에 맞는 Devices를 선택합니다.앱의 액티비티를 선택합니다.액티비티 이름을 결정하세요.처음 만들 때 오늘의 팁이 나옵니다. 필요 없으면 Show Tips on Startup 체크 박스를 선택 해제하세요.마법사에 의해 만들어진 주요 파일은 activity_main.xml과 MainActivity.java 파일입니다. xml 파일에는 컨텐츠 뷰에 자식 컨트롤을 배치하는 xml 코드를 작성할 수 있고 java 파일에는 수행할 작업을 작성할 수 있습니다.마법사에 의해 만들어진 MainActivi..

안드로이드 스튜디오 설치안드로이드 개발환경을 구축하는 순서는 다음과 같습니다.1. JDK 다운로드 및 설치2. 안드로이드 Studio 다운로드 및 설치3. 안드로이드 환경 설정4. 안드로이드 SDK 업데이트5. AVD(안드로이드 가상 장치) 만들기안드로이드 Studio는 Download Android Studio 사이트에서 다운로드 받을 수 있습니다.DOWNLOAD ANDROID STUDIO FOR WINDOWS 버튼을 클릭하세요.Download 전에 동의해야 합니다.동의 후에 DOWNLOAD ANDROID STUDIO FOR WINDOWS 버튼을 클릭하세요.다운로드 한 파일을 실행하여 Setup 창에서 Next 버튼을 클릭하세요.Choose Components 에서 Next 버튼을 클릭하세요.설치 항목..

JDK 설치 및 안드로이드 스튜디오 설치안드로이드 개발환경을 구축하는 순서는 다음과 같습니다.1. JDK 다운로드 및 설치2. 안드로이드 Studio 다운로드 및 설치3. 안드로이드 환경 설정4. 안드로이드 SDK 업데이트5. AVD(안드로이드 가상 장치) 만들기JDK는 오라클 기술 네트워크 사이트에서 다운로드 받을 수 있습니다.오라클 기술 네트워크 사이트에서 Java SE를 클릭합니다.JDK 다운로드 버튼을 클릭합니다.Accept License Agreement 를 체크하여 자신의 운영체제에 맞는 파일을 클릭하여 다운로드합니다.다운로드한 파일 실행하여 Next 버튼을 클릭합니다.Custom Setup 창에서 설치 경로를 기억해 두세요.설치 후에 설치 경로를 환경 설정에 추가해야 합니다.대상 폴더 창에서..

제어문, 정사각형, 삼각형, 역삼각형, 다이아몬드 출력 [C언어]알고리즘n:←정수 입력반복(line:0→n)반복(space:0→n-line-1)공백 출력반복(star:0→2*line+1)‘*’ 출력개행반복(line:n-2→n)반복(space:0→n-line-1)공백 출력 반복(star:0→2*line+1)‘*’ 출력개행소스코드//반복문 연습 - 다이아몬드 출력// 입력// 5 - n//출력// * 0- 공백 4, 별1, 개행// *** 1- 공백 3, 별3, 개행 // ***** 2- 공백2, 별5, 개행// ******* 3- 공백1, 별7, 개행 // ********* 4- 공백0,..

제어문, 정사각형, 삼각형, 역삼각형, 다이아몬드 출력 [C언어] 알고리즘n:←출력할 라인 수 입력 반복(line:0→n)—반복(space:0→line)——공백 출력—반복(star:0→2(n-line)-1)——‘*’ 출력—개행소스코드 //반복문 연습 - 역삼각형 출력//입력//5 - n //출력// ********* 0- 공백0, 별9, 개행// ******* 1- 공백1, 별7, 개행 // ***** 2- 공백2, 별5, 개행// *** 3- 공백 3, 별3, 개행// * 4- 공백 4, 별1, 개행 //공백 = line//별 = 2*(n-line)-1//개행=1 #include in..

제어문, 정사각형, 삼각형, 역삼각형, 다이아몬드 출력 [C언어]알고리즘n:←출력할 라인 수 입력 반복(line:0→n)—반복(space:0→(n-line))——공백 출력—반복(star:0→(2line+1))——‘*’ 출력—개행소스코드//반복문 연습 - 삼각형 출력//입력// 5 - n//출력// * 0- 공백 4, 별1, 개행// *** 1- 공백 3, 별3, 개행 // ***** 2- 공백2, 별5, 개행// ******* 3- 공백1, 별7, 개행 // ********* 4- 공백0, 별9, 개행//공백 = n-line//별 = 2*line +1//개행=1#include int..

제어문, 정사각형, 삼각형, 역삼각형, 다이아몬드 출력 [C언어]알고리즘n:←출력할 라인 수 입력반복(i:0→n)—반복(j:0→n)——‘*’출력—개행소스 코드//정사각형 출력// 입력// 5//출력// *****// *****// *****// *****// *****#include int main(void){ int n; int i, j; printf("출력할 라인 수:"); scanf_s("%d", &n);//입력 for (i = 0; i 언제나휴일 추천 여행 및 산책

안녕하세요. 언제나 휴일의 언휴예요.함수만들기 - 합계 구하기, 소수 판별, 소문자 판별, 대문자 판별, 소문자 변환, 대문자 변환자주 사용하는 알고리즘을 함수로 만들어 사용합니다.함수를 만들고 사용하는 것은 많은 연습을 필요합니다.이번에는 기초적인 함수들을 만들어 보는 실습을 해 볼게요.특정 범위 내의 정수 합계를 구하는 함수함수를 만들 때 제일 먼저 해야 할 일은 무엇을 만들어야 하는지 정확히 분석하는 거예요. 이러한 작업은 도메인 분석이라고도 부르죠.함수를 만들 때는 전달해야 할 인자가 무엇이고 어떠한 결과를 나와야 하는지 결정할 수 있어야 합니다.특정 범위 내의 정수 합계를 구하는 함수를 예를 든다면 입력 인자로 특정 범위를 전달해야 할 거예요. 범위의 시작과 범위의 끝을 전달하면 되겠죠. 그리고..

안녕하세요. 언제나휴일의 언휴예요.함수 선언, 함수 정의, 함수 호출 [C언어] 프로그램을 만들다 보면 자주 사용하는 알고리즘이 있어요.이러한 코드는 이름(함수 명), 알고리즘에 필요한 입력 인자(입력 매개변수), 원하는 결과(리턴 타입)를 정하여 알고리즘을 전개하여 함수로 만들 수 있습니다.함수를 만들면 필요할 때 함수를 호출하여 사용할 수 있어요.함수 개요우리는 초등학교부터 함수에 관한 교육을 받아왔어요.블랙 박스에 입력 값을 넣으면 출력 값이 나오는 형태, y = x+2 처럼 방정식 형태, 정의역과 공역의 요소를 매핑하는 형태와 f(x) = x+2 등 다양하게 다루었어요. 함수 정의문C언어의 함수 관련 문법은 크게 함수 정의문, 함수 호출문, 함수 선언문이 있어요.함수 정의문은 함수를 만드는 구문을..

안녕하세요. 언제나휴일의 언휴예요.제어문은 문법이 어려운 것은 아니죠.하지만 막상 문제를 표현하려고 할 때 어떠한 제어문을 어떻게 전개해야 할 지 막막합니다.이는 문법보다는 문제 해결 능력에 관한 것이죠.문제를 해결하기 위해 알고리즘, 자료구조를 비롯한 다양한 경험을 요구합니다.이번에는 다양한 제어문을 연습할 수 있는 다양한 문제를 제시할게요.여러분께서 먼저 해결해 본 후에 코드를 비교해 보길 권할게요.여기에서는 별도의 설명은 생략합니다.두 수를 입력받은 후 작은 수~큰 수 사이의 모든 수의 합을 구하는 프로그램을 작성하시오.#include int main(void){ int a, b; int sum; printf("두 개의 정수 입력:"); scanf_s("%d%d", &a, &b..