Programming/Android(41)
-
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 -
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 -
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 -
Android Studio의 AVD에서 LG폰이 검색되지 않을 때
Samsung의 GalaxyS7을 연결할 때는 문제가 없었는데, 회사에 테스트용 LG G5가 있어서 테스트하려고 하니 인식이 되지 않았다. 설정 > 시스템 > 휴대폰 정보 > 소프트웨어 정보 > 빌드 번호를 7번 터치해서 개발자 모드를 활성화했는데도, 인식이 되지 않아서 좀 곤란했다. LG USB 통합드라이버 설치 페이지에서 통합 드라이버를 설치한다. LG 사이트에서 통합 드라이버 다운로드 링크를 클릭했을 때, 응답이 없어서 LG US 드라이버 페이지에서 다운로드 받았다. 다운로드 후 AVD에 G5가 정상적으로 표시되는 것을 확인했다. 개발자 옵션 메뉴 진입시 상단의 On/Off가 표시된다. 이를 On으로 설정한 후, USB 디버깅을 활성화해야한다. 이후 Android Studio에서 정상적으로 인식이 ..
2019.02.07 -
Multidex와 관련된 문제 정리
안드로이드에서는 Java의 class를 사용하지 않고, Class를 Dex(Dalvik Executable)로 변환하여 사용한다. Dex의 갯수는 65536(64K)개를 초과할 수 없는데, 단일 Dex파일 내에서 참조될 수 있는 메소드의 총 개수가 65536개를 초과하게 되면 오류가 발생한다. 이를 64K 참조 제한 정보라고 하며, 해결하기 위해서는 Multidex를 적용해야 한다. Multidex는 앱이 여러개의 Dex 파일을 빌드하고 읽을 수 있게 해준다. 참조; 안드로이드 MultiDex 적용하기, 투믹스 작업장 참조2; 64K 이상의 메서드로 앱 구성, Android Developers Multidex 적용하기 Multidex를 적용하는 방법에 대해서는 64K 이상의 메서드로 앱 구성, Andro..
2019.02.07