본문 바로가기

IT/안드로이드

(12)
안드로이드 프로젝트 하면서 도입한 클린아키텍처 구조정리 안드로이드 프로젝트 하면서 클린아키텍처 도입 오늘은 최근에 안드로이드 프로젝트를 하면서 사용한 CleanArchitecture에 대해서 간략히 정리하고자 한다. 상세 소스는 없고 단지 구조적인 부분만 정리한 것이다. 위의 그림을 보면 클린아키텍처의 모든걸 한번에 알수 있다고 해도 과언이 아니다 클릭아키텍처 사용목적 어떤 경우에 클린아키텍처가 빛을 발휘할 수 있을까? 어플리케이션이 확장을 하거나, 변경을 필요할때 클린아키텍처를 도입을 했다면 이럴때 빛을 발휘할 수 있을것이다. 클린아케텍처를 도입했다면, 단순하게 인터페이스 어댑터 영역과 프레임워크와 드라이브 영역만 수정하면 가능할 것이다. 클린 아키텍처는 단순한 추상화에 불과하다. 프로젝트를 구조를 만들..
Android Kotlin에 대한 개인적인 생각 안녕하세요 통키입니다. 안드로이드 개발한지도 어언 ~~ 좀 됐네요 ㅋ 처음 자바로 안드로이드로 개발을 시작했다가 이제는 Kotlin이라는 공식 언어가 나온지도 꽤 됐네요 저는 요즘 기존 안드로이드 개발시 사용하던 RecyclerView 를 코틀린으로 새로 만들어 보고 있는데 코드가 훨씬 간결해지고 가독성?도 괜찮고 NPE에 대한 스크레스트 근본적으로 많이 상쇄된점은 좋게 느끼고 있습니다. 결론적으로만 말하자면 이제 코틀린으로 넘어가야 할때가 된거 같습니다. 다른 많은 분들은 벌써 넘어가서 개발을 하고 계시겠지만 이제라도 저도 코틀린으로 프로젝트를 진행을 해봐야 겠다는 생각이 듭니다. (나이들어 또 뭔가를 배우기가 참 귀찮긴 하지만...) 최근에 각광받고 있는 언어가 Swift와 Kotlin이라고 하는데 ..
안드로이드 앱에서 웹뷰로 데이터 전송 클라이언트인 안드로이드 앱에서 데이터를 서버로 전송할때 안드로이드 웹뷰를 이용하면 간단하게 전송할 수 있다. 1) Main Activity -> WebView Activity 우선 클라이언트 앱에서 서버에 보낼 값을 웹뷰가 실행될 Activity에 전송한다. Main Activity TextView id = (TextView)findViewById(R.id.id); //TextVeiw 생성i = new Intent(this, WebView.class); //WebView Activity를 실행할 Intenti.putExtra("id", id.getText().toString); // Intent에 EditText에 입력된 값을 전달 WebView Activity Intent i = getIntent();..
안드로이드 View에 getTag(),setTag()사용하기 안녕하세요 통키입니다. 안드로이드 프로젝트를 하면서 하나하나 배워가던중에 Adapter를 사용해 리스트뷰를 뿌리는 부분을 구현하게 되었습니다. 구현중에 각 아이템을 클릭했을때 이벤트와 각 row에 들어있는 버튼을 클릭했을때의 이벤트가 필요하게 되어 구글링을 하던중에 getTag(),setTag()사용법에 대한 내용을 보게 되어 간략히 정리해두기로 합니다. {{dlucky님의 블로그에서 발췌}} [Data in View] 가끔 어플리케이션을 만들다 보면 View안에 어떤 데이터를 집어 넣고 싶을 때가 종종 있습니다. 네... 있지요. 그런 경우 그냥 무작정 떠올릴 수 있는 방법은 extends 해버리는 겁니다. OOP의 최대 장점이지요. Id, Name, Address 세개의 정보를 View안에 담고 싶다..
순서대로 처리되는 동적리시버 안녕하세요 통키입니다. "이것이 안드로이드다" 책 사고 한 반쯤 보다 오늘 오랜만에 책을 폈네요 요즘 휴가가 많아서 그런지 회사에서 일에 집중도 너무 안되고 너무 힘드네요 빨리 적응해야 될듯하네요 15.2.4 순서대로 처리되는 동적 리시버 동적 리시버는 동시에 처리된다고 했다. 하지만 동적 리시버 조차도 순서대로 처리되도록 하는 방법이 있다. sendBroadcast - > sendOderedBroadcast 함수로 교체
안드로이드 개발에 발을 들이다 웹개발 한지 언 10년이 넘은것 같다 요즈음은 모바일이 대세라 모바일도 하고 앱도 개발하는데 일이 너무 많은것 같다 직업이 너무 분업하가 되지 않아 해야할 일이 너무 많다 그래도 모르는것보다 아는게 나을것 같아 포기하지 않고 여기까지 달려온것 같다 오늘부터 안드로이드로 흔이 많이 개발하는 배달앱을 개발해볼까 한다 먼저 관리자페이지 end 부분에 개발도 해야하고 디비구조도 잡아야하고 안드로이드 레이아웃 디자인도 해야하고 할게 너무 많네 ㅡㅡ 그래도 개발 해놓으면 다음부터는 쉬운부분이 많으니깐 열심히 달려보려 한다 화이팅 해야겠다
지니모션-Geny motion 모바일 앱을 pc에서 실행 안녕하세요 통키입니다. 이번에 안드로이드 앱 개발하면서 쓰게된 Geny motion을 소개합니다. 뭐 개발이야 이클립스환경에 실 디바이스를 연결해서 하면 되긴 합니다만 가끔 pc에서 앱을 실행해 보고자 할일도 있으니 알아두면 유용하더라고요 1.지니모션 사이트 회원가입 및 다운 http://www.genymotion.com/ 이사이트에 가서 회원 가입하시고 e-mail인증 받으시고 무료버전을 다운로드 받으셔서 pc에 설치 하시면 됩니다. 위의 그림에서 Creat account에서 계정생성하시고 e-mail이증 하시면 됩니다. 그리고 product 메뉴클릭하시면 Genymotion을 받으실수 있습니다. 받으실때 free버젼 받으시면 되겠습니다.그리고 받으신 파일 설치하시면 됩니다. 2.지니모션 기본설정하기 ..
안드로이드 레이아웃 오늘은 안드로이드 레이아웃에 대해 공부해 보려고 한다.서핑중 괜찮은 블로그가 있어서 그것을 보고 일단 레이아웃의 개념을 집고 갈려고 합니다. ​​​저번에 알려드린 단축키(Ctrl + Shift + N)를 사용하여 activity_main.xml로 이동합시다.​​​​텍스트 모드로 들어갑니다.​(안드로이드 앱 개발자는 마우스로 레이아웃을 짜지 않습니다. 아니, 못 짭니다. 해보면 암...) ​ 뭔가 복잡해보이죠? 툴이 자동으로 만들어 준 레이아웃 파일에는 불필요한 코드가 많이 들어있습니다. 처음 배우는 입장에선 헷갈릴 수 있으므로 아래와 같이 코드를 간소화합시다. 처음 배우는 입장이니 이왕이면 직접 편집해봅시다! (그래서 일부러 복사 못하게 사진으로...) ​또, RelativeLayout은 입문자에겐 어려..
안드로이드 기초 시즌1 세번째 Service 서비스는 백그라운드에서 작동하며 Content Provider 를 업데이트하거나 인텐트를 실행시키거나 Notification(알림)을 실행시키는 등의 여러가지 작업을 자동으로 수행하는 작업을 뜻한다. 하지만 기본적으로 ANR을 막기 위해서 돌아가는 쓰레드의 개념이 아니라 같은 프로세스 안에서 실행되는 개념이다. (1) 작성과 실행 Service 클래스를 상속받고, onCreate(서비스가 만들어졌을 경우 실행될 로직 작성), onBind(AIDL 이용시 필요) 메소드를 오버라이딩한다. onStartCommand 의 오버라이딩과 return 부가적으로 대부분 onStartCommand 메소드의 오버라이딩이 필요한데 이 메소드를 통해서 startService 메소드 호출시의 작동 방식을 정의할..
안드로이드 기초 시즌1 두번째 AndroidManifest.xml : 기준 sdk 버전 : 액티비티 타이틀 : 대표 액티비티 지정 dpi : 집약도 ldpi - mdpi - hdpi - xhdpi해상도는 항상 96dpi ldpi : 36px mdpi : 48px (*) 기준! hdpi : 72px xhdpi : 96px Activity 실행 순서 onCreate() onStart() (onRestart()) onResume() onPause() (화면이 살짝 가리면) onStop() (다시 액티비티가 보일때 onRestart() -> onStart() 실행) - 진행사항저장 onDestroy()안드로이드의 관례 인터페이스 생성시 I 를 맨 앞에 붙인다. 멤버변수 생성시 m 을 맨 앞에 붙인다. xml에서 ? : 스타일에 관련된 값을 ..
안드로이드 기초 시즌1 첫포스팅 안드로이드 화면에서 주로 하나의 액티비티가 하나의 화면을 담당한다.액티비티는 안드로이드에서 어플리케이션을 만들기 위해 가장 중요한 4대 구성 요소중에 하나이다. Android Application 4대 구성 요소 첫 번 째 : 액티비티(Activity) - 하나의 액티비티가 하나의 화면을 담당하며 모니터에 출력해 준다.두 번 째 : 브로드캐스트 수신자 - 어떤 임의의 메세지를 여러 객체에게 전달하는 방법을 의미함.세 번 째 : 컨텐트 프로바이더 - 한 어플리케이션 내의 데이터를 다른 어플리케이션에서도 사용할 수 있게 해준다.네 번 째 : 서비스 - 음악을 듣거나, 큰 파일을 다운 받을 때 같이 백그라운드 작업에 사용된다. 일단은 오늘은 액티비티에 대해 알아보도록 하자. 액티비티를 하얀 도화지라고 볼 수 ..
안드로이드 웹페이지 pc 디버깅 모바일 웹페이지를 개발하다보면 모바일 레이아웃을 보면서 디버깅 하기가 난해하다. 이럴때 비교적 간단히 디버깅 할수 있는 방법이 있다.. 준비물 : 안드로이드 sdk (설치하는 방법) 안드로이드 sdk가 설치되어 있다면.. 안드로이드폰에서 크롬을 설치한다. 물론 pc에도 크롬을 설치한다 안드로이픈 폰에서 설정=> 개발자옵션 => USB 디버깅 체크 이제 usb 케이블로 pc와 안드로이드 폰을 연결해준다. pc에서 명령프롬프트를 열고 시작> 실행 -> cmd -> 다음과 같은 실행 명령어 (adb가 있는 위치 forward tcp:9222 localabstract:chrome_devtools_remote) 예) c:\android-sdk\platform-tools\adb forward tcp:9222 loc..