무물컴 앱개발기록 38

내가 이 프로젝트를 진행하면 배운 것들

정말 열심히 진심으로 이 프로젝트에 참여했다. 이제 적어도 내가 맡은 기능들은 막혀도 해결할 수 있을 정도가 된 것 같다. 팀 프로젝트를 진행하며 느낀 것은 책임감과 도움, 소통이 얼마나 중요한지였다. 아직 앱 런칭이 남았지만 그래도 끝까지 프로젝트를 끝냈다. 끝을 냈다는 건 특히 이 분야에서 중요한 것 같다. 이제 내가 배운 것들을 정리하면 설명해보도록 하겠다. 카메라 앨범 기능 내가 이번에 진행한 것은 카메라와 앨범기능을 사용하고 그것을 뷰페이저로 넣고 다른 액티비티로 이동시키는 것이었다. +버튼을 누르면 카메라나 앨범을 선택할 수 있는 액티비티로 이동하게 된다. //권한 체크 val hasCamPerm = checkSelfPermission(Manifest.permission.CAMERA) == P..

개발일지 33 -3/18

카메라 갤러리 모두 비트맵으로 바이트로 변환해서 넘겨주기 성공 하지만 비트맵으로 받으면 사진이 회전하기 떄문에 photolist에는 이미지 경로를 넣어줌 사진 추가 페이지 성공 //set되는 부분-파이어베이스 // if (imagePath != null) { // var fileName = // SimpleDateFormat("yyyyMMddHHmmss").format(Date()) // 파일명이 겹치면 안되기 떄문에 시년월일분초 지정 // storage.getReference().child("image").child(fileName).putFile(imagePath.toUri()) // //어디에 업로드할지 지정 // .addOnSuccessListener { taskSnapshot -> // 업로드 ..

개발일지 32 -3/16

현생이 너무 바빠 요즘 일지 쓸 시간도 없다ㅜ 그래도 최대한 쓰긴 하는데, 더불어 2기 동아리까지 진행하려니 앞이 막막.... 코딩질문 -> 비트맵, 바이트로 변화해 전달해주기 성공 하지만 api연결이 안된다. 저번에 또 골 썩이던 formdata가 문제.. 뷰페이저 부분도 얼른 해결이 됐으면ㅠㅠ //카메라 앨범 이미지 가져오기 @RequiresApi(Build.VERSION_CODES.N) override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { super.onActivityResult(requestCode, resultCode, data) if (resultCode == RESULT_OK) { // var ima..

개발일지 31 - 3/14

이미지 변환을 비트맨과 멀티파트로 바꿀 건데 혹시 몰라 코드를 더 만지기 전에 저장해두는 파일이다! package com.example.mumulcom import android.Manifest import android.R.attr import android.annotation.SuppressLint import android.content.Intent import android.content.pm.PackageManager import android.graphics.Bitmap import android.graphics.BitmapFactory import android.icu.text.SimpleDateFormat import android.os.Build import android.os.Bundl..

개발일지 30- 3/10

하위 카테고리 값 확인 이미지 두개 전송되는 것 확인 완료버튼(코딩질문 개념질문 답변) 자동으로 채워지게 하기 이미지 추가 삽입 확인 뷰페이저 추가페이지 서버 멀티파트로 바꾸기 답변하기에서 이미지 삽입 문제를 해결했다. 다행히 내가 한 코드 쪽에서 생긴 문제는 아니었고 서버 쪽에서 생긴 문제였다. 답변하기 질문하기 버튼을 누를 때 약간 지연을 만들었다. 파이어베이스 업로드 시간이 걸리기 때문에 시간을 벌기 위해서이다. 다른 분이 서버 멀티파트를 성공하면 정말 좋겠다... 그럼 파이어베이스를 거치지 않아도 되니까... //필수 부분 작성되면 답변하기 누르기 binding.answerAnswerIv.setOnClickListener { Handler().postDelayed(Runnable { //딜레이 후..

개발일지 29 - 3/6

하위 카테고리 값 확인 이미지 두개 전송되는 것 확인 완료버튼(코딩질문 개념질문 답변) 자동으로 채워지게 하기 이미지 추가 삽입 확인 뷰페이저 추가페이지 안드로이드 지연 누르기 하위카테고리가 if문에 반영되지 않아 수정했다. private fun checkcodingif(){ if (binding.checkcodingquestionSmallCategorySp.isEnabled() == false) { Toast.makeText(this, "카테고리를 선택해주세요.", Toast.LENGTH_SHORT).show() return } if (bigCategory != "기타") { if (smallCategory == null) { Toast.makeText(this, "하위 카테고리를 선택해주세요.", T..

개발일지 28 - 3/6

오늘은 answer파트 위주로 작성할 것이다! 파이어베이스를 사용하지 않으려 했지만 그러면 타인에게 공유가 안돼서 사용했다 용량문제가 걸리지만 사용자 수를 참고해야겠다. 그리고 이미지 로딩이 좀 걸리는데 이걸 빠르게 할 수 있는지 찾아봐야겠다. //질문하기 세팅 getquestion() //질문측 이미지 val qimage = intent.getStringArrayListExtra("images") Log.d("get/qimage", qimage.toString()) //이미지 없을시 그 줄 삭제 if(qimage.toString().length=5){ //추가버튼 binding.answerImagePlusIv.setOnClickListener { Toast.makeText(this, "이미지는 최대 5..

개발일지 27 - 3/5

특정 시점 액티비티로 인텐트 전송하기 혹은 데이터 저장 되게 하기 카메라 작동되게 하기 현재 코딩실력 없으면 안보이게 하기 이미지 최대 5개 넣을 수 있게 하기 답변하기 intent값 받아서 집어넣기 다중이미지 선택가능하게 답변하기 리사이클러뷰 intent연결 뷰페이저 추가로 페이지 추가되게 smallquestionIdx 확인 정리본 //startActivityresult대신 activityResultLauncher = registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { } 이번에 startActivityresult 가 중단되었다. 이걸 대체하는 함수로 여기저기 찾아보니 위처럼 사용하면 대체할 수 있다 //5개 이하일..

개발일지 26 - 3/3

특정 시점 액티비티로 인텐트 전송하기 혹은 데이터 저장 되게 하기 카메라 작동되게 하기 현재 코딩실력 없으면 안보이게 하기 이미지 최대 5개 넣을 수 있게 하기 답변하기 intent값 받아서 집어넣기 다중이미지 선택가능하게 답변하기 리사이클러뷰 intent연결 뷰페이저 추가로 페이지 추가되게 smallquestionIdx 확인 답변하기 intent값 받아서 집어넣기 +코딩실력 안보이게하기 if문 활용! binding.questionFloatingButton.setOnClickListener { val intent = Intent(this,AnswerActivity::class.java) intent.putExtra("questionIdx",questionIdx) // type : Long intent.p..

개발일지 25 - 3/2

특정 시점 액티비티로 인텐트 전송하기 혹은 데이터 저장 되게 하기 카메라 작동되게 하기 현재 코딩실력 없으면 안보이게 하기 이미지 최대 5개 넣을 수 있게 하기 답변하기 intent값 받아서 집어넣기 다중이미지 선택가능하게 카메라 작동되게+회전막기 검색 중 이미지 라이브러리인 Glide를 활용해 이미지 경로를 이미지뷰에 띄우는 방법 @RequiresApi(Build.VERSION_CODES.N) @SuppressLint("NonConstantResourceId", "QueryPermissionsNeeded") fun onClick() { binding.camerashootingCameraIv.setOnClickListener { intent = Intent(android.provider.MediaStor..