Programming(178)
-
WebView와 WebSettings
WebView를 사용하면 웹 페이지를 Android의 레이아웃에 표시하는 것이 가능하다. 다만 설정을 변경해주지 않으면 Javascript를 사용하지 못하는 등, 여러가지 제약사항이 발생한다. 아래의 코드를 참조하자. WebView webView = (WebView)findViewById(R.id.id_webview); webView.setWebViewClient(new WebViewClient()); webView.loadUrl("https://www.google.com"); layout의 id_webview를 불러온 후, 구글 검색페이지을 로드한다. 이 코드를 실행하면 구글 페이지가 WebView에 로드되는 것을 확인할 수 있다. 하지만 기본적으로 WebView는 Javascript를 실행하지 않도록..
2019.02.12 -
Backing Field와 Backing Properties
필사를 하던 중에 잘 이해가 가지 않는 개념이 있어서 내용을 정리한다. 구글링을 해봤지만 잘 번역된 검색을 발견하지 못해서, 어설프나마 검색을 통해 이해한 내용을 취합하여 정리한 내용이다. Backing Field Kotlin의 Bakcing Field는 getter/setter에 기본적으로 생성되는 속성(property)이다. Kotlin에서는 Class내의 property에 값을 할당할때는 내부적으로 setter가, 값을 불러올때는 getter가 호출된다. 다음의 코드를 참조하도록 하자. class User{ var name: String get() = name set(value) {name = value} } 위의 코드에서 User.name에 “BlackBear”라는 값을 할당하게되면, User.n..
2019.02.12 -
loop에서 findViewById 사용하기 (getIdentifier)
getIdentifier(), Android Developers public int getIdentifier (String name, String defType, String defPackage) 주어진 리소스의 이름을 통해, 리소스의 식별자(id)를 반환한다. package:type/entry 형식으로 완전히 정규화된 이름(fully qualified resource name)을 사용할 수 있다. 완전히 정규화된 이름을 사용할 때는 defType과 defPackage를 생략할 수 있다. 여러개의 리소스가 규칙적인 이름을 가지고 있을 때 사용한다. Button button1 = (Button) findViewById(R.id.button1); Button button2 = (Button) findView..
2019.02.11 -
SVN에서 Error validating server certificate가 발생할 때
Android studio에서 변경사항을 커밋하려고 시도하니, 권한이 없다는 메시지가 발생했다. 개발 서버에서 SVN계정으로 커밋을 시도하니, 정상적으로 커밋이 된다. 어딘가에서 계정이 꼬인 모양이었다. [SVN] ssl 접속이 안될 때 Error validating server certificate, 마법수정화살 님 글을 참조해서 확인해보니, 이전에 PC를 사용하던 사용자의 정보가 Window에 저장이 되어 있어서 발생한 문제였다. C:\Users\\AppData\Roaming\Subversion\auth Windows 10 기준으로 위의 경로에 저장된 파일을 모두 삭제한 후, 다시 Android studio에서 커밋을 시도하니 로그인 창이 출력된다. 아이디와 패스워드를 제대로 입력하고나니, 정상적으로..
2019.02.11 -
Base64 인코딩 된 이미지 데이터를 웹 페이지 상에 표시하기
결과 요약부터 하고 진행하도록 하자. img 태그의 src에 data:image/jpeg;base64,를 앞에 붙인 뒤, base64 데이터를 첨부하면 인코딩 된 jpeg데이터를 웹 페이지에 표시할 수 있다. How to display raw image data with html and javascript, stackoverflow의 내용을 살펴보면, jsfiddle로 구현한 예제가 첨부되어있다. 예제가 크게 복잡하지 않으므로, 보면 쉽게 이해할 수 있다. 샘플 이미지 데이터의 준비 적당한 이미지가 없는 경우에는 PlaceIMG에서 샘플 이미지를 생성하여 다운로드 받도록 하자. 이후 ImageToBase64에 이미지를 업로드하게 되면, 이미지를 Base64로 압축한 데이터가 생성된다. 사이즈로 인해 Ba..
2019.02.07 -
Android Gradle Plugin 3.0의 Implementation과 api
Configuration ‘compile’ is obsolete and has been replaced with ‘implementation’ and ‘api’. Android Studio 3.0에서 빌드를 시도하려고 하니, 위와 같은 오류가 발생했다. compile이 deplecated 됐으니, 대신 implementation이나 api를 사용하라는 내용이다. 그런데 deprecated된 키워드는 하나인데, 대체 키워드는 왜 두 개지? 궁금해서 검색하다가, 다음과 같은 글을 발견했다. 원문; Implementation Vs Api in Android Gradle plugin 3.0, Bedanta Bikash Borah 번역; Implementation Vs Api in Android Gradle Pl..
2019.02.07