Glide clear cache 파일 이름은 해시된 키이므로 특정 URL 또는 파일 경로에 해당하는 캐시된 파일을 모두 디스크에서 삭제하는 것이 좋습니다. 원본 이미지를 로드하거나 캐시 할 수만 있다면 문제가 더 간단해질 것입니다. 실제로 캐시 파일을 무효로 하는 가장 좋은 방법은 내용이 변경되면 (예 : url, uri, 파일경로 등 ) 식별자를 변경하는 것입니다. 파일 경로를 변경할 수 없으므로 Glide는 메모리와 디스크 캐시 키에 추가 데이터를 섞어서 캐시된 데이터가 무효화되는 시점을 효과적으로 제어 할 수 있도록 signature() API 를 제공한다. ..
php, 웹 서버에 이미지 업로드
Retrofit, POST parameters 123456@POST("repo/item")Call getItem( @Field("id") id );cs 위와 같이 하면 ,@Field parameters can only be used with form encoding. 에러를 발생시킨다 1234567@FormUrlEncoded@POST("repo/item")Call getItem( @Field("id") id );cs @FormUrlEncoded 를 추가시켜주어야 정상적으로 parameter가 붙어 전송된다 @FormUrlEncoded 어노테이션을 메소드에 명시하면 form-encoded 데이터로 전송된다. 각 key-value paire 의 key는 어노테이션 값에, value는 객체를 지시하는 @Fie..
Fragment setCustomAnimations() R.animator.slide_up 123456789cs R.animator.slide_up 123456789cs 애니메이션 적용 1234567getFragmentManager().beginTransaction() .setCustomAnimations(R.animator.slide_up, R.animator.slide_down, R.animator.slide_up, R.animator.slide_down) .add(R.id.list_fragment_container, Fragment) .addToBackStack(null).commit();cs 메서드를 호출하는 순서가 중요하다고 한다 실제로 내 경우 setCustomanimations() 를 add..
Fragment add(), replace(), BackStack 기본적으로 Fragment가 Activity의 View에 올라가면, onAttach -> onCreate -> onCreateView -> onCreateanimator -> onViewCreated -> onActivityCreated ->onStart -> onResume -> 의 흐름이고 Activity에서 제거가 된다면 onPause -> onStop -> onDestroyView -> onCreateAnimator -> onDestroy -> onDetach 의 순으로 호출이 된다. attach/detach는 Activity에 '포함' 되는 과정을 일컫는다. add() 기존 Fragment를 그대로 둔 채 (onStop 호출하지 ..
Hide FAB on scroll(Recyclerview에서 스크롤시 FloatingActionButton 숨기기) fdRecyclerview.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(RecyclerView recyclerView, int dx, int dy) { if (dy 0) { fdFab.hide(); } } });
Avoiding Memory Leaks 안드로이드 애플리케이션은, 적어도 T-Mobbile G1 에서는 16MB의 힙으로 제한된다. 그것은 전화를 위한 많은 메모리이고 개발자가 달성하기를 원하는것에는 거의 없다. 이 메모리를 모두 사용하지 않는 경우에도, 다른 응용프로그램을 죽이지 않고 실행할 수 있게 하려면 가능한 작게 사용해야 한다. Android가 메모리에 보관할 수 있는 응용프로그램이 많을수록 사용자가 응용프로그램을 전환하는 속도가 빨라진다. 내 작업중에 안드로이드 애플리케이션에서 메모리 누출 문제가 발생했고, 같은 실수로 대부분의 시간을 보냈다. ( Context에 대한 장기간의 레퍼런스를 유지) 안드로이드에서 Context는 많은 연산에 사용되지만 대부분은 리소스를 로드하고 액세스한다. 이것은..
failed to resolve : android.arch compile "android.arch.lifecycle:runtime:1.0.0-alpha1" compile "android.arch.lifecycle:extensions:1.0.0-alpha1" annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha1" 를 추가하는 중에 build 가 되지 않아 골머리 썪고 있었는 데 maven(){ url "https://maven.google.com" } 이것을 maven(){ url "https://dl.google.com/dl/android/maven2/" } 로 바꿔주어 빌드 성공
To gitlab.com:SmartSmart/TEAM_DOC.git ! [rejected] master -> master (fetch first)error: failed to push some refs to 'git@gitlab.com:SmartSmart/TEAM_DOC.git'hint: Updates were rejected because the remote contains work that you dohint: not have locally. This is usually caused by another repository pushinghint: to the same ref. You may want to first integrate the remote changeshint: (e.g., 'git pul..