안녕하세요
앱 개발중에 파이어베이스로 사진 보내는 부분에서 막혔는데
질문할곳을 찾다가 이곳으로 왔습니다
고수님들 도와주세요..ㅠㅠ
다운로드 링크도 잘 따와지고 따로 전송하면 보내는 지는데
(제가 정의한 클래스 객체인)Post 객체에 담아서 파이어베이스에 넣으면 다운로드 링크가 파이어베이스게 들어가지를 않습니다
private void uploadFile(Post post) {
if (filePath != null ) {
FirebaseStorage storage = FirebaseStorage.getInstance();
SimpleDateFormat formatter = new SimpleDateFormat( "yyyyMMHH_mmss" );
Date now = new Date();
String filename = formatter.format(now) + ".png" ;
storageRef.putFile(filePath).addOnSuccessListener( new OnSuccessListener<UploadTask.TaskSnapshot>() {
@Override
public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) {
@SuppressWarnings ( "VisibleForTests" ) Uri downloadUrl = taskSnapshot.getDownloadUrl();
downUrl[ 0 ] = downloadUrl.toString();
post.setUrl(downUrl[ 0 ]);
}
});
|
이 함수에서 다운로드 링크를 따옵니다 다운링크는 전역변수로 설정했습니다
Button writeBtn = (Button) findViewById(R.id.doWrite);
writeBtn.setOnClickListener( new View.OnClickListener(){
@Override
public void onClick(View view) {
String text = mInput.getText().toString();
if (TextUtils.isEmpty(text)){
return ;
}
Post post = new Post();
post.setText(text);
post.setWriterId(getMyId());
post.setWriteTime(System.currentTimeMillis());
post.setProvince(province);
post.setCity(city);
post.setClassification(classification);
post.setAnimal(animal);
uploadFile(post);
new Firebase(PostActivity.FIREBASE_POST_URL).push().setValue(post);
setResult(RESULT_OK);
finish();
}
});
|
그 후 버튼을 클릭했을 때 post 객체 생성 후 다른 값들을 세팅하고, uploadFile 메소드로 post 객체의 url 값을 설정해주려고 하는데 자꾸 세팅이 되지 않습니다ㅜ
post 객체를 전역변수로 미리 선언 후 해봐도 되지가 않고.. 막막해서 이렇게 질문을 올립니다
도와주시면 정말 감사드립니다ㅠㅠㅠㅠ