
flutter 개발에 앞서 개발환경을 세팅해야 한다. 여러가지 과정이 있지만 크게는 개발툴인 안드로이드 스튜디오와 flutter sdk를 설치하면 된다. 개발툴은 Visual Studio Code를 사용해도 되지만 flutter가 구글에서 개발한 프래임워크이기 때문에 호환성이나 향후 업데이트 이슈가 있을 수 있어서 개발툴도 구글의 안드로이드 스튜디오를 설치해서 사용하기로 했다. 개발환경을 세팅하기까지 시간이 상당히 소요되고 과정도 조금 지루하기 때문에 인내를 갖고 진행해보자. 개발환경 세팅 순서 1. flutter sdk 다운로드 2. 압축해제 후 flutter sdk 폴더 위치 변경 3. flutter sdk 위치를 환경변수 path에 설정 4. Android Studio 설치 5. Android St..

모바일 프레임워크 비교 이유 수년간 Visual Studio로 devexpress 컴포넌트를 사용해서 C# 윈도우 개발만 했었다. 하지만 트렌드가 변해서인지 몇년 전부터 회사에서 모바일 개발 요청이 들어오기 시작했다. VS 개발툴을 사용하고 c# 개발을 하다보니 자연스럽게 진입 장벽이 낮게 느껴지는 xamarin을 공부해서 앱을 만들게 되었고 실제 수십개의 메뉴를 만들어서 만족하며 운영중이다. 불편한 부분들이 많이 있었지만 C# 윈도우 개발과 크게 차이가 없어서 편하게 잘 사용하고 있었다. 그러나 점점 개발 난이도가 높은 요청이 들어오는데 xamarin 프레임워크는 시간이 지나도 다른 프레임워크에 비해서 개발환경이 크게 개선되는 부분이 없다고 느껴졌고 xamarin을 사용하는 개발자도 점점 적어지는걸 느..
복수문자 파싱 string 문자열을 특정한 구분자로 분리(파싱)해야하는 경우가 빈번하게 발생한다. 예를 들어 "강아지, 고양이, 독수리, 코끼리, 기린" 이라는 문자를 string으로 받았는데 string에 있는 동물의 종수를 알아야 한다거나, 아니면 한줄씩 화면에 출력해야 하는 경우 등 다양한 경우가 있을 수 있다. 이럴 경우 편하게 사용할 수 있는 함수가 split 이다. split을 사용하면 특정 문자를 기준으로 string에 입력된 문자를 배열로 변환할 수 있다. 변환할 배열의 타입을 list로 받을 수도 있고 string[] 로 받아도 된다. 콤마로만 구분이 가능한 string -> list 변환 예제 // 동물을 콤마 기준으로 입력 string animals = "강아지, 고양이, 독수리, 코..

react native에서 "eas build -p android" 명령어로 build를 하면 "eas.ps1 파일을 로드할 수 없습니다. 파일이 디지털 서명되지 않았습니다." 라는 에러가 발생하면서 build 되지 않는 경우가 있다. 권한문제로 eas 커맨드를 사용할 수 없어서 권한을 추가해주면 된다. 1. Windows PowerShell을 관리자 권한으로 실행한다. 2. "get-help Set-ExecutionPolicy"를 입력한다. 실행 정책에 대한 관련 도움말과 프로그램을 설치한다. 3. "Set-ExecutionPolicy RemoteSigned"를 입력한다. 신뢰하지 않는 스크트립트를 실행하도록 권한을 설정해서 eas 커맨드를 실행할 수 있도록 하면 된다. RemoteSigned 설정이 ..

그리드뷰에서 자동크기 설정 DevExpress GridView에서 칼럼의 크기를 자동으로 조절되도록할 수 있다. 기본으로 칼럼을 생성하면 width=75 사이즈로 되어있는데 실제 컴파일해보면 크기는 반영되지 않는다. 그 이유는 기본적으로 gridview의 OptionsView -> ColumnAutoWidth = true 옵션으로 되어있기 때문이다. true로 되어있는 경우 칼럼별 width 사이즈는 무시하고 Layout에서 설정해놓은 칼럼의 사이즈 비율에 따라서 화면에 출력된다. 현재 Layout에서 아이디 칼럼의 비율이 15% 정도 된다면, 컴파일 후 화면에 출력되는 그리드 전체 사이즈 중 15% 비율로 아이디 칼럼이 출력된다. 그리드뷰 사이즈가 줄면 칼럼 사이즈도 줄고 그리드 사이즈가 커지면 칼럼 ..

DevExpress GridView 컨트롤에서 칼럼 별로 필터기능이 제공된다. Grid Designer에 들어가서 Views -> GridView1 -> OptionsView -> ShowAutoFilterRow = true 옵션으로 변경해주면 된다. DevExpress Gridview 칼럼 필터 추가 1. Run Desinger 클릭 2. Views -> gridView1 클릭 3. OptionsView -> ShowAutoFilterRow = true 선택 4. UI에서 보면 칼럼 아래에 Filter Row가 추가된 것을 확인할 수 있다. 5. Filter에 값을 넣어서 원하는 데이터를 확인할 수 있다. 이름에 "워랜" 이라고 검색하면 "워랜"으로 시작하는 모든 Row가 검색된다. 주소에 "*한국동"..

Devexpress에서는 LayoutControl를 사용해서 컨트롤을 자동정렬할 수 있다. 자동정렬을 사용하지 않을 경우 UI를 디자인하는데 상당한 시간이 소요된다. Form에 LayoutControl을 올리고 그 이후에 button, textedit 등을 드래그, 드랍으로 옮기면 간편하게 원하는대로 디자인할 수 있다. button, textedit 좌측 상단에 정렬 1. Form 생성 후 LayoutControl 을 Form위에 올린다. 2. LayoutControl 범위를 Form 전체로 변경해서 Form 전체에 LayoutControl 적용 None -> Fill 로 옵션이 변경되면서 Form 전체에 적용된다. 3. Form 전체에 LayoutControl을 감쌌기 때문에 Form에 올리면 자동으로..

Xamarin에서 클릭 이벤트가 제공되지 않는 컨트롤에 이벤트를 만들어서 추가할 수 있다. 클릭 이벤트가 존재하지 않는 StackLayout 2개를 만들어서 해당 StackLayout이 클릭될 때 메시지를 출력해 보도록 하겠다. StackLayout에 클릭 이벤트 추가 예제 TapGestureRecognizer tap = new TapGestureRecognizer(); // 탭제스쳐 선언 tap.Tapped += Tap_Tapped; // 탭제스쳐에 탭 이벤트 추가 stack1Layout.GestureRecognizers.Add(tap); // stack1layout에 생성한 제스쳐 추가 stack2Layout.GestureRecognizers.Add(tap); // stack2layout에 생성한 제..