나의 플랫폼 썸네일형 리스트형 [Android] RecyclerView에 헤더 붙이기 아래 OpenSource를 이용하면 간편하게 추가 할 수가 있습니다.https://github.com/Karumi/HeaderRecyclerView 주 초점은 HeaderRecyclerViewAdapter.java 소스 입니다.샘플 소스도 포함 되어 있기 때문에 금방 이해 하실 거라 생각 됩니다.혹시 궁금하신 부분이 있으시면 댓글 달아주세요. 참고로!RecyclerView 에서 span 을 2이상 변경하였을 때는 추가적으로 GridLayoutManager를 사용해줘야합니다.아래 제가 관련하여 작성한 포스트가 있습니다.http://gogorchg.tistory.com/entry/Android-Set-recyclerView-span-dynamically ## 이블로그는 어디까지는 찾았던 부분을 잊지 않기 위.. 더보기 [Android] Set recyclerView span dynamically RecyclerView를 사용할 때, GridLayoutManager를 사용하여 span을 줄 수 있습니다.만약 GridLayout span 이 2로 하고 싶다면 아래와 같이 설정 하면 됩니ㅏㄷ. recyclerView.setLayoutManager(new GridLayoutManager(getActivity(),2); 하지만, 만약 특정 position에서 span을 변경하고 싶을때는 어떻게 해야할 수 있을까요??이럴땐, setSpanSizeLookup 함수를 이용하면 됩니다. gridmanager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { if (pos.. 더보기 [Android] showSoftInput 와 hideSoftInputFromWindow 테스트 showSoftInput 와 hideSoftInputFromWindow 를 사용할 때 flag 값에 따른 결과를 유추해보았습니다. ## showSoftInput에 flag 값이 0일때 hideSoftInputFromWindow(view.getWindowToken,0) : 닫힘 (Closed)hideSoftInputFromWindow(view.getWindowToken,InputMethodManager.HIDE_NOT_ALWAYS) : 닫힘 (Closed)hideSoftInputFromWindow(view.getWindowToken,InputMethodManager.HIDE_IMPLICIT_ONLY) : 안 닫힘 (Not Closed) ## showSoftInput에 flag 값이 SHOW_FORCED일때.. 더보기 [Android][스크랩] edittext 관련 사항들.. >>EditText setSelection( 위치)커서 위치 setSelection( 시작위치, 끝위치 )텍스트 선택 requestFocus() 포커스 주기 setInputType( type )InputType.TYPE_NULL : 클릭해도 키보드 올라오지 않게..InputType.TYPE_CLASS_NUMBER : 숫자자판InputType.TYPE_TEXT_VARIATION_PASSWORD : 영문자판 > 요건 단말의 IME 에 따라 달라질 수 있음 setImeOption ( android:imeOptions )입력 키보드의 옵션과 액션을 설정할 수 있다.액션에 따라 키보드의 엔터, 다음, 검색 등의 완료 버튼이 적용된다.해당 액션은 액션 리스너에서 판단 할 수 있다. EditorInfo.IME_ACT.. 더보기 [Android] 앱을 종료 하고자 할때 ## 앱을 종료 할때 생각할수 있는 로직 두가지 1. 모든 Task를 지우고 홈으로 이동Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); startActivity(intent);2. process를 모두 죽이면서 앱을 종료 int pid = android.os.Process.myPid(); android.os.Process.killProcess(pid); 둘중 하나 사용하시면 되겠네요.http://stackoverflow.com/questions/21130493/how-to-close-android-app-completely ## 이블로그는 어디까지는 찾았던 부분을 잊지 않기 위해 올려놓은 것 .. 더보기 [Apache] Http 관련 라이브러리 사용시 주의사항!! Httpmime 라이브러리나 Apache 라이브러리를 사용할 때, Dependency 하는 라이브러리 들이 있습니다. 해당 라이브러리를 추가하지 않으면 실행 중 갑자기 클래스가 존재 하지 않다거나 어떻게 할 수 없는 오류가 발생 한다. 특히 아래와 같은... NoClassDefFoundError: Failed resolution of: Lorg/apache/http/xxx 아래 화면에서 빨간 네모 부분만 보아라. ## httpmime-4.3.5http://mvnrepository.com/artifact/org.apache.httpcomponents/httpmime/4.3.5 ## httpclient-4.3.5http://mvnrepository.com/artifact/org.apache.httpcompo.. 더보기 [Android] SNS로 데이터 공유하기 SNS (Facebook, Kakaotalk등) 에 Text, Image, URL 을 보낼 수가 있다. 모든 SNS에 데이터를 무작정 보내면 좋겠지만, SNS App 마다 동작이 다르다.그래서 테스트를 좀 해보면서 분리를 시켜 보았다. ## Get SNS App list Intent intent = new Intent(Intent.ACTION_SEND); intent.setType("image/*"); // image 타입을 받을 수 있는 SNS App 정보를 전부 뽑아준다. List resInfo = getPackageManager().queryIntentActivities(intent, 0); if (resInfo.isEmpty()) { return; } for (ResolveInfo info : r.. 더보기 [Android] Uri 에서 filePath 가져오기 제가 즐겨 쓰는 소스 입니다. 구글에서 검색해서 얻은 건데 어디서 얻었는지 기억이 안나 공유를 못해드리네요. public static String getPath(final Context context, final Uri uri) { final boolean isKitKat = Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT; if (isKitKat && DocumentsContract.isDocumentUri(context, uri)) { if (isExternalStorageDocument(uri)) { final String docId = DocumentsContract.getDocumentId(uri); final String[] split = docId.. 더보기