본문 바로가기

프로그래밍/안드로이드

(17)
안드로이드 스튜디오 자바 구글 tts 사용하기 간단하게 안드로이드 스튜디오에서 구글 tts를 사용하여 원하는 글을 소리로 변환하는 방법에 대해 알아보겠습니다 정말 간단하게 내가 원하는 글을 변환하기 위해 입력폼을 만들어줍니다 package com.zynar.myapplication; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.widget.Button; import android.widget.EditText; public class MainActivity extends AppCompatActivity { private EditText etTTS; private Button btnExecute; @Override protected voi..
[Java] 안드로이드 채팅 화면을 리사이클러뷰와 뷰바인딩을 이용해서 만들어보자 요즘 코틀린으로 앱을 많이 만든다곤 한다... 하지만 이미 프로젝트를 자바로 만든지 오래되었고 학교에서는 자바를 쓰기 때문에 자바 실력 향상을 위해서라도 계속 자바로 만들려고 하는데 새로운 기능을 적용하는 예제는 거의 코틀린으로 올라와서 자바로 어떻게 적용해야할지 생각하느라 시간이 많이 들었다.. 암튼 이번에는 인터넷의 안드로이드 채팅 기능이 필요해서 찾아보면서 내 앱에 적용을 했는데 리사이클러뷰와 뷰바인딩을 사용했다 덕분에 공부를 좀 많이 한거같다 채팅을 만들려면 내가 입력한 채팅이 있을것이고 상대방이 입력한 채팅이 있을것이다 채팅의 데이터를 보관할 채팅 클래스를 만들어야하고 이 채팅을 보여줄 리사이클러뷰와 그 어댑터가 있어야할것이다 하나의 리사이클러뷰에서 내가 입력한 채팅인지 상대방이 입력한 채팅인지..
안드로이드 스튜디오 리사이클러뷰 체크박스 리스너 만들기 체크박스 리스너를 왜만드냐 하면 일단 리사이클러뷰에 체크박스를 달아놨는데 그 체크박스를 프래그먼트나 액티비티에서 관리하고 사용할 수 있을 필요가 있기 때문이다... 그래서 몇가지 좀 찾아봤는데 해결이 안되어서 아무 생각 없이 안하고 있다가 오랜만에 바인딩을 없애고 다시 하니까 되네 에라이 ㅋㅋ 리사이클러뷰 만드는 방법은 다들 알테니넘어가고 리사이클러뷰에 인터페이스를 만들어야한다 리사이클러뷰에 인터페이스 만들기 인터페이스는 다른 파일로 따로 만들어도 되지만 귀찮으니 그냥 만듬 /* 리스너 인터페이스 구현부 */ public interface CheckBoxClickListener { void onClickCheckBox(int flag, int pos); } 이거를 리사이클러뷰 안에 아무곳이나 넣어주면 된..
안드로이드 open failed: EACCES (Permission denied) 권한 다 했는데 진짜 해결 방법, 안드로이드 10 이상 이 망할 오류 때문에 일단 3일 정도 시간 낭비를 했다 이 글을 보시는 분들은 다른 블로그를 보면서 대충 어떻게든 해봤는데도 안되어서 들어오신걸로 생각됩니다 그러니 세세하게 설명하지는 않을게요 android:requestLegacyExternalStorage="true" 일단 이거는 무조건 하셨을거고 이것도 하신분들도 있을겁니다 private static final int REQUEST_EXTERNAL_STORAGE = 1; private static final String[] PERMISSIONS_STORAGE = { Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE }; int permission ..
안드로이드 csv 파일 선택해서 불러오기 startactivityforresult deprecated 이전 버전에서는 지원이 중단되기 때문에 새로운 방법으로 파일을 선택하고 불러와야한다. 방법은 ActivityResultLauncher를 사용하는것 https://developer.android.com/training/basics/intents/result?hl=ko 활동에서 결과 가져오기 | Android 개발자 | Android Developers 활동에서 결과 가져오기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 개발자 앱 내의 활동이든 다른 앱의 활동이든 다른 활동을 시작하는 것이 단방향 작 developer.android.com ActivityResultLauncher mGetContent = regis..
파이어베이스 안드로이드 사진 다운받기 getFile, FileOutputStream, BitmapFactory 파이어베이스 안드로이드 사진 다운받기 getFile, FileOutputStream, BitmapFactory 파일이 있는지 확인하고 없으면 파일 생성 다운로드한 파일은 비트맵 jpeg 압축 후 저장 /* 파일이 있는지 확인 */ File file = new File(getFilesDir(), "UserProfile"); if(!file.isFile()) { /* 파이어베이스 서버에서 프로필 이미지를 다운받음 */ try { /* 임시파일 생성 */ File tempFile = File.createTempFile("images", "jpeg"); StorageReference sgRef = FirebaseStorage.getInstance().getReference(); sgRef.child("UserA..
자바, 안드로이드 비밀번호, 닉네임 정규식 비밀번호 6~18자리 private boolean checkPW(String pw) { Pattern pattern = Pattern.compile("^(?=.*[a-zA-Z])((?=.*\\d)(?=.*\\W)).{6,18}$"); Matcher matcher = pattern.matcher(pw); if(pw.contains(" ")) return false; else return !matcher.find(); } 닉네임 2~18자리 private boolean checkNickname(String nickName) { Pattern pattern = Pattern.compile("^[가-힣ㄱ-ㅎa-zA-Z0-9._]{2,18}$"); Matcher matcher = pattern.matcher(ni..
[JAVA] 파이어베이스 안드로이드 회원가입, 로그인 이메일 인증 완료하기 회원 가입 부분 FirebaseUser firebaseUser = firebaseAuth.getCurrentUser(); firebaseUser.sendEmailVerification() 위 코드를 firebaseAuth.createUserWithEmailAndPassword(email, pw) 밑에 넣는다. 즉, 계정을 생성하는 부분에 sendEmailVerification을 넣으면 된다. 로그인 인증 부분 if(firebaseAuth.getCurrentUser().isEmailVerified()) 로그인 조건문에 위 부분을 추가하면 된다.