728x90
반응형

분류 전체보기 104

[Android] ListView를 이용하여 설치된 app list 보여주기 | BaseAdapter | ListView onClickListener | PackageManager | getInstalledApplications

설정 앱 > 앱 정보에 나와있는 리스트와 같이 리스트뷰를 이용해 단말에 설치된 앱 리스트를 보여주도록 해보겠습니다. 소스 전 레이아웃 부터 살펴보겠습니다. 일단 필요한 항목이 무엇이 있을까요? 일단 전체 리스트 뷰가 있는 레이아웃 과 안에 들어가는 리스트 하나하나의 레이아웃이 필요 해보입니다. 저는 버튼을 누르면 설치된 앱 리스트를 보여주는 샘플 앱으로 만들어보도록 하겠습니다.! select_app_dialog.xml application_list_item.xml 앱 아이콘 패키지 이름 저는 앱 아이콘 + 패키지 이름 형식으로 레이아웃을 구성하였습니다. 이제 java 소스를 살펴봅시다 Java 소스에는 레이아웃과 같이 크게 두 가지가 필요합니다. 리스트뷰 레이아웃에 대한 관리를 해주는 리스트뷰 어댑터 와..

WORK/Android 2022.08.30

[Android][Framework] Key 추가 2단계 | KeyLayout 추가 | KeyCode 추가 | KeyLayout 생성

이번에는 key 추가 2단계! 1단계는 아래에서 확인 👇👇👇👇👇 https://codingstorywithme.tistory.com/44 [Android][Framework] Key 추가 1단계 | Kernel keycode 확인 | adb shell getevent 정보 | Keyevent 확인 #define EV_KEY 0x01오늘은 Android 기본 소스에 Key 를 하나 추가하는 순서에 대해 적어보려고 한다. 커널 쪽은.. 잘 모르지만.. 그 위 단계부터 해보려고한다..! 이전 포스팅에서 키 이벤트가 발생하는 codingstorywithme.tistory.com 볼륨 UP 키를 추가하기 2단계는 빠밤! 바로바로 2. Key layout 파일 생성 및 키코드 추가 이전 포스팅인 1단계에서 adb ..

WORK/Android 2022.04.28

[Android][Framework] Key 추가 1단계 | Kernel keycode 확인 | adb shell getevent 정보 | Keyevent 확인

#define EV_KEY 0x01오늘은 Android 기본 소스에 Key 를 하나 추가하는 순서에 대해 적어보려고 한다. 커널 쪽은.. 잘 모르지만.. 그 위 단계부터 해보려고한다..! 이전 포스팅에서 키 이벤트가 발생하는 순서에 대해 정의를 했는데, 참고하면 좋을 것 같다. https://codingstorywithme.tistory.com/43 [Android] KeyEvent 처리 | KeyEvent 순서 | Framework Key event 로지난번에 AccessibilityService를 이용해 앱이 상단에 있는 상태가 아니여도, KeyEvent 를 받는 방법에 대해 알아보았다. https://codingstorywithme.tistory.com/42 [Android] 화면 OFF 상태에서 ..

WORK/Android 2022.04.26

[Android] KeyEvent 처리 | KeyEvent 순서 | Framework Key event

로지난번에 AccessibilityService를 이용해 앱이 상단에 있는 상태가 아니여도, KeyEvent 를 받는 방법에 대해 알아보았다. https://codingstorywithme.tistory.com/42 [Android] 화면 OFF 상태에서 Key Event 받기 | AcessibilityService 상속 서비스 | KeyEvent 서비스 | 접근성 서 안드로이드 단말에는 다양한 키들이 존재한다. 볼륨 Up/Down, 전원 등등의 키가 있고 이 키들이 press/release 되는 이벤트를 앱에서 받아 처리 할 수 있다. 아래 링크에서 안드로이드가 제공해주는 기 codingstorywithme.tistory.com 근데! 위의 서비스를 이용하거나 app에서 keyEvent를 받을 때, 모..

WORK/Android 2022.04.25

[Android] 화면 OFF 상태에서 Key Event 받기 | AcessibilityService 상속 서비스 | KeyEvent 서비스 | 접근성 서비스

안드로이드 단말에는 다양한 키들이 존재한다. 볼륨 Up/Down, 전원 등등의 키가 있고 이 키들이 press/release 되는 이벤트를 앱에서 받아 처리 할 수 있다. 아래 링크에서 안드로이드가 제공해주는 기본 키들에 대한 정보를 알 수 있다. https://developer.android.com/reference/android/view/KeyEvent KeyEvent | Android Developers developer.android.com 안드로이드 앱에서는 기본적으로 onKeyUp / onKeyDown 을 받아서 처리가 가능하다. public class KeyEventActivity extends AppCompatActivity { private static final String TAG = ..

WORK/Android 2022.04.01

[디자인패턴] 템플릿 메소드 패턴 | Template Method Pattern | 안드로이드 예제

