일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 스터디
- 코틀린
- 자료구조
- join
- 정처기
- 안드로이드
- 기술면접
- 카카오코테
- groupby
- doitandroid
- 혼공파
- 프로그래머스
- 코테
- 안드로이드스튜디오
- Til
- java
- 혼공단
- select
- Kotlin
- 알고리즘
- SQL
- Android
- 자바
- 인프런
- 티스토리챌린지
- CS
- 오블완
- 정보처리기사
- MySQL
- 혼공챌린지
- Today
- Total
목록Android (38)
Welcome! Everything is fine.
📌 첫번째 과제 노션에 올려두었다가 까먹고 지금 올리는 첫번째 과제..! 멘토님께서 내주신 첫번째 과제는 다음과 같다. OCR로 추출한 텍스트에서 불필요한 부분 제거하기 리사이클러뷰로 북마크 만들기 현재는 OCR 부분을 다시 구현해야하기 때문에 이 부분은 나중에 다시 시도해봐야할 것 같지만, 정규표현식을 이용해서 잘라내는 방법을 알게되었다. 또 리사이클러뷰는 사실 대부분 블로그 글을 보고 따라했기 때문에 코드를 좀 더 뜯어봐야겠다. [한이음]멘토링 과제1 불필요한 텍스트 제거하기 richea.notion.site
📌 Volley란? 웹 요청과 응답을 단순화하기 위해 만들어진 라이브러리로, 요청(Request) 객체를 만들어 요청 큐(RequestQueue)에 넣어주면 요청 큐가 알아서 웹 서버에 요청하고 응답까지 받아준다. 우리가 지정된 메서드를 만들어두면 응답이 왔을 때 그 메서드가 자동으로 호출된다. Volley 라이브러리의 장점은 스레드를 사용하지 않아도 된다는 점이다. 📌 Volley 라이브러리 추가하기 Volley는 외부 라이브러리이므로 build.gradle 파일에 정보를 추가해야 사용할 수 있다. Gradle Scripts > build.gradle(Module: ~) 에서 dependencies에 다음 코드를 추가한다. implementation 'com.android.volley:volley:1...
📌 뷰 바인딩하기 자바에서 뷰바인딩 하는 방법을 알아보자! Gradle Scripts > build.gradle(Module: ~)에서 적절한 위치에(나는 buildTypes 위에 넣었다.) 아래 코드를 넣고 Sync Now를 눌렀다. buildFeatures { viewBinding = true } 그리고 MainActivity.java로 돌아와서 private ActivityMainBinding binding; 이라고 선언해준 후 onCreate( )함수 안에서 다음과 같이 적어준다. public class MainActivity extends AppCompatActivity { private ActivityMainBinding binding; @Override protected void onCrea..
📌액티비티가 처리되는 과정 액티비티는 액티비티 매니저(ActivityManager) 객체에 의해 액티비티 스택(Activity Stack)이라는 것으로 관리된다. 이 스택이 액티비티를 차곡차곡 쌓아뒀다가 가장 상위의 액티비티가 없어지면 이전의 액티비티가 보이게 한다. 새로운 액티비티가 화면에 띄워지면 이전 액티비티는 액티비티 스택에 저장되고, 새로운 액티비티가 화면에 보인다. 📌플래그(Flag) 플래그(Flag)는 중복된 액티비티를 띄우지 않게 할 때 사용한다. 일반적인 스택구조로 액티비티가 관리되지만 동일한 액티비티를 여러번 실행하면 다음과 같은 문제가 발생할 수 있다. 동일한 액티비티가 여러 개 스택에 들어가는 문제 동시에 데이터를 여러번 접근하는 문제 리소스를 여러번 사용하는 문제 이러한 문제들을 ..
📌 인텐트(Intent)란? 다른 액티비티를 띄우거나 기능을 동작시키기 위한 수단 작업 수행을 위해 사용되는 일종의 명령이나 데이터를 전달하는 수단 앱 구성 요소가 해야할 일을 지정하는 수단 📌 인텐트 기본 구성 요소 액션(Action) : 수행할 기능 데이터(Data) : 액션이 수행될 대상의 데이터 시스템이 인텐트에 포함된 데이터의 포맷을 확인 후, 적절한 액티비티를 자동으로 찾아 띄워주기도 한다. 인텐트 객체는 액션과 데이터를 인수로 하여 만들거나 다른 인텐트나 클래스 객체를 인수로 하여 만든다. 예) 인텐트 객체를 만들 때 ACTION_VIEW(액션)와 웹페이지 주소(데이터)를 전달 → 단말 안에 설치된 웹브라우저 화면이 뜨면서 해당 웹페이지를 보여준다. ✔ 액션과 데이터를 사용하는 대표적인 경우..
📌 안드로이드 앱의 구성요소 앱은 여러 화면으로 구성되어 있는데, 그 화면을 액티비티(ACtovoty)로 구현한다. 화면을 띄우거나 닫는 과정이 액티비티를 전환하는 과정이다. 앱을 만들어 단말에 설치했을 때, 안드로이드 시스템은 아래 네 가지 요소에 대한 정보를 요구한다. 액티비티(Activity) 서비스(Service) 브로드캐스트 수신자(Broadcast Receiver) 내용 제공자(Content Provider) 이 정보들은 프로젝트를 만들면 자동으로 생기는 AndroidManifest.xml 파일에 담겨있다. 그 외에도 앱에 대한 다양한 정보들이 AndroidManifest.xml 파일에 담겨있다. 이 파일에 태그로 새 액티비티 정보를 추가해야 시스템이 새 액티비티에 대한 정보를 알 수 있다. ..
📌 XML 파일과 소스코드 연결 XML 파일과 소스코드를 어떻게 연결할까? 다음 코드는 새 프로젝트가 생길 때 자동으로 만들어지는 소스로, setContentView 메서드가 XML 레이아웃 파일을 연결한다는 것을 알 수 있다. 다시말해 setContentView 메서드에 XML 레이아웃 파일 이름을 파라미터로 전달하여 XML 레이아웃과 소스코드를 연결한 것이다. 이때 XML 레이아우스이 이름은 R.layout.activity_main과 같이 지정해야한다. public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedIns..
📌 프로그레스바(ProgressBar) 프로그레스바 : 작업의 진행 정도를 표시하여 사용자에게 알려준다. 대표적인 프로그레스바는 막대 모양과 원 모양 두 가지 형태가 있다. 팔레트의 Widgets에서 찾아 넣는다. 속성 설명 막대 모양 작업의 진행 정도를 막대모양으로 표시한다. style 속성 값을 '?android:attr/progressBarStyleHorizontal'로 설정한다. 원 모양 작업의 진행 정도를 원 모양의 프로그레스바로 표시한다. 태그 : XML 레이아웃에 프로그레스바를 추가할 때 사용된다. max 속성 : 프로그레스바가 갖는 최대 범위를 설정할 때 사용 progress 속성 : 프로그레스바의 현재 값을 설정할 때 사용 ✔ 프로그레스바의 현재 값을 바꿀 때 사용하는 대표 메서드 voi..