본문 바로가기

728x90

study/android

[android] HttpURLConnection HttpURLConnection HttpURLConnection class는 원래 자바에서 사용되던 클래스이며 URLConnection class를 구현한 클래스다. URLConnection class는 보통 인증, 보안 등이 전혀 설정되지 않은 사이트를 대상으로 사용할 때 사용되며 HttpURLConnection은 이 함수의 getResponseCode()를 Override 한 것이다. HTTP URL에 연결을 시도할 때 사용하며 기본적으로는 GET방식이다. 하지만 setRequestMethod()를 통해서 HEAD, GET, POST, DELETE, PUT, OPTIONS, TRACE로 변경이 가능하다. 각각 간단하게 설명하면 HEAD는 문서의 헤드부분을 가져오는 것이다. GET은 URL의 내용을 가.. 더보기
[android] AsyncTask AsyncTask AsyncTask는 UI객체를 쉽게 조작할 수 있게 해주는 클래스이다. 다른 방법들로는 handler를 이용하거나 runOnUiThread를 사용하면 된다. 우선 AsyncTask는 단일 Task 단위로 진행을 하게 되며 멀티 스레딩을 하더라도 최대 3~4의 병렬만 가능하다. 또한 짧은 연산이라면 개발자가 사용하기에도 쉬워서 상관없겠지만 스레딩 외에도 성능이 중요하다면 사용하지 않는 것이 좋다. execute()를 사용함으로써 AsyncTask를 백그라운드에서 실행시킬 수 있다. execute()를 실행시키고 나면 내부적으로 AsyncTask는 일련의 함수들을 실행하게 된다. 1. onPreExecute() : 백그라운드로 작업을 수행하기 전에 동작하는 함수로 보통 초기화 2. doIn.. 더보기
[android] Volley Volley Volley 라이브러리는 안드로이드 애플리케이션의 네트워킹을 위한 HTTP 라이브러리이다. 네트워크 통신을 위해서는 HttpURLConnection(안드로이드 기본 라이브러리), Retrofit(Square사의 오픈소스 라이브러리)와 함께 대표적인 라이브러이다. HttpURLConnection은 제한된환경에서 주로 사용되고 잘 사용 안된다고 한다. 외부 라이브러리이기 때문에 사용할 때에는 build.grandle(Module)의 dependencies 항목에 추가해주어야 한다. implementation 'com.android.volley:volley:1.1.1' 현재 1.1.1버전까지 나왔다. dependencies에 추가해준 이후에는 manifest파일에도 아래의 코드를 사이에 추가해주어.. 더보기
[android] LayoutInflater & Factory Method LayoutInflater LayoutInflater의 역할을 간단하게 설명하면 작성한 xml의 resource들을 View로 바꿔주는 역할이다. 이렇게 바뀐 view들로 화면을 구성하는 것이다. onCreate() 메서드의 setContentView(R.layout.activity_main) 메서드와 같은 원리인데 layout으로 작성된 activity_main.xml를 View로 바꿔주고 보여주는 것이다. 1. Context LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View view = inflater.inflate(R.layout.my_layout, paren.. 더보기
[android] ViewPager & PagerAdapter + LayoutInflater ViewPager 스와이프 기능을 통해서 콘텐츠를 전환할 수 있는 요소이다. ViewPager자체가 화면을 그리는 기능을 하는 것이 아니라 여러 View widget들을 사용하는 컨테이너의 한 종류로 볼 수 있고, 화면 전환을 목적으로 하는 녀석이다. ViewPager는 View나 ViewGroup에서처럼 Adapter를 사용한다. ViewPager에서 사용하는 PagerAdapter는 아래에 요약을 했다. ViewPager는 기본적으로 전환에 필요한 모든 페이지를 생성해놓고 보여주는 것이 아니다. 스와이프로 바로 이동이 가능한 좌우에 한 개의 페이지씩만 생성해서 유지하며 현재 상태에 있는 페이지를 Key Object로써 페이지 참조 및 식별을 위해서 ArrayList로 관리를 하고 있다. 그 외의 페이.. 더보기
[android] drawable drawable drawable 디렉터리는 이미지 리소스를 보관하는 곳이다. /res/drawable 및 화질에 따라서 다양하게 관리할 수 있도록 여러 디렉터리가 존재한다. 사용하기 위한 리소스들은 모두 때려박으면 된다. 리소스를 가져와서 사용하는 방법에는 2가지 방법이 있다. layout(xml) 파일에서 drawable 이미지 리소스를 가져오기 Activity.java에서 drawable 이미지 리소스를 가져오기 1. layout(xml) 파일에서 drawable 이미지 리소스를 가져오기 이미지 리소스를 사용할 ImageView의 안에 여러 속성을 추가해줄 때 아래의 코드 내용도 추가 2. Activity.java에서 drawable 이미지 리소스를 가져오기 Drawable 객체 변수와 ImageVi.. 더보기
[android] Activity & Intent Activity란 Activity는 화면에 UI를 표시하는 역할을 수행하는 주체이다. Activity자체가 여러 개의 View 혹은 ViewGroup을 배치하면서 만든 UI를 띄워준다. 화면에 UI를 표시하기 위한 틀로 봐야 한다. 따라서 이때 UI는 Layout 리소스 XML 파일(R.layout.XXX)이거나, View나 ViewGroup이 와야 한다. MainActivity 실행 package com.example.test; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; public class MainActivity extends AppCompatActivity { @Override protected void o.. 더보기
[android] Toast 메시지 -Context 일단 토스트 메시지는 종종 화면 하단에 떴다가 사라지는 메시지이다. 토스트 메시지은 커스텀이 가능하다고 한다. 사용법 Toast.makeText(Context context, CharSequence text, int duration).show(); 첫 번째 인자의 conetxt에는 this, getActivityContext(), [Activitiy Class Name].this 등 많이 사용할 수 있다. Android의 Context에 대해서는 여기서 확인해보면 된다. 그리고 맨 아래쪽에 생각을 정리해뒀다. 두 번째 인자 text는 토스트 메시지에 띄울 내용이다. 마지막 인자 duration은 토스트 메시지가 띄워져있을 시간이다. Toast.LENGTH_LONG과 Toast.LENGTH_SHORT는 T.. 더보기

728x90