본문 바로가기

java90

[JAVA][Android] EditText 키보드 엔터(Enter)키 기능 변경 안녕하세요. 오늘은 안드로이드 EditText 키보드 엔터(Enter)키의 기능을 변경하는 방법에 대해서 알아보겠습니다. [Android] EditText 키보드 엔터(Enter)키 기능 변경 안드로이드에서 EditText에 텍스트를 입력할 때 소프트 키보드의 엔터키가 상황에 따라 다르게 나타나는 것을 종종 볼 수 있습니다. 예를 들어 아래의 그림처럼 인터넷 브라우져 주소창이면 '이동' 또는 '검색' 으로, 검색창이면 '검색'으로, 정보 입력창이면 '완료' 등을 볼 수 있죠. 이렇게 소프트 키보드의 엔터키를 상황에 맞게 바꿔주는 방법에 대해서 알아보도록 하겠습니다. 해당 설정은 xml 코드와 java 코드에서 설정 가능한데요.(둘 중 하나만 설정해도 됨) 아래는 그 예시 입니다. xml 코드 예시 Jav.. 2022. 10. 11.
[Java][Android] Alert Dialog 다이얼로그 띄우고 Back 버튼 뒤로가기 막기 안녕하세요. 오늘은 안드로이드에서 간단한 다이얼로그를 띄워보고 뒤로가기 버튼을 막는 것까지 해보겠습니다. 먼저 xml 파일입니다. 버튼을 클릭하면 다이얼로그를 띄울 수 있도록 버튼을 만들었습니다. 다음으로 자바 파일입니다. // DialogTest.java public class DialogTest extends AppCompatActivity { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.dialog_test); button = findViewById(R.id.dialogBtn); button.setO.. 2022. 9. 28.
[Java][Android] 화면 꺼지지 않게 하기(켜짐 상태 유지) 안녕하세요. 오늘은 안드로이드에서 화면이 꺼지지 않게 하는 방법입니다. 동영상을 보거나 앱에서 무언가를 기다릴 때 화면이 꺼지지 않게 하려면 이 방법을 사용합니다. 자신이 사용하는 액티비티에서 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); // 화면 켜짐 유지 } } 위 코드처럼 onCreate 부분에서.. 2022. 9. 13.
[Java][Android] 화면이 회전 되었을 때 이전 액티비티의 데이터 유지하기 안녕하세요 오늘은 안드로이드 디바이스를 회전 했을 때, 데이터를 유지하는 방법에 대해 알아보겠습니다. 먼저 영상부터 함께 보겠습니다. 영상과 같이 기본적으로 안드로이드에서 화면을 회전 시키면 기존 액티비티가 지워지고 새로 다시 만들어지게 되는데요. 이때 이전 액티비티에서 입력 받았던 데이터들이 전부 사라지게 됩니다. 하지만 이 데이터를 저장할 수 있는 방법이 있는데요. 바로 매개변수 saveInstanceState에 이전 액티비티의 데이터를 Bundle 형태로 저장 후, onCreate() 함수에서 로딩해주면 화면이 회전 되어도 데이터를 그대로 유지시킬 수 있습니다. (저장된 데이터를 다시 불러옴) 이제 예제 함께 보겠습니다. 먼저 xml 파일입니다. 이번 예제에서는 화면의 [레벨 증가] 버튼과 [점수 .. 2022. 8. 29.
[JAVA][Android] ScrollView안에서 드래그 앤 드롭 사용하기 안녕하세요. 오늘은 스크롤뷰 안에서 드래그 앤 드롭을 사용하는 방법에 대하여 알아보겠습니다. https://stickode.tistory.com/511 (해당 포스트와 이어집니다.) 그냥 드래그 앤 드롭 구현하듯이 onTouchListener로 구현하면 되는거 아니냐 라고 하실 수 있는데 위 영상을 보시면 알겠지만 스크롤 뷰 안에 그냥 드래그 앤 드롭을 구현 시 ScrollView의 스크롤 이벤트와 드래그 앤 드롭의 터치 이벤트가 겹쳐 잘 실행되지 않게 됩니다. 그럼 시작하겠습니다. 일단 xml파일을 수정해줍니다. 스크롤 뷰를 사용해 ConstraintLayout을 감싼것을 확인할 수 있습니다. 다음으로 자바 파일입니다. 저번에 제작한 파일에서 LinearLayout 부분을 ConstraintLayout.. 2022. 8. 14.
[JAVA][Android] 동적으로 생성한 View를 삭제하기 안녕하세요. 오늘은 지난 포스팅에 이어 동적으로 생성한 View를 역순으로 삭제하는 방법에 대해 알아보겠습니다. https://stickode.tistory.com/500 (해당 포스트와 이어지는 내용입니다. ) 역순으로 삭제한다는 의미는 View가 생성될 때 1,2,3 이렇게 생성이 되었다면 삭제될 때는 3,2,1 이렇게 삭제된다는 뜻입니다. 먼저 생성한 View를 삭제하기 위해 View를 생성할 때 각각 View에 id를 할당해 주어야 합니다. //MainActivity.java public class MainActivity extends Activity implements View.OnTouchListener { private final int DYNAMIC_VIEW_ID = 0x8000; // V.. 2022. 8. 2.
[JAVA][Android] 동적으로 View 여러 개 추가 후 해당 View 드래그 앤 드랍으로 이동시키기 안녕하세요. 오늘은 안드로이드에서 VIew를 동적으로 여러개 추가하고, 해당 View들을 드래그 앤 드랍으로 이동시키는 것을 해보겠습니다. 해당 기능은 가구 인테리어 배치나, 좌석배치도에서 좌석을 원하는 위치에 배치시키고 싶을 때 사용할 수 있습니다. 바로 레이아웃 파일부터 보겠습니다. 화면을 보시는 것과 같이 View를 추가하는 버튼과 삭제하는 버튼을 생성하였습니다. (버튼 삭제부분은 다음 시간에 알아볼 예정입니다.) 그리고 두 버튼 아래에 LinearLayout을 배치해 버튼이 추가될 공간을 만들어 줍니다. 다음으로 Java 파일을 보도록하겠습니다. //MainActivity.java public class MainActivity extends Activity implements View.OnTouc.. 2022. 7. 18.
[JAVA][Android] xml파일 없이 Java 언어 만을 사용하여 화면 제작 안녕하세요. 오늘은 java 언어만을 사용해 안드로이드의 화면을 구성하는 방법을 가져왔습니다. 일반적으로 안드로이드의 화면 구성을 할 때에는 xml 화면을 제작한 후, java 파일 내에서 setContentView에 xml 파일을 설정해 사용하는데요. 오늘은 xml 파일 없이 자바로만 안드로이드의 화면 구성을 해보겠습니다. 해당 자바 파일 입니다. //MainActivity.java public class MainActivity extends AppCompatActivity { TextView tv;// TextView 참조변수 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);.. 2022. 7. 3.
[Java][Android] 안드로이드 CircleImageView 사용해보기 CircleImageView 라이브러리를 사용해서, 원형 이미지를 만들어 보겠습니다. build.gradle(Module) dependencies { ... implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'de.hdodenhof:circleimageview:3.1.0' .. } MainActivity.java public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.a.. 2022. 3. 13.