본문 바로가기

프로그래밍238

[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.
[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.