프로그램/Android 56

안드로이드 절전모드 체크(위젯 Timeout)

안드로이드에서 절전모드를 실행시키면 화면밝기, 해상도, 백그라운드 네트워크를 제한하네요.. 제가 절전모드를 사용하는지도 모르고 위젯에서 통신시 TimeOut 나는 현상을 하루종일 찾아봤네요...전 반쪽자리 개발자 인가 봅니다. 현상을 재현하기도 어려웠던게 개발자이다 보니 항상 디바이스에 잭을 꽂아 놓으니 재현하기 어려웠습니다.(절전모드를 실행하여도 디바이스가 충전중일땐 예외로 되는거 같아요.) 이 이부분으로 인하여 앱의 로직도 조금은 수정을 해야했습니다. //절전모드 체크 PowerManager powerManager = (PowerManager) getActivity().getSystemService(Context.POWER_SERVICE); if (android.os.Build.VERSION.SDK_..

안드로이드 사이드바 생성

안드로이드 사이드바 만들기입니다. 사이드바를 생성하는 방법은 여러가지가 있습니다. 정답이 없죠. 자신이 원하는, 생각하는 구조 형태마다 다르게 생성할수 있을것 입니다. 코드와 함께 차근차근 따라해 보시길 바랍니다. 따라서 완성하시면 아래와 같이 보이실 것입니다. 1. 사이드바 xml생성입니다. 샘플에 들어있는 이미지들은 따로 첨부안할게요...쓰고 싶은 이미지들 다운받아 쓰셔요. 2. 사이드바 CustomView를 만들어 줍니다. public class SideBarView extends RelativeLayout implements View.OnClickListener{ /** 메뉴버튼 클릭 이벤트 리스너 */ public EventListener listener; public void setEventL..

Webview를 이용한 APP간 통신[Scheme, Androidbridge]

안드로이드 WebView 사용시 앱과 웹간에 특정한 값을 주고 받아서 값을 해결해야 할 경우가 엄청나게 많이 있습니다. 네이티브영역으로 되어있는 Activity로 이동을 해야한다던지, 카메라기능을 연다던지 할 경우 웹페이지에서 앱의 모든 기능을 사용할수 없기때문이죠. 위와 같은 기능을 해야할 경우가 딱! 웹앱간 특정값을 주고 받는 일이 일어나서 그값에 따라서 동작을 해야하는 경우지요. 웹과 앱 사이에 데이터를 주고 받는 패턴이 2가지가 있습니다. 하나는 스킴(SCHEME)값을 이용한 방법과 두번째는 안드로이드 브릿지를 이용한 호출이 되겠는데요. 제가 최초 하이브리드 앱 개발시에는 안드로이드 브릿지를 이용한 호출 방법을 이용했습니다. 웹 개발자 분도 저에게 어떻게 값을 줘야하는지 몰라서 제가 구글링을 하다..

안드로이드 웹뷰에서 pdf파일 열기[Webview PDF]

안드로이드 하이브리드앱을 작업하다보면 .PDF 다운받거나 웹에있는 파일을 열어서 보여줘야하는 상황이 생긴다. 막상 그냥 PDF파일을 url로 열경우 이상하게 깨지거나 하는등의 문제점등이 발생한다. 그래서 웹뷰에서 PDF파일을 열어 보기 위해서 특별한 작업을 해줘야 하는데 웹개발자가 data를 던저주는 형식에 따라 조금 달라지는거 같다. 첫번째 웹 개발자가 PDF에 대한 url을 storage/product/brochures파일명.pdf 이런 형식으로 준다면 docs.google.com/gview?embedded=true&url= loadUrl("https://docs.google.com/viewer?url=" +data);

안드로이드 애니메이션 코드[Android Animation]

두번째 안드로이드 애니메이션 작업에 대한 글입니다. 이전 글에서 Xml을 이용한 안드로이드 애니메이션 처리방법이었습니다. 이번에는 오직 코드로 작업하는 방법에 대해서 바로 설명 드리겠습니다. Translate 는 TranslateAnimation 이란 함수를 이용하고 Alpha는 AlphaAnimation 함수를 이용합니다. 샘플 코드로 설명드리겠습니다. TranslateAnimation animation = new TranslateAnimation(0, fromX , 0, fromY); animation.setDuration(3000); animation.setFillAfter(false); animation.setFillEnabled(true); animation.setAnimationListener..

안드로이드 애니메이션 Xml이용[Android Animation]

앱개발을 한다면 이 애니메이션 작업은 빠질수 없는 부분중 하나라고 볼수 있습니다. 보통 메뉴 버튼 클릭시 나타나는 사이드바 작업또한애니메이션 작업이 이뤄지기 때문이지요. 이처럼 간단한 부분 모두 애니메이션으로 작업되어 있습니다. 안드로이드 애니메이션은 총 4가지로 이루어져 있습니다. 1. 가장 많이 쓰는 View의 위치를 움직이는 Translate2. View를 회전시키는 Rotate, 3. View의 투명도를 조정하는 Alpha4. View를 확대/축소 시키는 scale 이중에 실제로 프로젝트에 적용했었던 것들은 Translate와 Alpha 정도입니다. 다음 프로젝트나 유지보수중 필요하다면 그때 즈음에나샘플링 작업을 하면서 한번 사용해볼 예정입니다. 우선 이 글에서는 제가 작업해 보았던 2가지에 대해..

안드로이드 DatePicker, TimePicker 사용법

안드로이드 DatePicker, TimePicker 사용법입니다. 두 가지다 생성할때 최초 바라보는 값을 넣어줘야 하는데 기본적으로 현재데이터들을 다 넣어줬습니다. 아래 샘플 코드와 샘플 코드로 생성시에 대한 캡처가 있습니다. public class PickerActivity extends Activity { private String TAG = "PickerActivity"; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_picker); init(); } private void init(){ //C..

안드로이드 구글 음성API[SpeechRecognizer tutorial]

구글 음성 API 흔히 적혀있는 SPEECH TO TEXT에 대한 Tutorial 파일입니다. Gradle에 다른 특별한 셋팅은 없네요. 필요한 권한은 인터넷과 오디오 부분입니다. Intent 데이터중에 RecognizerIntent가 있는데 그 데이터들을 셋팅하여 startActivityResult를 사용하여 구글 음성API를 사용하시고 onActivityResult로 데이터를 받아 사용하시면 되겠습니다. public class GoogleActivity extends Activity implements RecognitionListener{ private SpeechRecognizer speech; private Intent recognizerIntent; private final int RESULT_..

안드로이드 실행중인 서비스 체크[Android Service Running Check]

안드로이드 Service가 실행중인지 체크하는 함수입니다. public Boolean isLaunchingService(Context mContext){ ActivityManager manager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE); for (ActivityManager.RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { if (서비스명.class.getName().equals(service.service.getClassName())) { return true; } } return false; }

안드로이드 웹뷰 셋팅[Webview Setting]

안드로이드 Webview에 대해 알아 보도록하겠습니다. 요즘 모바일 추세는 하이브리드앱이 대세입니다. 워낙 HTML5로 안되는게 없다보니 굳이 앱업데이트 없이 UI변경이 어느정도 가능하도록 기업들은 하이브리드앱을 원합니다. 네이티브에 비해 단가가 싸기도 하고요… 안드로이드에서 웹뷰를 생성할 경우에는 공통으로 사용할수 있는 웹뷰를 생성하여 줍니다. 간단한 프로젝트면 모르겠지만 조금 규모가 있는 프로젝트는 MainActivity에 Webview를 한번만 생성하고 끝내는일이 거의 없기 떄문이죠. 안드로이드 웹뷰를 만들기 위해서는 웹뷰를 어느정도 셋팅을 해줘야 하는데요. 보통 제가 프로젝트를 생성할때 셋팅하는 방법을 코드입니다. 코드 주석에도 설명을 써놧지만 listener를 사용하여 데이터를 Activity등..

1 2 3 4 5 6