본문 바로가기

안드로이드 자바511

[JAVA][Android] CollapsingToolbarLayout을 활용하여 확장/축소되는 상단바 구현하기 안녕하세요, 많은 앱에서 스크롤을 내리면 상단 부분이 줄어들다가 상단바만 남고 고정되고, 다시 스크롤을 올렸을 때 아래 내용이 다 출력된 후에 상단 부분이 확장되는 기능을 사용하고 있습니다. 오늘은 이와 같은 확장 / 축소되는 상단바가를 만들 수 있는  CollapsingToolbarLayout를 사용해보도록 하겠습니다.  MainActivity.javapublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ac.. 2025. 1. 21.
[JAVA][Android] AnyChart 로 막대그래프 생성 및 tooltip 활용 안녕하세요, 오늘은 AnyChart 로 막대그래프를 만들고 클릭 시 나타나는 tooltip의 색깔과 내용을 변경해보도록 하겠습니다.  build.gradle(app) 추가implementation 'com.github.AnyChart:AnyChart-Android:1.1.5'  settings.gradle에 maven { url 'https://jitpack.io' } 추가 dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url = ur.. 2025. 1. 14.
[Android][JAVA] 접근성 서비스 (Accessibility Service) : 앱에서 이벤트 추적과 자동화 구현하기 사용하는 이유?접근성 서비스는 시각장애인이나 다른 신체적 제약을 가진 사용자들에게 모바일 앱을 사용할 수 있도록 돕는 기능입니다. 하지만 이 서비스는 단순히 보조 기술에 그치지 않고, 앱 내에서 발생하는 다양한 이벤트를 추적하고 자동화하는 데도 활용될 수 있습니다. 뷰 클릭: 버튼 클릭, 화면 내 특정 영역 클릭 시 이벤트 추적뷰 포커스: 포커스를 받은 UI 요소 추적텍스트 변경: 사용자가 텍스트를 입력하거나 수정할 때 이벤트 추적화면 상태 변경: 화면 전환이나 UI 업데이트와 같은 상태 변경 추적어디에 사용하면 좋을까요?보조 기술을 위한 앱 개발:시각 장애인을 위한 화면 읽기 기능을 지원하는 앱에서 필수적인 역할을 합니다. 접근성 서비스를 통해 사용자가 버튼을 클릭하거나 텍스트를 수정할 때 그 내용을 .. 2025. 1. 13.
[Java][Android] ClipboardManager 사용해서 복사 및 붙여넣기 구현하기 안녕하세요오늘은 ClipboardManager를 사용해서 텍스트를 복사 및 붙여넣기 하는 기능을 구현해보도록 하겠습니다. 전체 코드입니다. activity_main.xml   MainActivity.javapublic class MainActivity extends AppCompatActivity { private EditText editText; private Button btnCopy, btnPaste; private ClipboardManager clipboardManager; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setC.. 2025. 1. 12.
[Java][Android] AnyChart 로 원형 차트 만들기 안녕하세요, 오늘은 다양한 형태의 차트를 만들 수 있는 AnyChart 라이브러리를 활용하여 원형 차트를 만들어보도록 하겠습니다.  build.gradle(app) 추가implementation 'com.github.AnyChart:AnyChart-Android:1.1.5'  settings.gradle에 maven { url 'https://jitpack.io' } 추가 dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() maven { url = uri.. 2025. 1. 7.
[Java][Android] 안드로이드 웹 스크래퍼 만들기: Jsoup으로 간단한 뉴스 크롤러 구현 이번에는 Jsoup을 사용해서 웹 페이지의 내용을 가져와 보겠습니다. https://jsoup.org/jsoup: 자바 HTML 파서 jsoup는 실제 HTML 및 XML 작업을 간소화하는 Java 라이브러리입니다. DOM API 메서드, CSS 및 xpath 선택기를 사용하여 URL 페칭, 데이터 구문 분석, 추출 및 조작을 위한 사용하기 쉬운 API를 제공합니다. jsoup는 WHATWG HTML5 사양을 구현하고 최신 브라우저와 동일한 DOM으로 HTML을 파싱합니다. URL, 파일 또는 문자열에서 HTML을 스크래핑하고 구문 분석합니다 . DOM 트래버설이나 CSS 선택기를 사용하여 데이터를 찾아 추출합니다 . HTML 요소 , 속성, 텍스트를 조작합니다. XSS 공격을 방지하기 위해 안전 목록에.. 2025. 1. 6.
[Java][Android] Bundle을 활용해 액티비티 간 데이터 전달하기 안녕하세요.오늘은 Bundle 을 사용해서 액티비티 간 데이터를 전달하는 방법을 예제와 함께 설명하겠습니다. Bundle은 데이터를 key-value 쌍으로 저장하고 전달할 수 있는 객체입니다.Intent 를 사용해 액티비티를 전환할 때, Bundle 을 이용해서 데이터를 함께 전달할 수 있습니다. 전체 코드입니다. MainActivity.javapublic class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); .. 2025. 1. 5.
[Java][Android] Handler를 활용한 텍스트 자동 타이핑 애니메이션 안녕하세요, 오늘은 Handler를 활용하여 자동으로 타이핑되고 삭제되는 예제를 만들어보도록 하겠습니다.  MainActivity.javapublic class MainActivity extends AppCompatActivity { // 타이핑 애니메이션을 보여줄 TextView private TextView typingTextView; // UI 스레드에서 실행되는 Handler (MainLooper를 사용하여 생성) private Handler handler = new Handler(Looper.getMainLooper()); // 타이핑 애니메이션에 표시할 텍스트 배열 private String[] texts = { "오늘도 좋은 하루 되세요!".. 2025. 1. 1.
[Java][Android] ZoomLayout 활용하여 이미지 확대/축소하기 안녕하세요,  오늘은 ZoomLayout을 활용하여 이미지를 확대/축소하는 예제를 만들어 보도록 하겠습니다.  ZoomLayout은 빠르고 간단하게 확대/축소 및 이동 기능을 추가할 수 있습니다.   먼저, build.gradle(Module: app) 파일에 ZoomLayout 의존성을 추가합니다. dependencies { implementation ("com.otaliastudios:zoomlayout:1.9.0")}  activity_main.xml   MainActivity.javapublic class MainActivity extends AppCompatActivity { private ZoomLayout zoomLayout; @Override .. 2024. 12. 31.