본문 바로가기

전체 글424

[Android] 푸시알림 구현 class 클래스명 : AppCompatActivity() { private lateinit var binding: 바인딩 lateinit var builder: NotificationCompat.Builder lateinit var manager: NotificationManager //오레오 이상은 반드시 채널을 설정해줘야 Notification이 작동함 private val CHANNEL_ID = "channel1" private val CHANNEL_NAME = "Channel1" override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = 바인딩.inflate(layoutInflat.. 2023. 11. 23.
[Android] ProgressBar 구현 이번 포스팅에서는 커스텀 프로그레스바를 만들텐데 대기시간이 필요할때 주로 사용되는 로딩창을 프로그레스바로 구현해보도록 하겠습니다. 먼저 새로운 프로젝트를 생성합니다. 템플릿은 아무것도 없는 Empty Activity를 선택했습니다. 프로젝트 이름주시고 최소 SDK는 API24:Android7.0으로 했습니다. 처음 프로젝트를 생성하면 MainActivity와 activity_main.xml 파일이 기본으로 만들어집니다. 그럼 먼저 로딩창을 테스트하기 위한 버튼을 보여주기 위해 activity_main.xml에 아래와 같이 코딩합니다. 그리고 MainActivity를 코딩하기 전에 팝업으로 뜰 로딩창을 먼저 만들어 줍니다. 로딩창을 위한 새로운 자바 클래스파일을 추가합니다. ProgressDialog에 아.. 2023. 11. 22.
[Android] Room 다른 참고할만한 링크 : https://math-coding.tistory.com/247 [Android] Room 이해 및 활용 Room이란? SNS를 사용하는 중에 네트워크 연결이 끊어졌을 때 새로운 사진들이 로딩 중이고 이전에 봤던 사진들은 계속 보이는 것을 경험해 본적이 다들 있을 것입니다. 이를 데이터 캐싱이라고 math-coding.tistory.com 🤔 내부 DB란 무엇인가? 안드로이드에서는 앱의 데이터를 효율적으로 관리하기 위한 저장소로 SQLite라는 데이터베이스를 제공하고 있습니다. 이는 다른 외부 DB들과 달리 소규모 데이터를 관리하고 사용하는데 적합한 관계형 데이터베이스입니다. 적은 데이터를 관리하는데 최적화된 만큼 속도가 빠르고 가볍다는 장점이 존재하여 현시점의 많은 애플리케이션.. 2023. 11. 21.
[프로그래머스, JAVA] 달리기 경주 https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 달리기 경주 문제 설명 얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 1등인 "mumu" 선수를 추월했다는 것입니다. 즉 "soe" 선수가 1등, "mumu".. 2023. 11. 11.
[코딩테스트] String 배열에서 특정 문자 찾기 ▒ 배열에서 indexOf() 사용하려면? 데이터 안에서 매개변수로 들어온 인자의 위치를 반환하는 indexOf()메소드는 String타입과 List계열의 타입에서만 사용 가능하다. 따라서 기본형의 배열이나 String타입의 배열에서 indexOf()를 사용하려면 이를 List타입으로 변환 해주어야 한다. import java.util.Arrays; public class Test { public static void main(String[] args) { String[] str = {"one","two","three"}; Arrays.asList(str).indexOf("two"); // 1반환 } } 반환 값은 int타입이다 찾고자 하는 값이 여럿 존재하는 경우 가장 첫번째 값의 index를 반환한다.. 2023. 11. 11.
[Android] 숫자 천단위 콤마찍기 가격등을 입력할때 천단위 콤마가 자동입력되도록 할 EditText를 만든다. 가격이 큰 숫자를 입력할 경우 튕기는 경우가 있으므로 maxLength는 15로 설정했다. try catch문으로 에러가 났을때 넘길수있으므로 maxLength는 굳이 안해도된다. ​ // 세자리로 끊어서 쉼표 보여주고, 소숫점 셋째짜리까지 보여준다. DecimalFormat df = new DecimalFormat("###,###"); // 값 셋팅시, StackOverFlow를 막기 위해서, 바뀐 변수를 저장해준다. String result=""; .... binding.somethingEditText.addTextChangedListener(new TextWatcher(){ @Override public void after.. 2023. 7. 20.