1. 준비물

구글에서 공개한 좋은 모듈이 있습니다. Glide라고 하는 모듈입니다.

Glide : https://github.com/bumptech/glide


import com.bumptech.glide.Glide;
cs


이렇게 하면 Glide를 쓸 수 있게 됩니다.


import com.example.keepair.myapplication.helper.Constants;
import com.example.keepair.myapplication.model.Flower;
cs


이 것은 제가 쓰는 모델입니다. 저는 모델을 Flower라고 작명했습니다.


import java.text.ParseException;
import java.util.Date;
import java.util.TimeZone;
import uk.co.senab.photoview.PhotoViewAttacher;
 
cs

예외처리와 시간 데이터 처리를 위해 불러옵니다.


    private ImageView mImage;
    private TextView mAuthor, mText, mTime;
    private PhotoViewAttacher mPhotoViewAttacher;
    private Date mDateToUse;
    private String mStriingDate;

cs


데이터를 레이아웃에서 사용할 것이기에 불러와줍니다.


2. 구현 코드


public class DetailActivity extends FragmentActivity {}
cs


이 다음엔 이 안에 들어갈 코드를 구현합니다.


    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.activity_detail);
}
cs


Window.FEATURE_NO_TITLE 이 부분을 주의해야 합니다. 윈도우의 디스플레이 사이즈를 정해봅니다.


        Display display = ((WindowManager) getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
        int width = (int) (display.getWidth() * 0.7); //Display 사이즈의 70%
        int height = (int) (display.getHeight() * 0.9);  //Display 사이즈의 90%
        getWindow().getAttributes().width = width;
        getWindow().getAttributes().height = height;
 
cs


int 변수에 display의 값을 지정해줄 수 있습니다.

아래 코드는 날짜 양식을 정하는 코드입니다.


        Intent intent = getIntent();
        Flower flower = (Flower) intent.getSerializableExtra(Constants.REFERENCE.FLOWER);
        configViews();
        mStriingDate = flower.getCreated_date().substring(0, flower.getCreated_date().length()-1);
        java.text.SimpleDateFormat format = new java.text.SimpleDateFormat(
                "yyyy-MM-dd'T'HH:mm:ss.SSSSSS");
        format.setTimeZone(TimeZone.getTimeZone("GMT"));
        mDateToUse = null;
cs


"yyyy-MM-dd'T'HH:mm:ss.SSSSSS" 여기가 우리가 주로 알던 형식을 이용한 코드입니다. 

 Glide로 마무리하겠습니다.


         try {            mDateToUse = format.parse(mStriingDate);
        } catch (ParseException e) {
            e.printStackTrace();
        }
 
        mAuthor.setText(flower.getAuthor());
        mText.setText(flower.getText());
        mTime.setText(formatTimeString(mDateToUse));
        Glide.with(getApplicationContext()).load(flower.getImage()).into(mImage);
cs


Glide로 가져온 이미지를 flower 모델에서 가져온 텍스트와 함께 이미지 레이아웃에 넣어줍니다.

'Java' 카테고리의 다른 글

[android] Activity 구현 팁  (1) 2018.02.03
[android] 경과한 시간에 따른 날짜 표현 방식  (0) 2018.02.03
[android] 구글맵 3  (0) 2018.02.03
[android] 구글맵 2  (0) 2018.02.03
[android] 구글맵 1  (0) 2018.02.03

+ Recent posts