본문 바로가기

분류 전체보기337

[스위프트] NavigationController 텍스트 변경, 없애기_코드포함 NavigationController 텍스트 변경, 없애기 ■ BackButton. 색상 바꾸는 법 viewDidLoad() 에 다음 코드 입력 self.navigationController?.navigationBar.tintColor = UIColor.green ■ RGB로 넣는 법 self.navigationController?.navigationBar.tintColor = UIColor(red: 255/255, green: 0/255, blue: 0/255, alpha: 1.0) ■ 텍스트 없애는 법 self.navigationController?.navigationBar.topItem?.title = "" -------------------------- iOS프로그래밍 학습을 위해 더 많은 예제 .. 2020. 2. 15.

[ 스위프트 ] TextView에 radius (테두리 둥글게) 적용하기 viewDidLoad()에 아래 코드를 입력해주세요. textView.layer.cornerRadius = 10 2020. 2. 15.

[스위프트] 초보를 위한 delegate 정리 2 ( 쉬운 예제 포함 ) 프로젝트에 피커뷰를 하나 추가해주세요. 피커뷰에 대한 액션을 만들어야 된다고 생각할 수 있지만 막상 action이 없습니다. 그럼 어떻게 피커뷰에 원하는 데이터를 넣을 수 있을까요? 바로 UIPickerViewDelegate, UIPickerViewDataSource 를 사용하면 됩니다. 채택과 동시에 swift 파일 안에 선언해줘야 하는 함수들이 있는데 그렇지 않으면 오류 납니다. 그런 함수들을 어떻게 확인할까요? cmd키를 누른 채 글자에 커서를 갖다두면 링크가 생깁니다. 누르시고 Jump to Definition를 클릭하시면 사용할 수 있는 함수들을 볼 수 있습니다. 아래와 같이 (Definiation)에 있었던 optional 이 붙어있지 않은 함수를 구현하면 다음과 같이 원하는 결과를 얻을 수 .. 2020. 2. 15.

[토익PDF] 구분해서 쓰세요! 사람/사물을 수식하는 형용사 사람/사물을 수식하는 형용사 토익 출제 포인트 수식해야 하는 명사에 맞는 형용사를 고릅니다 토익 문제 유형 수식해야 하는 사람 또는 사물 명사에 맞는 형용사 고르기 토익 빈출 표현 사람 명사와 주로 쓰이는 형용사 considerate 사려 깊은 satisfied 만족하는 understanding 이해심 있는 argumentative 논쟁을 좋아하는 confident 자신 있는 ambitious 야심적인 generous 관대한 polite 예의 바른 reliable 신뢰할 수 있는 John is a confident speaker who can capture the audience's attention. 존은 관객의 주목을 받을 수 있는 자신감 있는 연설가입니다. 사물 명사와 주로 쓰이는 형용사 consi.. 2020. 2. 15.

[안드로이드 스튜디오] 오류 해결_HardCoded HardCoded string 이유인 즉, HardCoded string, 사용자가 직접 코딩(코드로 작성)한 문자열이다 따라서 안드로이드 스튜디오는 @string resource 를 사용 할 것을 권하고 있다. 2019. 12. 27.

[안드로이드 스튜디오]로그캣 필터 사용 방법 1. 안드로이드 스튜디오 하단에서 Logcat 아이콘을 눌러서 logcat 창을 띄운다. 2. 오른쪽 상단부분에 Show only selected application 이 쓰여져 있는 목록을 연다. 3. Edit Filter Configuration 를 누른다. 4. 로그캣 필터를 만들어보자. Filter Name Log Tag(regex) 실제로 코드상에 들어가는 태그 Log Message(regex) 보고 싶은 메시지만 출력하도록 Pakage Name 패키지 이름 PID 프로세스 아이디 Log Level 로그의 중요도 레벨 (중요도 순 : Verbose < Info < Debug < Warn < Error ) 예) public class MainActivity extends AppCompatActiv.. 2019. 12. 11.

[안드로이드 스튜디오] 데드락 발생 이유? 여러 개의 스레드*가 동시에 공통 메모리 리소스에 접근할 때 데드락 발생함 데드락이란 동시에 두 곳 이상에서 요청이 생겼을 때 어떤 것을 먼저 처리할지 판단할 수 없이 발생하는 시스템 상의 문제 *스레드 : 동시 수행이 가능한 작업 단위, 현재 수행 중인 작업 이외의 기능을 동시에 처리할 때 새로운 스레드를 만들어 처리 2019. 12. 9.

[안드로이드 스튜디오]ems란? 실제 문자열의 크기에 상관없이 문자의 폭에 맞게 너비 설정 ems는 layout_width가 wrap_content일 때만 적용할 수 있음 2019. 12. 9.

