일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 안드로이드 라이브러리
- AWS
- 아마존웹서비스
- VMware
- 라이브러리
- ButterKnife
- 커스텀뷰
- Picasso
- Logcat
- Mac
- OTTO
- 안드로이드 스튜디오
- Glide
- 안드로이드
- 이미지로딩 라이브러리
- Today
- Total
목록안드로이드 (7)
박상권의 삽질블로그
우리는 EditText를 구현하면서 사용자의 편의를 위해서 EditText와 겹쳐서 'X'버튼을 추가하는 경우가 많습니다.'X'버튼을 누르면 EditText의 텍스트 내용을 초기화하는 작업을 해줍니다. 아래 화면은 제가 운영중인 셀폰이라는 앱에서 이름을 변경하는 화면입니다.사용자가 이름을 입력하게 되면 오른쪽에 'X'버튼 아이콘이 보여지고 사용자가 'X'버튼을 누르는경우 EditText의 모든 내용을 삭제할수 있도록 해주고 있습니다. 사실 이러한 패턴은 많은 안드로이드 앱에서 볼수 있습니다.안드로이드 SDK tool인 uiautomatorviewer를 이용하여 카카오톡의 '대화방 검색' EditText를 살펴보아도 역시 레이아웃에 EditText와 ImageButton을 겹쳐서 구현해 놓은것을 알 수 있..
이전에 포스트 내용으로 이미지로딩 라이브러리와 Glide에 관하여 소개해드렸었습니다.이미지로딩 라이브러리 및 Glide소개 보기 이번에는 요즘 제일 많이 쓰이고 있고 레퍼런스가 많은 Picasso와 Glide에 대해서 비교해서 분석해보도록 하겠습니다.또한 실제 제가 사용해보면서 느낀점도 추가해서 써보겠습니다. Glide의 사용방식은 Picasso를 그대로 따라했다고 봐도 될정도로 사용방법이 비슷합니다.(기존에 Picasso를 사용하던 개발자들이 Glide로 쉽게 넘어올수 있도록 비슷하게 만들었을것이라고 예상합니다) 기본 사용방법 기본적인 사용방법은 Picasso,Glide 완전히 똑같은 방식입니다. Picasso Picasso.with(context).load("http://www.selphone.co...
저는 안드로이드 개발하면서 디버깅보다는 곳곳에 로그를 남겨두고 예상되는대로 실행이되는지 확인합니다.혹은 변수값이나 클래스등의 값을 확인하기도 합니다. 로그를 찍을때는 Log.d(TAG,로그내용) 과 같이 쓰고 계실겁니다. Log.d("TedPark","로그 내용"); Log.i("TedPark","로그 내용");Log.e("TedPark","에러 내용"); 하지만 이렇게 남긴 로그들은 실제 배포버전으로 배포해서 플레이스토어에 배포한뒤에도 로그캣에 계속 찍히게됩니다.제가 몇개의 앱을 받아서 Logcat을 연결해보면 해당 앱의 개발자가 남겨둔 로그들을 저도 확인할 수 있는 경우가 더러 있습니다.다른사람이 알아도 문제없는 로그라면 상관없겠지만 특정 정보가 있거나 URL정보 등 기타 민감한 정보들을 개발자가 아..
Otto라이브러리는 Square에서 만든 event bus형태의 라이브러리 입니다. 홈페이지 GitHub 예를들어보겠습니다. 3개의 Activity A,B,C가 있습니다.이 3개의 화면은 모두 같은 데이터를 가지고 다른형태로 화면에 뿌려줍니다.만약 데이터가 변경되는경우 3개의 Activity는 각각 화면을 갱신해주는 작업을 해줘야 합니다.D라는 Activity(Fragment,Dialog 등)에서 데이터가 변경되는 작업이 발생할경우 A,B,C에게 변경되었다는것을 알리고 변경된 객체를 넘겨주어야 각 3개의 Activity가 변경작업을 수행할것입니다.A,B,C에서 각각 static함수를 선언해두고 D에서는 이 3개의 static 함수를 호출하면서 해당 변경객체를 넘겨주는 형태로 구현을 합니다. 이런 코드의 ..
ANDROID WEEKLY 일주일에 한번씩 등록해놓은 이메일로 한주간의 안드로이드관련 이슈들을 정리해서 보내줍니다. 뿐만 아니라 Jobs, events등의 각종 안드로이드관련 정보를 보내줍니다. 홈페이지에 들어가면 지나간 이슈들에 대해서도 확인해볼 수 있습니다. 단순히 라이브러리정보만을 제공해주는데 그치지 않고 안드로이드 개발을 체계적으로, 그리고 효과적으로 할수있도록 여러가지 방법으로 도움이 되는 블로그 글들이 많이 있습니다. 한국시간으로 월요일 새벽즈음에 weekly메일을 보내주고 있습니다. 매번 좋은 개발 블로그 글이나 라이브러리를 찾는것이 귀찮다면 일주일에 한번 이 Android Weekly만 확인해도 많은 도움이 될것이라고 생각합니다. http://androidweekly.net/ Android..
안드로이드에서 새로운 화면을 만들면서 xml레이아웃을 만든뒤 대부분 제일먼저 하는 작업이 해당 View들을 선언하고 할당하는 작업일겁니다. 보통 아래와 같이 선언하고 할당하고 리스너 또한 달아주고 계실겁니다. View view_root; View view_contents; ImageButton ib_chat_photo; EditText et_chat_input; SelphoneSendButton btn_send; ... view_root = findViewById(R.id.view_root); view_contents = findViewById(R.id.view_contents); ib_chat_photo = (ImageButton) findViewById(R.id.ib_chat_photo); ib_ch..
안드로이드뿐만 아니라 JAVA에서 변수를 사용하면서 해당 변수가 빈 객체인지 확인하고싶은 경우가 있습니다. Git에서 보기 주로 String이나 List가 비어있는지를 체크하는경우가 많은데요. String형인 A와 B변수가 같은지를 검사하는경우 아래와 같은 코드를 작성합니다.A.equals(B) 그런데 만약 A가 null일경우 비교자체가 불가능하기때문에 오류가 발생합니다. 그래서 보통 아래와 같은 방법으로 미리 Pre-condition Check를 해주곤 합니다. if(a !=null && !a.equals("")) 단순히 String값이 비어있는지를 체크하고싶은 경우는 TextUtils을 이용하면 좋습니다.TextUtils.isEmpty(A)String값이 null이거나 ""인경우 true를 리턴해줍니..