이번에 Tab Layout을 구현하면서 Activity로부터 back key를 뺏어와야 할 일이 생겼다. 그래서 fragment가 붙은 Activity의 back key call back을 뺏아서 fragment에서 받아먹을 수 있도록 구현했는데, 활용성이 높고, 확장성이 좋아보여서 정리해보려 한다. 1. Back key를 뺏아올 Activity /***** back key 받아먹기 리스너 등록 *****/ public interface onKeyBackPressedListener{ void onBackKey(); } private onKeyBackPressedListener mOnKeyBackPressedListener; public void setOnKeyBackPressedListener(onKey..
1. 내가 하고 싶은 것 ( app의 디자인을 조금 바꿨다 ) 다음과 같은 상황에서, 아랫쪽 TabLayout의 Item에 따라 서로 다른 독립적인, 서로 자기 갈길 가는 Fragment를 구성하고 싶다. 이때 Fragment를 어떻게 구성하면 좋을지 고민중이다. tab마다 다른 activity를 두어서 각자의 task stack을 구성해야 되는건지....... fragment가 돌아가는 방식에 대해 자세히 찾아봐야 할 것 같다. : unit test를 위해 새로운 project를 하나 만들었다. 2. 첫번째 문제 : fragment 겹침 오류 tab별로 다른 fragment를 뿌리는 건 쉽게 성공했는데, 첫번째 fragment의 button을 누르면 다른 fragm..
laytout_weight를 지정하는데 계속 내가 원하는 크기가 안나왔다. 분명히 같은 비율값을 줬는데 높이가 달라서 이상하다 하고 봤는데layout_wegith를 쓸때는 해당 방향의 값을 아예 '0dp'로 줘야 된다고 한다 !!주의하자! 추가로 위의 경우와 같이 app name 같은 문구가 모든 layout에 똑같이 나타나야 한다면, 그 밑에 weight를 맞춰주기 위한 공간 차지용(?) laytout이 무조건 항상와주어야 할듯 하다.( login화면 등은 아래 tab bar가 없다. )
이제까지는 wireframe 작업이 필요하면 거의 손으로 그렸다. 내가 하고 싶은 걸 빨리 빨리 적용시키는데는 직접 손으로 그리고 지우고 하는게 빠르고 맘편했다. 그런데 이번 프로젝트를 진행하면서 다음과 같은 이유들로 wireframe을 사용해보기로 했다. 1. 문서화에 신경을 쓰기 위해, 2. 같은 팀원에게 진행 상황을 지속적으로 알리고, 피드백을 받기 위해 내가 사용한 kakao oven mockup이 좋은 점은, 1. 무료라는 점 : 가난한 학생이니까... 2. 다른 유명한 tool들과는 다르게 web 기반이라는 점 : 그래서 공유하기 좋다. 3. 쉽다는 점 : 인터페이스가 매우 직관적이다. 4. 매우 파워풀한 기능들이 있다는 점 작업이 한결 수월하고, 빠르다!
Login을 구현하면서 가장 많은 시간을 썼던게, android http 통신할때 server의 주소를 정확히 명시하는 일이었다. 필자는 하나의 pc로 node.js server를 돌리고 client를 test했고, 이런 상황에서는 localhost로 http request를 보내야 하는게 상식적이다. 꽤 오랜 시간동안 다음과 같은 log와 싸워야 했다. -> client에서 잘 가는데 서버에서 받을 줄을 모른다. (분명 서버는 잘 돌아가고 있고, 하염없이 request를 기다리고 있는 상태....) public static final String BASE_URL = "http://localhost:4903"; 나는 당시 BASE_URL을 다음과 같이 쓰고있었다. 그런데 구글링 하던 중 다음과 같은 글을..
beacon 시행착오를 본격적으로 시작하기 전에 기본 뼈대도 맞출겸, 잠시 코딩하며 쉬어갈겸해서 로그인을 구현해봤는데 생각만큼 쉽진 않았다. 수많은, 크고 작은 error들과 마주했고, 구글링 생각 구글링 생각 끝에 결국 해냈다. 지금부터 하나하나 정리해 보려 한다. 우리가 필요한 정보들만 받을 수 있도록 간단하게 구성했다. : android client와 server와 http통신으로 RESTful하게 통신하기 위해 retrofit을 사용했다. (속도면에서나, 빈도수면에서나 가장 강력한것 같다.) 1) Internet permission 2) Service Interface : retrofit에서 중요한 역할을 담당하는 service api가 먼저 정..
꽤 자주 쓰기도 했고 익숙하지만, Beacon 사용하면서 background에서 돌릴 필요성이 있어서, Service를 다시한번 정리해봤다! 서비스를 시작하는 방법은 아래 2가지 이다. startService() 를 이용하는 방법bindService() 를 이용하는 방법 이렇게 시작방법이 다른 애들은 다른 life cycle 을 갖는다. startService() 로 시작된 service 는 혼자서 잘 돌다가 stopSelf() 를 호출해서 스스로 멈춰야만 한다. 다른쪽에서 stopService() 를 이용해서 이 service 를 멈출 수도 있다. bindService() 를 통해서 생성된 service 는 조금 다르다. 보통 이 bindService() 를 호출하는 쪽을 c..
: Beacon을 우리 system에 맞게 최적화 시키기 위해서는 멀고 험한 testing 과정이 요구될 것으로 보인다. 1. 실제 적용하고자 하는 대형마트(홈플러스, E-mart 등)를 먼저가서 '매장 구조', '실제 거리', '고객 동선 추이'를 측정 및 예측하는 작업 2. 상황에 맞는 최적화된 parameter값 설정하기 위한 testing scan period : 몇초간 scan할건지. (default: 1s) scan sleep period : 몇초간 쉴건지. (default: 10s) ranging timeout : ranging은 주변 비콘을 계속 탐색하는 기능인데, monitoring중에 ranging을 할 경우, 배터리 소모를 줄이기 위해 timeout이 걸려있다. (default: 10s)
Reco beacon은 Memeber center에 'serial number', 'configuration code'를 등록하면 sdk를 제공받을 수 있다. 제공되는 SDK에는 sample app이 있는데, 조금 복잡한듯 보이지만 뜯어보면 크게 다음과 같은 구조로 되어있다. 1. 먼저 BeaconManager로 Service를 실행시키고, 2. Monitoring이나 Ranging callback을 받아낸다. 이런식으로 callback을 주더라. /** *------------------------ 1. Monitoring callbacks ------------------------ */ @Override public void didEnterRegion(..
- Total
- Today
- Yesterday
- layout_weight
- wegith
- monitoring
- Android
- KAKAO
- ranging
- 안드로이드
- 행복의 상대성
- kakao oven
- server ip
- stopService
- startService
- Retrofit
- RECO beacon
- fragment 겹침
- nodejs
- tabLayout
- 비콘
- 책 집필
- 카톡
- 카카오톡 연동
- kakaotalk
- call back 뺏아오기
- call back
- SQLPro
- Beacon
- eddystone
- 카카오톡
- 수업교재
- 연동
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |