목록개발자료 (56)
[위미르 개발팀] Android, iOS , Web 제작
안드로이드 스튜디오에서 Gradle을 이용하여 라이브러리를 추가하다보면Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536또는trouble writing output: Too many field references: 131000; max is 65536. You may try using --multi-dex option.와 같은 에러로 인해 빌드가 불가능한 상황을 맞게 됩니다. 이럴때는 multidex를 사용하면 65536개가 넘는 메소드를 사용할수 있습니다. 먼저 app.gradle을 열어주세요 그런다음 defaultConfig에 multiDexEnabled true를 추가합니다. and..
현재 보여지고있는 최상위 프래그먼트를 구하는 방법입니다 for (Fragment fragment: getSupportFragmentManager().getFragments()) { if (fragment.isVisible()) { //할일 } } FragmentManager에서 모든 프래그먼트를 구한다음 해당 프래그먼트가 보여지고 있는지 확인 합니다. 그리고 해당 프래그먼트가 무엇인지에 따라서 작업을 할때는 다음과 같이 확인 할수 있습니다. for (Fragment fragment: getSupportFragmentManager().getFragments()) { if (fragment.isVisible()) { if(fragment instanceof 프래그먼트클래스){ //할일 } } }Fragmen..
특정 키를 눌러서 이벤트를 발생시킬때 Form의 이벤트에서 KeyDown을 찾아서 private void Form_KeyDown(object sender, KeyEventArgs e) { if(e.KeyCode == Keys.Escape) { this.Close(); } } 이러한 코드를 작성하면 될것이라는 생각을 하기 쉽습니다. 하지만 이코드는 원하는대로 작동하지 않습니다. 우리가 원하는대로 작동하게 하려면 해당 폼의 클래스에서 ProcessCmdKey를 오버라이딩 해야합니다. protected override bool ProcessCmdKey(ref Message msg, Keys keyData){ if(keyData == Keys.Escape) { this.Close(); return true; }..
각종 API를 사용하다보면 인증서 키를 요구하는 경우가 있습니다. 릴리즈버전의 apk와 디버그용 apk는 서로 이 값들이 다르기 때문에 두 환경에서 모두 작동하게 하려면 두가지 모두 등록을 해주어야 정상적으로 디버깅과 릴리즈가 가능합니다. 터미널에서 커맨드로 이것들을 확인하기에는 디버그버전의 경우 경로도 잘 모르겠고 불편이 이만저만이 아닙니다. 하지만 안드로이드 스튜디오에서는 이것을 그러한 작업없이 바로 볼수가 있는데 안드로이드 스튜디오에서 Gradle 탭을 찾아주세요 이 탭의 위치는 개인마다 배치한 위치가 다를수가 있으니 왼쪽 탐색기 부분과 모두 살펴 보세요 이 탭을 열어보시면 이러한것들이 나오는데 제가 열어놓은 경로를 그대로 타고 가서 signingReport를 더블 클릭 해보시면 위와 같이 MD5와..
안드로이드에서 앱에 파일로 존재하는 html을 Webview에 띄우는 방법입니다. 먼저 html파일이 들어갈 위치는 Android Studio 프로젝트 기준 Project/app/src/main/assets 입니다. assets 폴더는 없다면 만들면 됩니다. 원래 웹뷰에서 인터넷의 url을 로드할때와 큰 차이는 없습니다. 기본 동작 코드는 다음과 같습니다. Webview webview = (Webview) findViewById(R.id.webview); webview.loadUrl("file:///android_asset/파일명"); assets폴더에 넣고 urlUrl에 assets의 경로를 정확하게 입력해주는게 핵심입니다.
Swift에서 UiWebView에 로컬에 존재하는 html 파일을 불러오는 방법입니다. guard let path = Bundle.main.path(forResource: "폴더명/파일명(확장자 제외)", ofType: "html") else { print("path is nil") return } let request_url = URL(string: path) let request = URLRequest(url : request_url!) self.webview.loadRequest(request) html파일을 이미지 파일과 함께 넣어놓은 폴더를 xcode 좌측 프로젝트 네비게이션창에서 소스파일이 있는 폴더내에 드래그앤드롭 했을때, 선택창이 나오는데 위와 같이 선택하시고 Finish를 눌러주신뒤 드래..
디자인상에서 프로필사진을 원형으로 많이 나타냅니다. 하지만 안드로이드에서 이를 직접 구현하려고하면 android.support.v4.widget.CircleImageView라는 클래스가 존재하지만 이름과는 달리 원형으로 나타나지않습니다. 그래서 보통 무조건 원형으로만 나타나도록 하는 이미지뷰 라이브러리를 사용 하곤 하지만, 어차피 이미지뷰를 사용한다면 Glide는 거의 항상 사용하고 있을것입니다. Glide에서 이를 지원하는데, 그렇기때문에 이중으로 라이브러리를 사용할 필요가 없는것입니다. 먼저 사용법입니다. Glide가 4.0으로 버전업하면서 사용법이 많이 바뀌었습니다. apply()가 대표적인데요, 여기에서 변형이란 변형은 다 먹일수 있습니다. 우리가 필요한것은 원형자르기 이기 때문에 이것에 대해서 ..
http://www.ncool.co.kr 위미르에서 개발하고 서비스하는 어플리케이션 넝쿨 소개 홈페이지가 리뉴얼 되었습니다 ^^ 안드로이드와 iOS 앱 또한 리뉴얼 작업 진행 중이므로 기대해주세요. 넝쿨 다운받기 안드로이드 : http://goo.gl//MjkhSe아이폰 : http://goo.gl/M9z58z 저희 위미르에서는 모바일 어플리케이션(Android/iOS), Web 개발을 해드리고 있습니다.문의 전화 : 070-4177-3962
안녕하세요. WIMIR 개발팀입니다. 개발자라면 "리눅스"를 많이 들어보셨을거라고 생각합니다."리눅스"에서도 파일에서 특정한 문자열을 찾는 "grep" 라는 명령어가 있으며, 사용해보신적이 있으실겁니다. 윈도우 또한 "리눅스"의 "grep"와 같은 명령어가 있는데, 그 명령어가 바로 "findstr" 입니다. 특히 개발관련 문서뿐만 아니라 코드파일도 많기 때문에, 특정 파일명이 생각나지도 않고, 파일이 어디있는지 생각은 안나고,다만 그 안에 내용이 생각이 나는 경우 "findstr" 명령어를 자주 사용합니다. Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\A..
ViewPager의 아이템에 이미지 하나를 보여주는 경우가 있는데, 이럴경우 뷰페이저의 높이를 고정으로 설정했을때 기종별로 실제로 가지는 높이가 다르게 나타날수있고, 이미지의 사이즈에 따라서 유동적으로 변해야 합니다. 그래서 ImageView를 adjustBoundView = true 로 설정해도 뷰페이져가 고정된 높이를 가지게 되면 빈공간이 보이게 될것입니다. 그래서 뷰페이져의 높이를 wrap_content로 설정을 해도 안드로이드 기본 뷰페이져는 wrap_content적용시 match_parent와 똑같이 나타난다는 문제가 있습니다. 이를 해결하기 위해서는 ViewPager를 상속받은 클래스를 만들어서 onMeasure를 오버라이딩 해주어야 합니다. package com.wimir.example pu..