모바일/Android_Java(100)
-
터치 이벤트 간략 정리(onTouchEvent, dispatchTouchEvent, onInterceptTouchEvent)
[Android] [펌] 안드로이드의 Touch Event 디스패치 단계 도입 안드로이드의 이벤트 처리 방식에는 윈도우즈와는 다른 특이한 점들이 있다. 이에 안드로이드의 이벤트 디스패치 단계를 정리 해보았다. (이런 정리 싫어하지만 기본기가 중요하므로 정리했다 --) 특히 터치 이벤트에서 ACTION_DOWN은 모든 핸들러의 단계를 거치게 되고 중간에 이를 처리하면, 이어지는 ACTION_MOVE, ACTION_UP 이벤트는 해당 위치까지만 디스패치 되고 그 메소드를 호출하는 구조이다. (여러 하위 구조를 가지는 복잡한 레이아웃에서는 이런 설계가 여러 핸들러를 거치는 오버헤드를 줄이는 효과가 있을 것이다.) 이벤트 전송의 간략한 메카니즘은 상위에서 하위의 dispatcher 호출을 통해서 이벤트가 아래로..
2021.05.18 -
[Android] 프래그먼트 데이터 공유(Not MVVM)1
프래그먼트 데이터 공유(Not MVVM) Activity public class Activity implements Fragment2.Listener{ private void fragmentInit() { this.mFragments[0] = new Fragment1(); this.mFragments[1] = new Fragment2(); } @Override public void onAttachFragment(Fragment fragment) { if(fragment instanceof Fragment1){ Fragment1 fragment1 = (Fragment1) fragment; fragment1.setListener(this); } } @Override public void listened() ..
2021.05.10 -
[Appium] appium server open
Appium을 설치하고, Terminal 에서 appium 명령어로 실행시키는것도 좋지만 여기 에서 데스크탑용 프로그램을 다운받아서 하는것을 추천한다. 메인 화면은 이렇게 생겼다. 위 사진에서 보는것 처럼 접속 후, 에뮬레이터 세션과 붙어서 xPath, id 등 위젯, 레이아웃에 대한 상세 링크경로를 쉽게 확인할 수 있다.
2021.05.07 -
[Android] Webview back or list prevent refresh
웹 내에서 스크롤 유지가 정상적으로 되는데 안드로이드 웹뷰에서 뒤로가기 했을때 목록이 있는 리스트 웹페이지 스크롤이 맨 위로 올라가면서 전체적으로 refresh가 되는 경우가있다 그럴땐 이 코드를 추가한다 mwebView.getSettings().setDomSotrageEnabled(true);
2021.05.07 -
[Android] Webview 뒤로가기
하이브리드 앱에서는 사용자가 뒤로가기를 눌렀을 때 상황에 맞는 동작이 필요합니다. 예를들어 뒤로가기를 아무 처리를 하지 않았다면 하이브리드 앱 특성상 앱이 종료되어 버릴겁니다. 그럼 어떻게 처리를 해야 할 까요? Activity 클래스에서는 뒤로가기를 눌렀을때 동작하는 onBackPressed() 메소드를 오버라이딩 할 수 있습니다. onBackPressed()메소드를 이용해 적절히 철히해주면 됩니다. 1. canGoBack() 을이용한 처리 웹뷰에서는 히스토리가 남아있는지를 canGoBack()메소드를 호출해 확인 할 수 있습니다. 히스토리가 있다면 canGoBack()는 true를 히스토리가 없다면 false를 반환합니다. public static WebView mWebView; ... @Overri..
2021.05.07 -
[Android] android weburl get paramater
1 String url = "http://www.yourdomain.com/?param1=ONE¶m2=TWO"; List parameters = URLEncodedUtils.parse(new URI(url)); for (NameValuePair param: parameters) { String name = param.getName(); String value = param.getValue(); } 2 Uri url = Uri.parse(webView.getUrl()); Set paramNames = url.getQueryParameterNames(); for (String key: paramNames) { String value = url.getQueryParameter(key); } 3(내가 사..
2021.04.22