무료
다른 수강생들이 자주 물어보는 질문이 궁금하신가요?
- 해결됨Firebase 서버를 통한 Android앱 개발 지침서
사진업로드 오류 logcat
2022-05-03 17:49:43.942 26678-26678/com.han.myapplication E/UploadTask: could not locate file for uploading:file:///storage/emulated/0/DCIM/Camera/IMG_20220503_081843.jpg 2022-05-03 17:49:43.944 26678-26678/com.han.myapplication E/StorageException: StorageException has occurred. An unknown error occurred, please check the HTTP result code and inner exception for server response. Code: -13000 HttpResult: 0 2022-05-03 17:49:43.944 26678-26678/com.han.myapplication E/StorageException: /storage/emulated/0/DCIM/Camera/IMG_20220503_081843.jpg: open failed: EACCES (Permission denied) java.io.FileNotFoundException: /storage/emulated/0/DCIM/Camera/IMG_20220503_081843.jpg: open failed: EACCES (Permission denied) 사진 위치 출력문 에선 파일 경로 잘뜨던데 업로드 시키면 저런 오류가 납니다 매니페스트 권한 다 줫고 앱켤떄 수락도 다했는데 왜이럴까요?...ㅠ 또한 oncreatview 에서 requestPermissions(new String[]{Manifest.permission.READ_EXTERNAL_STORAGE},0); READ_EXTERNAL_STORAGE 부분에 빨간색으로 오류가 뜹니다 저는 현재 업로드 코드는 메인엑티비티 위에 프레그먼트 창에 작성하였어요.
- 미해결Firebase 서버를 통한 Android앱 개발 지침서
파이어베이스 관련해서 질문드립니다.
public class Datadao { FirebaseDatabase database; ArrayList <String> arrayList=new ArrayList<String>(); public ArrayList<String> readIdlist() { database=FirebaseDatabase.getInstance(); database.getReference().child("idlist").addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot snapshot) { for (DataSnapshot dataSnapshot : snapshot.getChildren()) { Datadto dt=dataSnapshot.getValue(Datadto.class); arrayList.add(dt.getId()); } } @Override public void onCancelled(@NonNull DatabaseError error) { } }); return arrayList; }}이 부분 관련해서, 질문드립니다. for문안에서는 arrayList가 잘 작동하는데요. return할 때는, 계속 ArrayList가 null로 찍혀서 나옵니다. 혹시 이유를 알 수 있을까요?
- 미해결Firebase 서버를 통한 Android앱 개발 지침서
Database 에서 버전이 바뀌면서 코드도 바껴서 적어 드려요
taskSnapshot.getDownloadUrl(); 이코드가 없어졌어요 그래서 업로드한 경로를 알려면 Task<Uri> urlTask = uploadTask.continueWithTask(new Continuation<UploadTask.TaskSnapshot, Task<Uri>>() { @Override public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot> task) throws Exception { if (!task.isSuccessful()) { throw task.getException(); } // Continue with the task to get the download URL return riversRef.getDownloadUrl(); }}).addOnCompleteListener(new OnCompleteListener<Uri>() { @Override public void onComplete(@NonNull Task<Uri> task) { if (task.isSuccessful()) { Toast.makeText(UploadActivity.this, "업로드 성공", Toast.LENGTH_SHORT).show(); //파이어베이스에 데이터베이스 업로드 @SuppressWarnings("VisibleForTests") Uri downloadUrl = task.getResult(); ImageDTO imageDTO = new ImageDTO(); imageDTO.setImageUrl(downloadUrl.toString()); imageDTO.setTitle(etTitle.getText().toString()); imageDTO.setDescription(etDesc.getText().toString()); imageDTO.setUid(mAuth.getCurrentUser().getUid()); imageDTO.setUserId(mAuth.getCurrentUser().getEmail()); //image 라는 테이블에 json 형태로 담긴다. //database.getReference().child("Profile").setValue(imageDTO); // .push() : 데이터가 쌓인다. database.getReference().child("Profile").push().setValue(imageDTO); Intent intent = new Intent(getApplicationContext(), UserActivity.class); startActivity(intent); } else { // Handle failures // ... } }}); Uri downloadUrl = task.getResult(); 이 코드를 쓰면 됩니다.
- 미해결Firebase 서버를 통한 Android앱 개발 지침서
dependencies에 데이터베이스부분 추가하면 에러가 뜹니다.
The library com.google.android.gms:play-services-base is being requested by various other libraries at [[15.0.1,15.0.1]], but resolves to 16.0.1. Disable the plugin and check your dependencies tree using ./gradlew :app:dependencies.해결방법을 어떻게 해야할지 모르겠습니다..
- 미해결Firebase 서버를 통한 Android앱 개발 지침서
데이터베이스 읽어오기
다른 프로젝트에 있는 데이터 베이스를 읽어오고 싶어요. Project1에서 데이터베이스에 데이터를 추가하면 Project2가 그 데이터들을 읽어오고 싶은데 방법이 있나요? 알려주세요 ..ㅜㅜ
- 미해결Firebase 서버를 통한 Android앱 개발 지침서
github에서 코드 복사할때
'''mGoogleSignInClient = GoogleSignIn.getClient(this, gso);'''Api가 아닌 SignIn 이라는 이름으로 된 코드가 복사되는데어떻게 해결해야할까요ㅠㅠ