1)
우선 어제까지 진행한 부분이 main activity 였다.
안드로이드를 본격적으로 확장하기 위해서 main activity에 간단한 목차를 만들고,
어제까지 진행한 이미지 처리 부분을 sub activity로 만들었다.
btnImageSend_ = findViewById(R.id.btnImageSend);
btnImageSend_.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent intent = new Intent(getApplicationContext(), SubActivity.class);
startActivity(intent);
}
});
이런 식으로 버튼을 클릭할 시 해당 sub activity로 넘어가도록 구현했다.
기존에 작업하던 main activity를 sub activity로 바꿔줄 때 유의할 점은,
layout_activity를 activity_main -> activity_sub 등, 해당 layout 이름으로 바꿔주어야 한다.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sub);
...
}
2)
갤러리처럼 처리된 이미지를 불러오는 부분도 sub activity로 만들어 주었다.
이제 데이터베이스에 저장된 이미지 location 정보를 담고 있는 url 를 request 해서 이 sub activity의 image view에서 출력해 보려고 한다.
그에 앞서 url과 uri의 차이가 궁금해졌다.
url이란 특정한 리소스의 식별자이다. 책, 페이지, 문서 등의 식별자가 될 수 있다.
uri는 url에 포함되는 개념인데, 위에서 제시한 것과 같은 데이터에 HTTP 나 FTP 같은 방식을 사용해서 접근하는 특수한 식별자를 말한다.
3) Glide 라이브러리를 활용해서 서버 이미지 ImageView에 띄우기
처음에는 Drawable 이라는 클래스를 사용하려고 했었는데, 네트워크 접근이 복잡하여 조금 더 찾아봤다.
이미지를 서버 URL에 접근해서 가져오려고 하는 경우, http클라이언트를 이용해서 복잡해지는데,
이런 구현을 다 해놓은.. 라이브러리가 있다는 말이다 ㅠㅠ!
dependencies {
...
// Glide 라이브러리를 사용하기 위한 장치
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
}
우선 위와 같이 dependencies 에 Glide 라이브러리를 추가해준다.
button_ = findViewById(R.id.button1);
button_.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
imageView_ = findViewById(R.id.imageView);
Glide.with(view).load("https://62447fb4ad50.ngrok.io/media/dtmja_.png").into(imageView_);
}
});
그리고 이미지를 띄울 sub activity 에서 위 코드와 같이 url만 넣어주면 바로 ImageView에 바로 띄울 수 있다!!
다음 편은
갤러리처럼 DB 테이블에 있는 모든 URL을 가져와서 일정한 사이즈로 이미지를 띄워봐야겠다.
그리고 이미지 사이즈가 너무 큰 경우에는 load를 못해서,
Glide 라이브러리 내장 함수로 resize처리를 해줘야겠다.
REFERENCE
1. Glide 라이브러리 사용 참고. 안드로이드에 ImageView를 띄우는 여러 방법이 상세하게 정리되어 있다. (서버에 접근하는 경우와 그렇지 않은 경우 모두.)
'모바일앱 프로젝트' 카테고리의 다른 글
Android + Django 로그인 기능 구현하기 (1) 회원 가입 (1) | 2021.03.12 |
---|---|
안드로이드에 서버 이미지로 갤러리 만들기 (0) | 2021.03.06 |
Django 클래스형 view 와 데이터베이스 model (0) | 2021.03.04 |
안드로이드에서 서버로 데이터 전송하기 (2) | 2021.03.04 |
MySql (0) | 2021.03.03 |
댓글