본문 바로가기

안드로이드 자바480

[Java][Android] TextInputLayout의 Counter 기능 (글자 수 제한) 안녕하세요 오늘은, Material Design 의 TextInputLayout 을 사용하여Counter 기능을 이용한 간편하게 글자 수 제한을 표시해보도록 하겠습니다. 우선 전체 코드입니다.   해당 레이아웃을 적용하여 counterMaxLength를 설정해주면,따로 제한 글자 수 를 보여주는 뷰를 만들지 않아도 간편하고 효과적으로 기능을 구현할 수 있습니다. 시연 영상입니다. 2024. 11. 20.
[JAVA][Android] webView를 사용하여 앱에서 웹페이지 띄우기 앱 내에서 웹 페이지를 표시 할 때 사용하며주로 모바일 앱에서 간단한 웹 컨텐츠를 임베드하거나, 특정 기능을 웹 페이지 형식으로 제공 할 때 유용합니다. 그럼 왜 사용할까요? 1. 웹 컨텐츠의 재사용: 이미 만들어진 웹 페이지를 그대로 앱에 사용 할 수 있습니다.예를들어서 무신사 홈페이지, 카카오톡에서 채팅에 주소 링크를 받고 해당 링크를 눌러 홈페이지를 열때 등.2. 웹과 앱의 기능 통합: 웹 서비스가 이미 존재하거나 앱의 일부 기능을 웹으로 구현 했다면 이를 webView에 띄워서 사용 할 수 있습니다.3. 업데이트의 용이: webView에 표시할 웹 컨텐츠는 서버에서 관리 하기 때문에 앱 자체를 업데이트 하지 않아도 컨텐츠 변경이 가능합니다.4. 개발 시간 절약: 별도의 앱UI(네이티브UI) 를 구.. 2024. 11. 18.
[Java][Android] 문자열 형식 체크하기 오늘은 자바코드로 문자열 형식 체크하는 예시를 만들어 보겠습니다. 1. 영문자로 시작해야하며, 영문자와 숫자 조합이 가능하고, 글자수가 5~15자인 문자열2. 숫자, 영어 대문자, 영어 소문자, 특수 문자( @#$%^&*()_+=!~ ) 가 포함되어야 하며, 글자수가 8~16자인 문자열 1번 형식을 아이디 형식, 2번 형식을 비밀번호 형식이라 가정하고 진행하겠습니다.       액티비티용 레이아웃 xml 파일 코드 (activity_main.xml)    액티비티 자바 코드public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedIn.. 2024. 11. 17.
[Java][Android] 화면 캡처해서 갤러리에 저장하기 안녕하세요.오늘은 화면캡처를 해서 갤러리에 저장하는 기능을 구현해보겠습니다. 우선 전체 코드입니다. MainActivity.javapublic class MainActivity extends AppCompatActivity { private Button captureButton; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); captureButton = findViewById(R.id.captureButton); captureButton.setOnClickListener(new .. 2024. 11. 14.
[Java][Android] ObjectAnimator 사용해서 애니메이션 적용하기 안녕하세요이번에는 ObjectAnimator를 사용해서 버튼에 애니메이션을 적용해보도록 하겠습니다. 버튼을 클릭하면, 각종 메소드에 따라 버튼에 애니메이션 효과가 생기도록 구현해보겠습니다. 전체 코드입니다. MainActivity.javapublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 버튼 참조 Button btnAnimate = findViewById(R.id.btnAnimate).. 2024. 11. 8.
[JAVA][Android]Toast 메시지 위치 변경해 보여주기(2) 오늘은 액티비티에서 Android API 30 이후에서도 동작 되는 Toast 메시지 보여지는 위치를 변경하는 예시를 만들어 보겠습니다.   액티비티용 레이아웃 xml 파일 코드 (activity_main.xml)  Toast용 레이아웃 xml 파일 코드 (custom_toast.xml)    액티비티 자바 코드public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_mai.. 2024. 11. 5.
[JAVA][Android] ViewTreeObserver 사용 하여 레이아웃 크기 측정과 상태 전환 다루기 ViewTreeObserver는 Android 개발에서 뷰의 레이아웃, 크기, 위치 등을 감지하고 이를 활용하기 위해 사용됩니다.다음은 ViewTreeObserver를 사용할 때 좋은 상황과 그 활용 예시입니다. 1. 뷰의 크기나 위치 측정 필요 시상황: 뷰가 화면에 렌더링된 후에야 크기나 위치를 정확하게 알 수 있는 경우.예시: 뷰가 화면에 표시된 후 텍스트 크기에 따라 레이아웃을 조정할 필요가 있을 때 사용합니다. 예를 들어, 동적인 텍스트 내용을 가진 텍스트뷰의 높이를 측정하여 다른 뷰의 위치를 조정할 수 있습니다.2. 레이아웃 변화에 대한 반응 필요 시상황: 사용자 인터랙션이나 데이터 변경에 따라 레이아웃이 동적으로 변화하는 경우.예시: 리스트뷰에서 항목이 추가되거나 제거될 때, 전체 레이아웃이 .. 2024. 11. 4.
[JAVA][Android]Toast 메시지 위치 변경해 보여주기(1) 오늘은 액티비티에서 Toast 메시지가 보여지는 위치를 변경하는 예시를 만들어 보겠습니다. Toast는 사용자를 위한 간단한 메시지를 보여주는 뷰입니다. setGravity() 메서드를 활용하면 보여지는 위치 조정이 가능합니다.   레이아웃 xml 파일 코드 (activity_main)     액티비티 자바 코드public class MainActivity extends AppCompatActivity { private int currentGravity = Gravity.BOTTOM; // Toast 메세지 위치 설정 변수 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(saved.. 2024. 10. 30.
[JAVA][Android] ViewStub 사용해서 레이아웃 관리하기 ViewStub 안드로이드 개발자 공식문서https://developer.android.com/reference/android/view/ViewStub ViewStub  |  Android Developers developer.android.com ViewStub은 런타임에 레이아웃 리소스를 지연적으로 인플레이트할 수 있는 보이지 않는 크기가 0인 View입니다. 사용자가 ViewStub을 보이게 하거나 inflate() 메서드를 호출하면, 해당 레이아웃 리소스가 인플레이트되어 ViewStub은 자신을 부모 뷰에서 인플레이트된 View로 대체합니다. 따라서 ViewStub은 setVisibility(int) 또는 inflate()가 호출될 때까지 뷰 계층에 존재하게 됩니다. ViewStub을 사용하여 레.. 2024. 10. 29.