[Do it 개정6판_안드로이드 스튜디오]둘째마당_07 선택 위젯 만들기 07-1 나인패치 이미지 알아보기 - 그래픽 프로그램에서 만든 버튼 이미지를 표시하면 단말에 따라 왜곡현상이 일어날 수 있기 때문에 해결 방법을 찾아야했다. - 나인패치(Nine Patch) 이미지 왜곡 해결 방안이다. - 수정한 이미지의 파일 이름은 ooo.9.png 처럼 파일 확장자 앞에 9을 붙이면 안드로에서는 그 파일을 원본 이미지의 가로, 세로 끝부분의 픽셀을 모두 나인패치 이미지의 정보를 담은 것으로 인식한다. > SampleNinePatch 프로젝트 ▼ activity_main.xml a 07-2 새로운 뷰 만들기 - 뷰의 영역과 크기는 그 뷰를 포함하고 있는 레이아웃의 영향을 받아 정해진다. 이때 개발자가 뷰의 상태에 따라 추가적인 코드를 넣을 수 콜백 메서드가 호출됨 - 뷰가 스스로의 크.. 2019. 12. 7.

[Do it 개정6판_안드로이드 스튜디오]둘째마당_15 푸시 서비스와 센서 및 단말 기능 사용하기 15-1 진동과 소리로 알려주기 - 사용자에게 무언가를 알려주는 가장 간단한 방법은 진동과 소리 - 안드로이드에서 진동은 얼마동안 안 울리도록 할 것인지 지정할 수 있음-> Vibrator라는 시스템 서비스 객체를 사용 > SampleVibrate 프로젝트 ▼ MainActivity.java package com.ogrg.techtown.vibrate; import androidx.appcompat.app.AppCompatActivity; import android.content.Context; import android.media.MediaPlayer; import android.media.Ringtone; import android.media.RingtoneManager; import android... 2019. 12. 3.

[Do it 개정6판_안드로이드 스튜디오]둘째마당_11 단말에 데이터베이스와 내용 제공자 만들기 11-1 모바일 데이터베이스란? - 데이터를 간단하게 저장하고 싶을 때는 SharedPreferences 를 사용, SQL 문 - 안드로이드는 Enbedded Database로 개발된 경량급 관계형 데이터베이스인 SQLite를 가지고 있다. 11-2 데이터베이스와 테이블 만들기 - 간단한 방법으로는 Context 클래스에 정의된 openOnCreateDatabase() 메서드를 사용하는 것 - 위 메서드의 첫 번째 파라미터는 '데이터베이스 이름' 두 번째 파라미터는 '사용 모드', 세 번째 파라미터는 Null이 아닌 객체를 지정할 경우 쿼리의 결과 값으로 반환되는 데이터를 참조하는 커서를 만들어낼 수 있다. >SampleDatabase 프로젝트 ▼ MainActivity.java package com.o.. 2019. 12. 3.

[Do it 개정6판_안드로이드 스튜디오]둘째마당_10 서버에 데이터 요청하고 응답받기 - 단말에서 독집적으로 동작하는 앱을 만들기 보다는 서버에 있는 데이터를 요청에서 사용하는 경우가 많다. 10-1 네트워킹이란? ■ 네트워크 연결 방식 이해하기 10-2 소켓 사용하기 ■ HTTP 프로토콜과 소켓 >SampleSocket 프로젝트 ▼MainActivity.java package com.ogrg.techtown.push.socket; import androidx.appcompat.app.AppCompatActivity; import android.os.Build; import android.os.Bundle; import android.os.Handler; import android.preference.PreferenceActivity; import android.util.Log; impo.. 2019. 12. 3.

[Do it 개정6판_안드로이드 스튜디오]둘째마당_05 프래그먼트 이해하기 - 화면 안에 들어가는 레이아웃이 중복되지 않도록 한 번만 정의하고 재사용할 수 있도록 만든 것이 프래그먼트 05-1 프래그먼트란? ■ 프래그먼트에 대해 이해하기 - 하나의 액티비티 안에 다른 액티비티를 넣는다는 것은 단말의 리소스를 많이 사용하는 비효율적인 방법 - 프래그먼트는 하나의 화면 안에 들어가는 부분 화면과 같아서 하나의 레이아웃처럼 보인다. - 프래그먼트의 사용 목적 1. 분할된 화면들을 독립적으로 구성하기 위해 사용함 2. 분할된 화면들의 상태를 관리하기 위해 사용함 액티비티 시스템에서 관리하는 화면 프래그먼트 단순히 액티비티 위에 올라가는 화면의 일부 즉 '부분 화면' - 프래그먼트는 항상 액티비티 위에 올라가 있어야 한다. - 따라서 프래그먼트가 제대로 동작하는 시점은 프래그먼트가 메모.. 2019. 12. 1.

