반응형

Mobile 80

[Flutter] Listview 위젯 사용하기

안녕하세요 골드입니다. 오늘은 Flutter에서 Listview를 사용하는 방법에 대해서 글을 작성하도록 하겠습니다. 저는 작성한 리스트를 리스트뷰로 보여주도록 하겠습니다. 1. List 생성 먼저 material design을 위한 패키지를 import합니다. 앞으로 자주 import할 녀석입니다. material design을 사용하도록 도와줍니다. 다음으로 main 함수를 작성합니다. flutter의 main 함수입니다. 앱을 실행하면 가장 먼저 실행되는 함수입니다. 람다식으로 표현되어 있고 runApp() 안에 들어있는 메서드를 실행합니다. 두 가지 변수를 선언했습니다. 하나는 String 변수로 title을 지정하기 위해 선언했습니다. 다른 하나는 List 형식의 변수입니다. dart에서 Lis..

Mobile/Flutter 2020.04.25

[Flutter] Window에서 Flutter 개발 환경 설정하기 (toolchain 오류 해결하기)

안녕하세요 골드입니다. 오늘은 Flutter를 위한 개발환경을 설정하는 방법에 대해서 알아보도록 하겠습니다. https://flutter-ko.dev/ Flutter - 가장 빠른 아름다운 네이티브 앱 Flutter(플러터)는 하나의 코드베이스로 모바일, 웹, 데스크톱에서 네이티브로 컴파일 되는 구글의 아름다운 UI 툴킷입니다. Flutter는 기존 코드와 함께 동작하고, 전세계 개발자와 조직에 쓰이고 있으며, 무료 오픈 소스입니다. flutter-ko.dev 1. Flutter SDK 다운로드 Flutter 공식 홈페이지에 접속하여 시작하기를 클릭합니다. Window 운영체제를 선택하고 SDK를 다운받습니다. Flutter SDK를 다운받고 원하는 위치에 설치합니다. (2번 참조) (저는 문서에 넣었습..

Mobile/Flutter 2020.04.24

[Android/java] Preference UI 빌드, 어플리케이션 설정 구현

안녕하세요 골드입니다. 오늘은 어플리케이션에서 설정 창을 구현하는 방법에 대해서 글을 쓰도록 하겠습니다. 안드로이드는 어플리케이션에 사용자 설정 화면을 만들 수 있도록 XML기반 라이브러리를 제공하고 있습니다. 이 라이브러리를 사용하면 일관성 있는 사용자 UI를 생성할 수 있습니다. 여기에는 분명한 장점이 있습니다. 사용자는 익숙한 설정 화면의 레이아웃과 사용법에 익숙해지게 됩니다. 그리고 다른 어플리케이션의 설정을 우리 어플리케이션에 통합할 수 있게 됩니다. Preference 라이브러리는 두 가지 요소로 구성됩니다. - 프레퍼런스 화면 레이아웃 : 화면에 보여줄 공유 프레퍼런스 키를 지정하는 XML 파일. - 프레퍼런스 프래그먼트 : XML파일을 인플레이트하는 PreferenceFragment나 Pr..

[Android/java] SwipeRefreshLayout을 이용하여 당겨서 리스트 새로고침구현하기

안녕하세요 골드입니다. 오늘은 스와이프해서 리스트를 새로 고침하는 방법에 대해서 알아보겠습니다. Swipe는 화면을 아래로 당기듯이 드래그하는 것을 말합니다. 핸드폰 화면은 한정되어 있기 때문에 따로 새로고침 버튼을 두는 것도 좋지만 Swipe 새로고침을 많이 사용하고 있습니다. 이번 포스팅에서 저는 RecyclerView를 사용한 앱을 미리 만들어놨습니다. 여기에 swipe refresh기능을 추가하도록 할 것입니다. 아마 이 글을 보는 분들도 이런 상황일 것이라고 생각합니다. 헷갈리지 않도록 잘 써보도록 하겠습니다. 1. RecyclerView 부모 레이아웃으로 SwipeRefreshLayout 추가 최상위 레이아웃으로 SwipeRefreshLayout을 설정했습니다. SwipeRefreshLayou..

[Android/java] Fragment 동적 생성, 제거, 교체 애니메이션

안녕하세요 골드입니다. 오늘은 Android에서 코드로 Fragment를 동적으로 생성, 제거, 교체하는 방법에 대해서 글을 쓰도록 하겠습니다. Fragment는 Activity가 존재해야 존재할 수 있습니다. Activity에 추가된 Fragment를 생성하거나 제거, 교체하기 위해서 사용되는 메서드들은 Fragment Manager에서 제공합니다. Fragment Manager를 먼저 선언하고 Fragment Transaction를 사용하여 Fragment를 생성하거나 할 수 있습니다. Fragment Manager는 Activity가 Fragment를 관리하기 위해서 선언하게 됩니다. Fragment Manager의 참조는 getSupportFragmentManager 메서드를 사용합니다. 1. a..

[Android/java] Camera 사용하기 (동적으로 ImageView 만들어서 Layout에 삽입하기)

