일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- gcd #최대공약수 #백준 #2981 #검문
- final #java #자바 #안드로이드
- dfs #그래프 #graph #python #leetcode #course #schedule
- leetcode #python #dfs #재귀
- 리트코드 #팰린드롬 #파이썬
- 코틀린 #Do it #깡샘 #안드로이드
- AsyncTask #doinbackground #스레드 #thread #android #안드로이드
- leetcode #subsets #dfs #itertools #python
- 아스테리스크 #Asterisk #파이썬
- exoplayer #mediaplayer #엑소플레이어 #안드로이드 #android
- dfs #leetcode #python #graph #그래프
- dfs #python #leetcode #combination
- 파이썬 #zip
- handler #looper #thread #runnable #핸들러 #루퍼 #스레드 #러너블
- 백준 #파이썬 #bfs #백트래킹 #1697 #숨바꼭질
- python #백준 #9375 #패션왕 #신해빈
- 해시테이블 #heapq #파이썬 #리트코드 #알고리즘
- dfs #bfs #leetcode #python
- 다익스트라 #dijkstra #leetcode #파이썬 #python #algorithm #787
- dfs #bfs #트리구조 #이진트리 #leetcode #python #파이썬
- dfs #이진트리 #트리구조 #직렬화 #역직렬화 #파이썬 #리트코드 #leetcode #python
- 다익스트라 #알고리즘 #bfs #그리디 #다이나믹프로그래밍 #leetcode #python
- dfs #bfs #트리구조 #이진트리 #leetcode #파이썬 #python
- Python #leetcode #dfs #그래프 #백트래킹
- dfs #python #leetcode
- 2004 #조합 0의 개수 #백준
- dfs #bfs #이진트리 #파이썬 #리트코드
- context #android #getApplicationContext #activity #생명주기 #lifecycle
- python #백준 #2580 #스도쿠 #dfs #백트래킹
- dfs #leetcode #python
- Today
- Total
목록Android (14)
멋진 개발자가 되고 싶다
스레드로 입 털기 우리가 안드로이드 앱을 만들면 단순한 앱일 경우 메인 스레드 하나만으로 동작할 것이야. 물론 우리가 사용한 코드 내부를 들어가 보면 다른 스레드를 쓸지도 모르지만 말이다. 그런데 말이다.. 너가 생각하는 멋진 앱을 만들고 싶다면 멀티 스레드는 필수가 된다.. 멀티 스레드가 뭐냐고? 이름만 들어도 스레드를 여러 개 돌려버린다는 뜻이지. 친절하게 예를들어 설명해주지. 네가 김치볶음밥을 만든다고 치자. 너는 햄을 볶고 나서 김치를 넣고 그 뒤에 밥을 넣어 잘 섞어준 다음 프라이팬에 있는 김치볶음밥을 접시에 올리겠지. 그 뒤에 쓰던 후라이팬을 이용해 달걀 프라이를 할 거야. 달걀 프라이를 다 하고 김치볶음밥에 얹게 되면 이미 김치볶음밥은 다 식어서 맛이 없게 된 뒤겠지? 이렇게 융통성 없게 하..
자바의 기본기를 닦고 안드로이드를 시작한 것이 아니기에 코드를 보다 보면 종종 static, final 같은 표현을 만날 때가 있다. 변수 선언을 하면 안드로이드에서 알아서 final을 달아라, static을 달아라 이러길래 시키는 대로 하고 있었는데 오늘에서야 확실하게 짚고 넘어가려 한다. final 여러 컨텍스트에서 단 한 번만 할당될 수 있는 entity를 정의할 때 사용됩니다 (위키피디아 참고) 단순하게 말하면 final로 선언된 변수는 한번 초기화되면 다른 값으로 재할당할 수 없다는 것이다. 1 2 3 4 public void test(){ final String str = "abc" // abc라는 값이 할당된 String 변수 str str = "def" // 에러 발생! } Colored ..
한마디로 값이 Null일 수 있다는 걸 알려주는 용도이다. 주석 같은 느낌
(exoplayer 코드 분석을 하던 중 Asynctask라는 클래스를 발견했고 이 클래스가 어떤 역할을 하는지를 알아보고 간단하게 정리한 글) 앱을 실행하면 메인 스레드에서 코드를 한 줄 한 줄 실행을실행을 시키면서 나아간다. 그러다 만약 asset에서 많은 양의 데이터를 리스트로 읽어들이는 코드가 있다고 하자. 데이터의 양이 많아서 그 줄에서 몇 분이고 코드가 앞으로 나아가지 않고 정체되어 있다면 앱을 사용하는 사람 입장에선 난감할 것이다. 따라서 이때 Asynctask라는 클래스를 사용한다. asynchronous는 "비동기적인"이라는뜻으로 메인 스레드가 실행되는 동안 Asynctask에서는 서브 스레드를 돌려서 작업을 수행한다. 그리고 작업이 끝나면 결과값을 메인 스레드로 보내준다. 우선 Asyn..
안드로이드 코드를 짜다 보면 토스트 메시지를 띄울 때 getApplicationContext()를 입력하게 된다. 뭐 이렇게 쓰니까~ 하고 넘어갈 수도 있는데 어떤 의미인지 짚고 넘어가자. context 어플리케이션 혹은 액티비티에 대한 전역적인 정보를 담고 있음 Application Context - 어플리케이션의 생명주기에 영향을 받아 어플리케이션이 시작하고 종료할 때까지 동일한 객체로 구현되어 있다. - 앱이 종료될 때 까지 살아있다. - getApplicationContext()를 통해 참조할 수 있다. Activity Context - 액티비티의 생명주기에 영향을 받아 액티비티가 시작하고 종료할 때 까지 동일한 객체로 구현되어 있다. - onDestroy()가 호출되면 사라진다. - getCon..
http 서버에서 데이터(파일)를 받아와서 안드로이드에서 파일을 실행하는 과제를 하고 있다. 하지만 기본적으로 서버와 클라이언트의 개념도 몰랐기 때문에 이번 포스팅은 안드로이드폰에서 데이터를 보내면 서버에서 데이터를 받아다가 다시 안드로이드로 보내주는 내용이 될 것이다. 파이썬으로 서버를 돌리는 이유는 "간단한 코드로 되어 있어 구동이 제일 간편하기 때문" python_server.py 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 import socket host = '' port = 9999 server_sock = sock..
엑소 플레이어란? ExoPlayer는 Android용 애플리케이션 레벨 미디어 플레이어로, Android의 Media Player 대신 사용할 수 있습니다. 로컬 및 인터넷을 통해 오디오/비디오를 재생할 수 있습니다. ExoPlayer가 인기 있는 또 다른 이유는 MediaPlayer에서 지원되지 않는 HTTP(DASH) 및 SmoothStreaming과 같은 많은 기능을 지원하기 때문입니다. 커스터마이징이 매우 용이하며 많은 특징과 기능을 제공합니다. 무엇을 다룰까요? 앞서 언급했듯이 ExoPlayer는 커스터마이징이 가능하고 모듈식입니다. 이를 통해 맞춤형 구성 요소 구현을 포함하고 필요에 맞게 완벽하게 조정할 수 있습니다. 문자 그대로 두 줄의 코드가 있어야 원시 오디오를 재생할 수 있는 안드로이드..
네트워크는 Network Interface, Internet, Transport, Application 4개의 계층으로 나뉜다. Transmission Control Protocol의 약자인 TCP는 UDP와 함께 Transport 계층의 대표적인 프로토콜이다. TCP는 웹이나 이메일같이 데이터가 정확하게 전달되어야 하는 통신에 사용된다. 통신을 맺고 끊는 과정에서 Client와 Server 간에 확인 절차를 거치는데 이러한 특징으로 연결지향(Connection Oriented) 프로토콜이라고 한다. UDP는 VoIP나 동영상 스트리밍같이 전송 속도가 빨라야 하는 통신에서 사용한다. TCP와는 달리 연결을 맺지 않고 한 쪽에서 일방적으로 데이터를 보낸다. 따라서 이러한 특징을 비연결지향(Connectio..