[Do it 개정6판_안드로이드 스튜디오]둘째마당_04 여러 화면 간 전환하기 04-1 레이아웃 인플레이션 이해하기 - 이제까지 하나의 화면에 대하여 화면을 어떻게 보여줄지 결정하는 XML 레이아웃을 정의했다. - 구조를 나타내는 XML과 화면의 기능을 담당하는 java 파일을 연결해줘야 한다. - 화면의 기능을 담당하는 소스 파일에는 AppCompatActivity를 상속하는 MainActivitiy 클래스가 자동으로 만들어진다. - 여기서 R은 프로젝트 창에 보이는 res 폴더를 의미한다. - 앱이 실행될 때 XML 레이아웃의 내용이 메모리에 객체화되고 객체화된 XML 레이아웃을 소스 파일엥서 사용 - 이렇게 XML 레이아웃의 내용이 메모리에 객체화되는 과정을 인플레이션이라고 한다. - 메모리에 객체화되지 않은 버튼 객체를 참조하려고 했기 때문에 심각한 오류로 앱 자체를 멈추게.. 2019. 11. 29.

[Do it 개정6판_안드로이드 스튜디오]둘째마당_03 기본 위젯과 드로어블 사용하기 03-1 기본 위젯 다시 한 번 자세히 공부하기 ■ 텍스트뷰 자세히 살펴보기 - 화면에 글자를 보여주는 역할 - strings.xml 파일에 작성한 문자열을 지정할 수 있음, 이 파일에 정의된 문자열은 text 속성에서 @string/... 와 같은 형식응로 참조해야 합니다. - XML 레이아웃 파일과 문자열 파일을 구분하는 것이 좋음 - 안드로이드에서 다국어를 지원하려면? 더보기 app/res 폴더 안에 두 개의 폴더를 만든 후 그 안에서 stings.xml 파일을 넣어둔다. 영어는 values-en, values-ko - textColor 속성 : 텍스트뷰에서 표시하는 문자열의 색상, '#AARRGGBB' 포맷 사용 - textSize 속성 : 단말 해상도에 따라 글자의 크기를 일정한 크기로 보일 수.. 2019. 11. 28.

[Do it 개정6판_안드로이드 스튜디오]둘째마당_02 레이아웃 익히기 02-1 안드로이드에 포함된 대표적인 레이아웃 살려보기 ConstraintLayot LinearLayout RelativeLayout FrameLayout TableLayout - 뷰에 색 넣기 #ff0000 //빨간색 #00ff00 //녹색 #0000ff // 파랑 투명도를 넣고 싶다면 맨앞에 00 추가 - 배경으로 이미지를 지정할 수 있음 /app/src/main/res/drawable 이 폴더에 이미지 파일 넣기 02-2 리니어 레이아웃 사용하기 ■ 리니어 레이아웃의 방향 설정하기 방향 설정할 때는 orientation 속성을 사용하여 가로 방향은 horizontal, 세로 방향은 vertical이라는 값으로 설정 ■ 자바 코드에서 화면 구성하기 - xml 파일은 화면을 위해 만든 자바 소스 파일과.. 2019. 11. 27.

[Do it 개정6판_안드로이드 스튜디오]둘째마당_01 안드로이드 스튜디오 설치 안드로이드에서는 하나의 화면을 Activity로 Activity 안에 들어가는 각각의 구성 요소는 View를 만들어서 추가 Activity 안의 View들을 배치하는 것을 Layout 이라고 한다. 01-1 안드로이드 스튜디오 제대로 익히기 안드로이드 스튜디오는 인텔리제이라는 개발 도구를 확장시켜 만든 것 자동으로 앱 제작에 필요한 파일들을 만들어 주는데 앱의 첫 화면은 기본으로 제공 패키지 이름 : 앱을 구분하는 고유한 값 즉 전 세계에서 만들어지는 앱과 중복되지 않는 유일한 이름 shortcut : ctrl + tab = xml file java file 클래스에 커서를 대고 ctrl + Q 클래스에 대한 API를 볼 수 있음 메서드 소괄호 안에 들어갈 수 있는 파라미터(매개변수)가 어떤 것들이 있는.. 2019. 11. 27.

[Do it 개정6판_안드로이드 스튜디오] 첫째마당 이 장에서는 자바 소스 코드를 이해하는 것보다 안드로이드 스튜디오를 사용하여 앱을 개발하는 과정을 이해하는 것이 더 중요하다. public class HomeActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_home); } public void onButtonOnClinked(View v) { Toast.makeText(this, "버튼이 눌렸습니다. ", Toast.LENGTH_SHORT).show(); } public void onButtonOnClin.. 2019. 11. 27.

