안탁의 프로젝트 실전 경험 총결산(2)

2753 단어
1. 타임 스탬프 전환 문제는 우리가 개발할 때 서버가 되돌아오는 타임 스탬프를 년 월 일 시 분 초 등 형식으로 바꾸지만 전환하는 시간에 시간과 서버의 시간이 대응하지 않는 것 같다. 왜냐하면 우리가 시간대를 설정하지 않았기 때문이다sdf.setTimeZone(TimeZone.getTimeZone("GMT+08:00")); 이 코드는 매우 중요하다.
public static String timeStamp2Date(String seconds, String format) {
    if (seconds == null || seconds.isEmpty() || seconds.equals("null")) {
        return "";
    }
    if (format == null || format.isEmpty())
        format = "yyyy-MM-dd";
    SimpleDateFormat sdf = new SimpleDateFormat(format);
    sdf.setTimeZone(TimeZone.getTimeZone("GMT+08:00"));
    return sdf.format(new Date(Long.valueOf(seconds + "000")));
}

2. 테스트 인원이나 사용자가 버튼에 대한 중복 클릭을 방지한다.
private static long lastClickTime;

public synchronized static boolean isFastRepeatClick() {
    long time = System.currentTimeMillis();
    if (time - lastClickTime < 500) {
        return true;
    }
    lastClickTime = time;
    return false;
}

3. Glide 그림을 사용하여 변형하는 문제
   public static void Glide_iamge(Context mContext, String url, ImageView imageView) {
        Glide.with(mContext)
                .load(url)
                .asBitmap()
                .error(R.mipmap.ic_default_fliter_img)
                .placeholder(R.mipmap.pic_loading)
                .centerCrop()
                .into(new MyBitmapImageViewTarget(imageView));
       }

4、Glide 그림을 사용하여 녹색으로 변하는 문제
첫 번째 솔루션:Glide.with(a).load(url).diskCacheStrategy(DiskCacheStrategy.SOURCE).into(i);
두 번째 솔루션:
 * Created by zhaoyong on 2016/1/26. 
 *         
 */  
public class GlideConfiguration implements GlideModule{  
    @Override  
    public void applyOptions(Context context, GlideBuilder builder) {  
        builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888);  
    }  
  
    @Override  
    public void registerComponents(Context context, Glide glide) {  
  
    }  
}  

   AndroidManifext   :
  

5. 네트워크 요청 취소
// Retrofit       :
Call> call =  gitHubService.repoContributors("square", "retrofit");
call.enqueue(   
     );
// or...call.execute();
// later...call.cancel();
//Volley      :
VolleyHelper.getInstance().getRequestQueue().cancelAll("POST");

6. 소프트 키보드 문제
//        
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
//         
``  :    ScrollView,       
  :ScrollView  nobar  
  :       android:configChanges="keyboardHidden|orientation|screenSize"```

좋은 웹페이지 즐겨찾기