-
텍스트를 입력할 때마다 그대로 출력해 주는 TextWatcher()2023.07.17
TextWatcher() 메소드는 텍스트를 입력할 때마다 입력하는 글자가 그대로 출력되어 실시간으로 다른 곳에서 표시되는 기능을 구현해 준다. AndroidManifest.xml에서 android:theme="@style/Theme.TextWatcher"를 추가해 준다. MainActivity.java addTextChangedListener() 입력 후 new TextWatcher를 입력하면 자동완성된다. package com.bpdev.textwatcher; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher;..
에뮬레이터에서 네트워크 통신 되도록 설정하는 방법, JASON 테스트 데이터 사이트2023.07.14안드로이드 스튜디오에서 실제 폰등의 기기가 아니라 에뮬레이터를 사용해 네트워크 통신 테스트를 할 경우, 네트워크 통신이 가능하도록 몇 가지 설정을 해 주어야 한다. 1. res/xml폴더 안에 network_security_config.xml 생성 *.typicode.com typicode.com은 테스트 데이터를 제공해주는 사이트. 이 사이트로부터 오는 것은 다 허용해달라고 설정해 준다. JSONPlaceholder - Free Fake REST API (typicode.com) JSONPlaceholder - Free Fake REST API {JSON} Placeholder Free fake API for testing and prototyping. Powered by JSON Server + Lo..
Contacts App : 검색 추가 addTextChangedListener, TextWatcher2023.07.14app / res / layout / activity_main.xml app / java / com.bpdev.contacts / MainActivity.java package com.bpdev.contacts; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.content.Intent; import android.os.Bundle; import android.text.Editable; import android.text.TextWatcher; imp..
Contacts App : SQLite3 DB, Adapter, DatabaseHandler2023.07.14app / res / layout / activity_main.xml app / res / layout / contact_row.xml app / res / layout / activity_add.xml app / res / layout / activity_update.xml app / java / com.bpdev.contacts / MainActivity.java app / java / com.bpdev.contacts / adapter / ContactAdapter.java app / java / com.bpdev.contacts / model / Contact.java app / java / com.bpdev.contacts / data / DatabaseHandler.java app / java..
Contact App : AlertDialog, RecyclerView, Adapter...2023.07.12app / res / layout / activity_main.xml app / res / layout / contact_row.xml app / java / com.bpdev.simplecontacts / MainActivity.java package com.bpdev.simplecontacts; import androidx.appcompat.app.AppCompatActivity; import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import android.os.Bundle; import android.view.View; import android.widget...
SimpleMemo App : RecyclerView, Adapter, ViewHolder2023.07.12app / res / layout / activity_main.xml app / res / layout / memo_row.xml app / java / com.bpdev.simplememo / MainActivity.java app / java / com.bpdev.simplememo/ model / MemoAdapter.java app / java / com.bpdev.simplememo / adapter / Memo.java app / res / layout / activity_main.xml 빨간 전구 누르고 추천 선택하면 생성자 만들어줌. 자동생성 app / java / com.bpdev.simplememo / MainActivity.java package com.bpdev.simplememo;..
SharedPreferences class 앱 파일 저장소 사용하기2023.07.11마지막 페이지인 WelcomeActivity에서 e-mail 정보를 받아오는 방법 2번이다. 포인트는 SharedPreferences 클래스를 이용해서 파일을 생성하고 그곳에 데이터를 저장하여, 필요한 곳에서 저장소를 불러와서 데이터를 사용하는 것. 파일은 앱을 삭제하면 사라진다. MainActivity.java package com.bpdev.register; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.util.Log; import android.view.V..
Register : intent putExtra()/getExtra() 데이터 전달2023.07.11마지막 페이지인 WelcomeActivity에서 e-mail 정보를 받아오는 방법 1번이다. 포인트는 페이지들의 연결고리인 intent를 이용해서 데이터를 넘겨주고 넘겨주는 것. 징검다리 식. MainActivity.java package com.bpdev.register; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import com.google.android..
Register2023.07.11MainActivity.java package com.bpdev.register; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import com.google.android.material.snackbar.Snackbar; public class MainActivity extends AppCompatActivity { EditText editEmail; EditText editPassword1; EditTe..
LifeCycle2023.07.11MainActivity.java package com.bpdev.lifecycle; import androidx.activity.result.ActivityResult; import androidx.activity.result.ActivityResultCallback; import androidx.activity.result.ActivityResultLauncher; import androidx.activity.result.contract.ActivityResultContracts; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.util..
Activity Life Cycle, 1. 두 개의 Activity 연결과 실행2023.07.10하단의 링크를 보면 활동 수명 주기라고 번역이 되어 나오는데, 화면(xml)과 로직(java등)의 결합체인 Activity의 시작과 끝의 동작 과정을 Activity Life Cycle이라고 한다. 안드로이드 화면에서 앱을 실행시킨 후 back 버튼 누르면 앱이 사라진다. 이런 식의 과정에서 각 함수들이 작동하는 것이다. 안드로이드에서 앱의 실행 버튼을 누르면 가장 먼저 manifests/AndroidManifest.xml에서 설정한 android.intent.action.MAIN이 실행된다. 카카오톡의 경우 로고액션이 들어간 액티비티부터 실행된다고 할 수 있다. 그리고 실행된 앱은 홈버튼을 누르면 잠시 중지(일시중지)되어 있어야 한다. 그리고 다른 앱을 실행시키거나 다른 페이지로 이동했을 때도 잠시 일..
Alarm : CountDownTimer, MediaPlayer2023.07.10java / com.bpdev.alarm / MainActivity.java package com.bpdev.alarm; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.DialogInterface; import android.media.MediaPlayer; import android.os.Bundle; import android.os.CountDownTimer; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.w..
Timer App : CountDownTimer, 동작 중 Tab 숫자 세기2023.07.09MainActivity.java package com.bpdev.timer; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.DialogInterface; import android.os.Bundle; import android.os.CountDownTimer; import android.view.View; import android.widget.Button; import android.widget.TextView; public class MainActivity extends AppCompatActivity { TextView txtTimer; Te..
Quiz App : ArrayList, 동작 초기화와 AlertDialog, finish();2023.07.09qpp / com.bpdev.quizapp / MainActivity.java package com.bpdev.quizapp; import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AppCompatActivity; import android.content.DialogInterface; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.ProgressBar; import android.widget.TextView; import com.bpdev.quiz..
나이 계산 Activity / import java.util.Calendar;2023.07.09MainActivity.java package com.bpdev.cat; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.google.android.material.snackbar.Snackbar; import java.util.Calendar; public class MainActivity extends AppCompatActivity { EditText editYear; Button b..
퍼센트를 구하는 Calculator activity2023.07.09MainActivity.java package com.bpdev.calculator_khy; import static com.bpdev.calculator_khy.R.id.enterPercent; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.google.android.material.snackbar.Snackbar; public class M..
UITest1 : 로그인 화면 Activity(xml+java) / Toast, Snackbar2023.07.06app / mainfests / AndroidManifest.xml app / java / com.bpdev.uitest1 / MainActivity.java package com.bpdev.uitest1; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import com.google.android.material.snackbar.Snackbar; public c..
DiceApp : 안드로이드 개발 기본 구성2023.07.06안드로이드 개발의 구성요소 화면개발(그림) + 로직개발(동작) 화면개발 : XML 개발 로직개발 : JAVA 개발 개발순서 : 화면개발(XML) - 로직개발(JAVA) : 단위별로 반복한다. 화면-로직 > 화면-로직 > 화면-로직 > ... 하나의 화면과 로직 묶음 => Activity 액티비티 activity를 생성하면 자동으로 xml과 java 두개도 자동으로 셋팅이 된다. 당연히 어느 작동을 하고 싶을 때 어떤 코드를 어느 위치에 넣어야 하는지를 정하고 시작한다. 안드로이드스튜디오는 클라이언트 개발 프로그램이다. 가상환경을 설치해서 돌아가기 때문에 헤비함, 디스크 메모리 cpu 좋은 거 써야 작업이 잘 진행된다. ♠ xml파일 초기 코드는 ConstraintLayout에 담아야 한다. http://..