지난 게시글에서 퍼사드 패턴을 출근 준비로 표현했던 것 처럼..! 이번 템플릿 메소드 패턴도 동일하게 정리를 해봐야겠다.! 출근 준비에 대한 것을 큰 카테고리? 로 보면 알람 -> 씻기 -> 옷입기 -> 이동수단 으로 볼 수 있다. A와 B의 준비 단계를 보자! A : 알람 -> 씻기 -> 옷입기 (원피스) -> 이동수단 (자동차) B : 알람 -> 씻기 -> 옷입기 (파란티) -> 이동수단 (버스) 이다.! 여기서 A,B가 다르지 않고 동일한 과정은 빨간색으로, 다른 과정은 파란색으로 표시를 해보았다. 이를 코드로 표현을 해보자.! "A" 의 준비 과정 class ReadyToWorkA { public void start(TextView tv) { alarm(tv); wash(tv); clothes(t..

[디자인패턴] 퍼사드 패턴 | Facade Pattern | 안드로이드 예제

오랜만에 또 디자인패턴.! 오늘은 퍼사드 패턴을 해보려고 한다. 먼저, 위의 펭수처럼 출근을 하려면 필요한 단계가 있다. 나의 경우에는 알람으로 기상 -> 씻기 -> 옷입기 -> 전철을 타서 출근을 하는 단계를 거친다. 각 단계를 코드로 보면.. "알람" - 알람을 듣고 일어나거나.. 그냥 꺼버리는 경우.. ㅠ class Alarm { public void Wake(TextView tv){ tv.setText( (String) tv.getText() + "\nwake!" ); } public void OFF(TextView tv){ tv.setText( (String) tv.getText() + "\nalarm off!" ); } } "씻기" - 씻고 가거나 그냥 안씻고 가는 경우.. class Wash..

[Design Pattern] 어댑터 패턴 | Adapter Pattern

먼저, 위키 백과가 정의 하고 있는 어댑터 패턴은 어댑터 패턴(Adapter pattern)은 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴으로, 호환성이 없는 인터페이스 때문에 함께 동작할 수 없는 클래스들이 함께 작동하도록 해준다. (출처 :위키백과) 쉽게 말하면 ... 어댑터 패턴은 위의 짤에 나오는 인형탈과 같이 사람이 어떤 캐릭터를 표현하고자 할 때 사용하는 것!! 이렇게 A가 B의 역할을 하길 원할떄, 사용하는 것이 어댑터 패턴으로 생각하면 쉬울 것 같다. 오리와 가짜 오리, 가짜 오리가 오리처럼 행동하는 것을 어댑터 패턴에 적용시켜 보았다. 오리는 날수 있고, 꿱! 하고 말을 한다. 말을 하는 것, 나는 것으로 각 오리, 가짜 오리를 구성하게끔 만들었다. 이것을 안드..

[디자인패턴] 커맨드 패턴 | Command Pattern | 안드로이드 예제

우는 아이도 보면 울음을 그친다는 마법의.... 리모컨! 이 떠오르는 이번 디자인 패턴!! 은 바로바로바로!!!! 커맨드 패턴 입니다.! 커맨드 패턴이란 ? 요청을 객체의 형태로 캡슐화하여 사용자가 보낸 요청을 나중에 이용할 수 있도록 매서드 이름, 매개변수 등 요청에 필요한 정보를 저장 또는 로깅, 취소할 수 있게 하는 패턴이다. 출처 : 위키백과 쉽게 다시 설명을 하자면! 조명을 컨트롤 할 수 있는 리모컨이 있다고 생각해보자. 아래 그림에서 빨간 동그라미가 쳐져있는 버튼을 누르면 조명이 켜지게 된다. 이때 리모컨에 대한 구현을 어떻게 하면 좋을까 ? Q. 각 버튼에 대해 기능을 지정해 주면 되지 않을까? 1번, 2번, 3번 ... 버튼들에 대해 각각의 기능을 정의해주면 되지 않을까 생각해본다. if(..

OPIC 9월 시험 후기 | 난이도 4-4 | 질문 정리

(나두 짤 추가해보기) 와아 오랜만에 프로그래밍 아닌 다른 주제로 글을 써 보네요 하핫.. 오픽이 만료가 되기도 했고, 이직도 하고 싶기도 하고.. 영어 레벨도 테스트 해보고 싶고 해서 겸사겸사 오랜만에 오픽을 봤어요.. 사실 지원하고 싶던 회사가 있었어서, 그거 지원하는 겸해서 2일 뒤 시험을 부랴부랴 예약했다.. 달력을 보면 알 수 있듯.. 준비할 수 있는 시간이 없었다.. 이렇게 시간도 없는데, 왠지모를 자신감에 준비를 진짜 별로 안했다.. 그렇게 시험 날이 되었고...... 시험은 너무 너무 너무 어려웠다.. 3년전에 시험을 봤었는데 2018년 오픽은 시험 질문이 간단하고, 서베이 기반으로 많이 나왔었는데.. 이번 오픽은 서베이 문제는 별로 안나오고 돌발 질문이 많이 나왔던 것 같다. 내가 기억하..

카테고리 없음 2021.09.13
728x90
반응형