안녕하세요 골드입니다. 오늘은 Camera에 대해 글을 쓰도록 하겠습니다. 최근에 나온 Android 단말기는 99% 카메라를 장착하고 있습니다. Camera를 직접 만들어 쓸 수도 있겠지만 그것보다 Intent를 활용하여 Camera 앱에 접근하는 방식을 사용하여 조금 더 효율적이고 쉬운 방법으로 Camera를 사용할 수 있습니다. 먼저 Manifast 파일에 카메라 하드웨어 접근 권한을 추가합니다. 1. Camera Intent를 호출 MainActivity.class 파일에 Camera Intent를 호출해서 Camera 앱에 접근할 수 있도록 합니다. startActivityForResult() 메서드로 카메라 Intent를 보냅니다. 두 번째 매개변수 값이 0보다 큰 값이라면 새로운 액티비티가 ..

[Android/java] AlertDialog.Builder를 통한 Custom Dialog 만들기

안녕하세요 골드입니다. 오늘은 Custom Dialog 만드는 법에 대해서 글을 쓰겠습니다. Dialog는 대화상자로 여러분이 잘 아는 바로 그 대화상자입니다. 어플리케이션을 만든다면 정말 안 쓸 수가 없습니다. 그만큼 많이 사용하고 효율적인 부분이 있습니다. 그럼 만들어보겠습니다. 1. Dialog를 정의하는 java class 만들기 먼저 Dialog를 정의하는 class 파일을 만들겠습니다. DialogFragment를 상속합니다. DialogFragment 클래스는 Dialog 객체의 메서드를 호출하는 대신 대화상자를 만들고 외형을 관리하는 데 필요한 모든 컨트롤을 제공합니다. 올바른 이벤트 처리가 가능하며, UI 재사용이 가능합니다. 간단하게 MyDialog.class를 작성하였습니다. 따로 테..

[Android/java] RecyclerView를 활용하여 ListView 만들기

안녕하세요 골드입니다. 오늘은 요즘 안드로이드에서 밀고 있는 RecyclerView에 대해서 알아보겠습니다. RecyclerView는 대량의 데이터 세트를 스크롤 목록으로 표시할 때 사용합니다. RecyclerView는 기존의 ListView와 매우 유사하지만, ListView가 더욱 진보하고 유연해진 버전이라고 합니다. 최근 구글에서도 리스트 형식의 UI를 구현할땐, ListView보다 RecyclerView를 사용하라고 권고하고 있는데요. 어떤 부분이 ListView보다 진보되었고 유연했는지 먼저 알아보겠습니다. ListView의 경우 기본적으로 구현했을 때 리스트 항목이 갱신될 때마다, 매번 아이템 뷰를 새로 구성한다는 단점이 있습니다. 대량의 데이터를 표시하는 상황에서 이는 성능을 저하시키는 요인..

[Android/java] Options Menu 만들기

안녕하세요 골드입니다.오늘은 안드로이드에서 많이 사용하는 App Bar 메뉴에 대해서 간단하게 글을 써보도록 하겠습니다. Appbar 메뉴는 오른쪽에 보이는 new버튼과 ... 버튼입니다.다양한 메뉴를 Appbar 위에 놓을 수 있고,메뉴가 너무 많으면 점점점 버튼에 넣어놓고 눌렀을 경우 팝업으로 보여줄 수 있습니다. 시작하기 전에 해야할 일이 있습니다.먼저 AndroidManifest.xml에서 태그 안에theme를 NoActionBar로 설정해주기 바랍니다. 1. activity_main xml 파일액션바를 지웠습니다.그 자리에 새로운 툴바를 만들기 위해 툴바를 생성합니다. 툴바를 사용할땐 빨란 에러가 생길 수 있습니다.수직 방향에 대한 속성을 설정해달라는 말인데요,저는 그래서 LinearLayout..

[Android/java] Retrofit2를 이용한 JSON 데이터 HTTP 통신(GET, POST) 방법 (CLEARTEXT 오류 해결)

안녕하세요 골드입니다. 오늘은 Retrofit2를 사용해서 HTTP통신을 하는 방법에 대해서 글을 쓰겠습니다. 1. HTTP 통신규약 HTTP는 www상에서 정보를 주고받을 수 있는 프로토콜입니다. HTTP는 이름이고 통신규약(프로토콜)은 원거리 통신 장비 사이에서 메세지를 주고 받는 규칙입니다. 웹에서 이루어지는 데이터 교환의 기초이며, 클라이언트와 서버를 이루고 요청/응답을 하는 프로토콜입니다. 작동 방식은 간단하게, 클라이언트에서 요청(Request)를 보내면 서버에서 그 요청을 받고 응답(Response)합니다. 서버의 과부화를 막기 위해 응답을 받으면 요청을 끊어버린다는 것은 많이 들어봤을 것입니다. http에는 서버에게 요청의 종류를 알려주는 몇 가지 메서드가 존재합니다. 그 중 네 가지를 살..