본문 바로가기
반응형

언어 공부30

[Android/Java] 그냥 UI를 변경하려고 하는데 오류는 왜 나오는걸까 ? - Thread Error 안녕하세요 오늘은 작업을 하면서 나왔던 오류들에 대해서 적어볼까 합니다. 안드로이드를 개발하다 보면 스레드를 정말 많이 사용하게 되는데 그 이유는 안드로이드 자체에서 스레드를 나누기 때문입니다. 그냥 UI 변경 코드를 넣다 아래와 같은 오류를 만난 적이 있을 겁니다. "Only the original thread that created a view hierarchy can touch its views." 에러를 확인하면 메인 스레드에서만 UI를 처리를 할 수 있다고 합니다. 만약 스레드가 여러 개 있다면 , 동시에 같은 UI 자원에 접근하는 것을 막기 위해서 그렇습니다. 만약 같은 UI 자원에 접근해 작업하다가 다른 쪽이 수정을 요구한다면 작업이 명확해지지 않기 때문입니다. 그렇기에 하나씩 순차적으로 처.. 2022. 7. 21.
[Python] 5. 리스트 연산과 수정 안녕하세요 오늘은 파이썬 리스트 연산과 수정에 대해서 알아보겠습니다. 리스트 연산 또한 문자열 연산과 동일한 기능을 수행합니다. 리스트를 더하고 반복 할 수 있는데요, 그러면 먼저 아래 예제를 보겠습니다. 리스트는 데이터를 저장하고 수정할 때 많이 사용되기 때문에, 확실하게 알아두면 좋다고 합니다. 그리고 알고리즘 문제를 풀 때 데이터를 담아서 처리를 해야되기 때문에 더더욱 중요하다고 생각이 듭니다. 많이 부족하지만 구름 파이썬 강의를 보고 정리했습니다. 예제 소스코드 evennumbers = [2, 4, 6, 8, 10] oddnumbers = [1, 3, 5, 7, 9] numbers = evennumbers + oddnumbers print(numbers) print(numbers * 4) 출력 결.. 2021. 1. 16.
[Python] 04. 값의 집합 리스트 안녕하세요! 오늘은 값의 집합인 리스트에 대해 알아보도록 하겠습니다! 기본적인 자료형이나 연산자는 이전 게시물에 있기 때문에, 혹시나 개념을 까먹으신 분들은 이전 게시물을 보고 다시 읽어주시면 감사하겠습니다 :) 그럼 시작하겠습니다. 먼저 다양한 숫자를 입력받아, 짝수만 골라내는 프로그램을 만든다고 가정을 했을 땐, 지금까지 본 대로면 30개의 숫자를 입력받기 위해서는 input() 함수를 30개의 값을 입력 받아야 하니 매우 복잡하다고 볼 수 있습니다. 그리고 눈으로 봤을 때, 가독성이 뛰어나지 못합니다. 하지만 이때, 리스트를 사용하시면 됩니다. 리스트는 값의 집합으로, 어떤 자료형이건 상관이 없이 리스트 안에 들어갈 수 있습니다. 리스트의 형식은 기본적으로 리스트 이름 = [요소1, 요소2, 요소3.. 2021. 1. 15.
[Android] Opus, AudioRecord, AudioTrack을 까먹지 말자. private class AudioThread extends Thread { // Sample rate must be one supported by Opus. static final int SAMPLE_RATE = 8000; // Number of samples per frame is not arbitrary, // it must match one of the predefined values, specified in the standard. static final int FRAME_SIZE = 160; // 1 or 2 static final int NUM_CHANNELS = 1; @Override public void run() { Process.setThreadPriority(Process.THREA.. 2021. 1. 6.
반응형