본문 바로가기

안드로이드앱 코딩_AndroidApp

비주얼 스튜디오 2022 설치 모바일 앱을 개발하는 방법은 여러 가지가 있다. 게다가 초보자 입장에서는 어떤 프로그래밍 언어를 배워야 할 지 어떤 개발 도구를 사용해야 할 지 처음에는 막막할 수도 있다. 개인마다 처한 상황이 다르므로 열심히 구글로 검색하다 보면 자신에게 맞는 앱 개발 언어와 도구를 찾을 수 있을 것이다. 이전에 코틀린 언어와 안드로이드 스튜디오를 사용해서 앱을 만들어 보았는데 이번에는 C#과 비주얼스튜디오에 있는 MAUI(마우이)를 사용해서 앱을 만들어 보기로 한다. 정식 이름은 .NET MAUI (닷넷마우이) 이전에는 비주얼스튜디오에서 앱을 만들기 위해서는 Xamarin(자마린)이라는 도구를 사용했었다. 자마린은 Xamarin platform(자마린 플랫폼) , Xamarin.Forms(자마린 닷 폼즈)로 발전했다.. 더보기
6번째 프로젝트 만들기_03 계속해서 이번에는 프로젝트를 만들었을 때 기본으로 생성된 activity_main.xml을 수정한다. activity_main.xml을 선택하자. 이 레이아웃 파일은 ConstraintLayout (컨스트레인트 레이아웃)으로 설정되어 있으며 기본으로 Hello World라는 text속성 값을 가진 TextView가 만들어져 있다. ConstraintLayout은 각 뷰들에게 제약(constraint)을 걸어서 배치하는 것이 특징이다. 몇 가지 뷰들을 삽입하고 제약을 걸어서 어떤 모습이 되는 지 확인해 볼 것이다. 먼저 이 TextView를 삭제하여 깨끗한 상태에서 작업하자. TextView를 마우스 오른쪽으로 누른 후 Delete(삭제)를 클릭한다. Palette(팔레트)의 Widgets(위젯)에서 Ca.. 더보기
6번째 프로젝트 만들기_02 여섯번째 프로젝트 01에 이어서 설명한다. 이제 MainActivity에서 다른 레이아웃 2개를 나타내는 함수를 만든다. loadConstraintLayout()함수는 activity_main 레이아웃을 보여주도록 한다. 이 레이아웃은 MainActivity와 짝을 이루어 기본으로 만들어지는 레이아웃이다. loadTableLayout()함수는 text_table_layout 레이아웃을 보여주도록 한다. 이 레이아웃은 아직 만들지 않았기 때문에 빨간색이다. 또한 매개변수 v의 타입은 View 인데 아직 등록되어 있지 않아서 빨간색이다. View를 import한다. table_layout은 아직 만들지 않았으므로 18번 줄 코드는 잠시 주석으로 해 둔다. 18번 줄을 선택한 후 Ctrl + / 를 클릭하면 .. 더보기
6번째 프로젝트 만들기_01 이번에 만들어 볼 프로젝트는 Layout(레이아웃)과 View(뷰)를 다루어 본다. 안드로이드 스튜디오는 현재 4.0.1이다. 실행 한 후 새 프로젝트를 만든다. Empty Activity(빈 액티비티)를 선택하고 Next(다음)을 클릭한다. 프로젝트 제목을 Exploring Layouts (레이아웃 탐험)이라고 하고 나머지 옵션은 아래와 같이 설정한다. 회색 부분은 자신의 컴퓨터에 맞게 적용될 것이다. Finish(종료) 버튼을 클릭한 후 잠시 기다리면 다음과 같은 모양이 될 것이다. 새 프로젝트를 만들면 코드를 입력하는 기본 클래스인 MainActivity.kt 파일과 View(뷰)의 배치를 보여주는 activity_main.xml 이라는 layout(레이아웃) 파일이 만들어 진다. 이전 글을 보았다.. 더보기
파편21_Intent로 데이터 주고 받기 Intent (인텐트) intent는 '의지, 의향, 의도, 목적'이라는 뜻이다. 컨텍스트의 기능을 사용하기 위해 Context 클래스에 있는 함수를 호출할 때는 직접 연결하지 않고 Intent에 넣어서 이것을 사용할 것이라는 '의도'를 시스템에 전달한다. 예를 들어 Activity를 실행할려면 Intent( ) 함수에 어떤 Activity(TargetActivity)를 실행할 것인지 알려주고 startActivity()함수로 실행할 수 있다. val intent = Intent(this, TargetActivity::class.java) startActivity(intent) 참고로 MainActivity는 자동으로 Intent를 등록하므로 실행하기 위해 따로 적을 필요가 없다. Bundle (번들) .. 더보기
파편20_Context_컨텍스트 Context(컨텍스트)는 쉽게 말하면 '안드로이드 시스템과 앱에서 만든 컴퍼넌트를 연결해 주는 역할'을 하는 추상 클래스다. 그러므로 Context 라는 추상클래스는 컴퍼넌트에 대해 상위 클래스의 지위를 가지고 컴퍼넌트의 모든 기능과 Interface(상호작용)할 수 있는 함수를 가지고 있다. 다시 말해서 안드로이드 시스템은 컴퍼넌트의 기능을 Context라는 추상클래스를 통해 구현한다는 것이다. 예를 들어 컴퍼넌트 중 화면을 만드는 Activity(액티비티)에는 여러 구성요소(텍스트, 버튼 등)들이 있는데 이것은 XML코드로 작성된다. 이것을 View(뷰)객체로 만들면 화면에 보이게 된다. 이 과정을 안드로이드 시스템이 Context를 통해 구현하는 것이다. 왜 이것이 가능하냐면 Activity는 C.. 더보기
파편19_android studio_프로젝트 복사본 만드는 법 안드로이드 스튜디오로 프로젝트를 만들다가 샛길로 빠져 다른 방법으로 시도해 보고 싶은 상황이 생겼을 때는 프로젝트 복사본을 만든 후 열면 된다. 순서는 다음과 같다. 프로젝트가 실행된 상태에서 작업한다. 탐색기에서 해당 프로젝트 폴더를 찾는다.(예; SciQuiz) 프로젝트 폴더를 복사하고 붙여넣기 한다. 폴더 이름을 바꾼다. (예; SciQuizCopy) 안드로이드 스튜디오에서 File > Open을 클릭한다. 폴더(SciQuizCopy)를 선택하고 OK를 클릭한다. 새 창(New Window) 버튼을 클릭하면 프로젝트가 2개(SciQuiz와 SciQuizCopy)가 열려 있는 상태가 된다. 작업할 때는 원본인지 카피본인지 주의하면서 작업해야 한다. Wraven... 더보기
파편18_Gradle 앱을 테스트하고 배포하기 위해서는 build(빌드)라는 작업을 거친다. 테스트 하라는 명령을 내리면 안드로이드 스튜디오는 작성한 코드를 컴파일(compile)해서 ART(Android Run Time)로 실행한다. 또한 배포용 파일인 APK파일을 만들라는 명령을 내리면 리소스와 자바코드를 컴파일(compile) 하는 과정을 거쳐 실행파일을 만든다. 그 다음 개발자가 key로 서명하면 만들수 있다. 이 빌드 작업을 위한 도구가 gradle이다. build.gradle파일은 2종류가 있다. Project Module 1. Project 프로젝트 전체를 위한 설정, 모든 모듈을 위한 최상위 설정을 기록한다. 라이브러리를 추가할 경우 dependencies에 기록한다. dependency(디펜던시)는 '의존, .. 더보기