[안드로이드 스튜디오] ListView(리스트뷰) 만들기 리스트뷰를 만들거니까 간단한 레이아웃 작업부터 들어가보자. Linear 기본 셋팅이 Horizental로 나온다. 변경하려면 activity_main.xml에서 layout 태그 안에 orientation:vertical로 지정 MainActivity.java package com.ogrg.listexample; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.ArrayAdapter; import android.widget.ListView; import java.lang.reflect.Array; import java.util.ArrayList; import java.util.Li.. 2019. 11. 24.

[안드로이드 스튜디오] 패키지 구조, 용어 정리 왼쪽 바에서 Android - app - manifests AndroidManifest.xml에서 - 아이콘 같은 소스 자료로 이동하려면 Ctrl 누르고 마우스를 갖다대면 링크로 넘어갈 수 있음 - Activitiy 선언을 담당하고 있음 Res - Drawable 외부 이미지를 가져와서 넣는 곳 Res - mipmap dpi 안드로이드에서 사용하는 해상도 단위 Res - values 주요 컬러들 지정해놓기 Res - strings 주요 단어들 지정해놓기 2019. 11. 23.

[안드로이드 스튜디오] intent 사용해서 화면 전환하기 MainActivity.java package com.ogrg.myapplication2; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class MainActivity extends AppCompatActivity { private Button btn_move; private EditText et_test; private String str; @Override protected void onC.. 2019. 11. 23.

[안드로이드 스튜디오] 라디오 버튼 사용하기 package com.ogrg.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.RadioButton; import android.widget.RadioGroup; import android.widget.Toast; public class MainActivity extends AppCompatActivity { private RadioGroup rg_gender; private RadioButton rb_man, rb_woman; private Button .. 2019. 11. 23.

[C# 실습 예제] 비주얼 스튜디오2019_ Delegate ■ 목적 - 함수의 대리자 (사전적인 의미: Delegate '대리자') - method 동일한 Type의 delagate를 선언 - 선언한 delegate 변수 생성 - 생성한 delegate에 사용할 method를 참조 시킴 - CallBack method 구현 : method의 인자로 delegate를 사용하여 다른 함수에서 delegate 함수를 호출해서 사용하도록 함 - 델리게이트의 일반화 (delegate): 일반화 Type으로 선언 할 경우 어떤 Type의 method 든지 사용할 수 있음 - 델리게이트 체인(delegate chain) : - +=, -=로 함수를 연결하거나 해제해서 순서대로 호출할 수 있음 > UI 만들고 naming 하기 - listbox 만드는 이유는 delegate .. 2019. 11. 13.

[C# 실습 예제] 비주얼 스튜디오 2019 _사용자 정의 컨트롤 이 글은 유투브 강의 보고 요약한 것입니다. 따라 실습하면서 캡쳐한 것이니 생략된 부분이 많을 것입니다. 자세히 공부하고 싶은신 분은 영상을 참고해주세요. 훌륭한 강의 제공해주신 유튜버 DoriDori님께 감사합니다. https://youtu.be/o2PQDs90iHA ※ 비주얼 스튜디오 2019(윈도우) ■ 컨트롤이란? ■ 사용자 정의 컨트롤 - Winform 에서 기본적으로 제공하는 Control 외 사용자가 원하는 형태의 Control를 만들어서 사용할 수 있음 - Code를 분리해서 가독성을 높여 줄 수 있음 - Control의 재사용이 뛰어남 ■ 프로젝트 만들고 사용자 정의 컨트롤 생성하기 - 상단 메뉴바에서 [프로젝트]-[사용자 정의 컨트롤 추가] - 우측 솔루션 탐색기에서 프로젝트에 커서 두.. 2019. 11. 12.

[C# 실습 예제] 비주얼 스튜디오 2019_동적 레이아웃 구성하기 이 글은 유투브 강의 보고 요약한 것입니다. 강의를 보고 따라 실습하면서 캡쳐한 것이니 생략된 부분이 많을 것입니다. 자세한 내용은 영상을 참고해주세요. 훌륭한 강의 제공해주신 유튜버 DoriDori님께 감사합니다. https://youtu.be/pybW6YxZHRQ 디스플레이 다양해지면서 화면 비율을 동적으로 바꾸는 것이 필요해졌다. 목적에 맞게 화면을 가변적으로 움직일 수 있게 만들고, 화면 구성을 어떻게 할 것인가 잘 정해놓으면 나중에 유지보수할 때가 좋다. 종류 1 단일 2 Split 3 왼쪽 상단 중간 4 상단 중간 5 복잡 오늘은 컨트롤을 만들고 버튼이랑 메인화면을 분리시키는 작업을 할 것이다. ■ 단일 ■ Split 사용하기 ■ TableLayout 사용하기 2019. 11. 8.