분류 전체보기 썸네일형 리스트형 Fragment - 3. 관리 프래그먼트 관리액티비티 내의 프래그먼트를 관리하려면 FragmentManager를 사용해야 합니다. 이것을 가져오려면 액티비티에서 getFragmentManager()를 호출하세요.FragmentManager를 가지고 할 수 있는 여러 가지 일 중에 예를 들면 다음과 같습니다.액티비티 내에 존재하는 프래그먼트를 findFragmentById()로 가져오기(액티비티 레이아웃 내에서 UI를 제공하는 프래그먼트의 경우) 또는 findFragmentByTag()로 가져오기(UI를 제공하거나 하지 않는 프래그먼트의 경우).popBackStack()을 사용하여 프래그먼트를 백 스택에서 꺼냅니다(사용자가 Back 명령을 시뮬레이션).백 스택에 변경 내용이 있는지 알아보기 위해 addOnBackStackChangedL.. 더보기 Fragment - 2. 사용 사용자 인터페이스 추가 Fragment는 일반적으로 Activity의 사용자 인터페이스의 일부로 사용되며 자체 Layout으로 Activity에 기여한다. Fragment에 대해 Layout을 제공하려면 반드시 onCreateView() 콜백 메서드를 구현하여야 한다. 이것은 Fragment가 자신의 Layout을 그릴 때가 되면 Android 시스템이 호출하는 것이다. 이 메서드의 구현은 반드시 View를 반환해야 한다. 이것은 Fragment Layout의 루트이다. ( - Fragment가 ListFragment의 서브 클래스인 경우,기본 구현이 onCreateView()로부터 ListView를 반환하므로 이를 구현하지 않아도 된다) onCreateView()로부터 레이아웃을 반환하려면 이를 XML.. 더보기 Fragment - 1. 서론 Fragment는 동작 또는 Activity 내에서 사용자 인터페이스의 일부를 나타낸다. 여러 개의 프래그먼트를 하나의 액티비티에 조합하여 창이 여러 개인 UI를 구축할 수 있으며, 하나의 프래그먼트를 여러 액티비티에서 재사용할 수 있다. 프로그먼트는 자체 수명주기를 가지고, 자체 입력 이벤트를 받으며, 액티비티 실행 중에 추가 및 제거가 가능한 액티비티의 모듈식 섹션이라고 생각하면 된다.(다른 Activity에 재사용할 수 있는 "하위 액티비티"와 같은 개념). Fragment는 항상 액티비티 내에 포함되어 있어야 하며 해당Fragment의 수명 주기는 Host Activity의 수명 주기에 직접적으로 영향을 받는다. 예를 들어 Activity가 일시정지 되는 경우, 그 안의 모든 Fragment도 일.. 더보기 [Android] 안드로이드 Activity와 Activity Life Cycle Activity - 화면을 구성하는 기본 단위로서 한 화면을 보여주는 역할 이전 포스팅에서 간단히 말했던 Activity 의 설명이다. 지난 포스팅에서 언급했던 중요 구성요소들에 대해서 하나씩 설명을 해볼까 한다. 이번 포스팅은 그 중 제일 기본이라고 할 수 있는 Activity에 관한 설명과 그 생명 주기에 관한 내용이다. 액티비티는 화면의 기본 단위 라고 대부분의 웹문서에서 설명하지만, 사실 실제로는 화면을 보여주는 단위가 아닌 화면을 구성하는 view를 다양한 컨트롤을 이용하여 배치하는 이벤트를 처리하는 컴포넌트다. 실제로 안드로이드 스튜디오를 만들어 보면 view에 해당하는 소스코드는 xml로 이루어져 있고 activity는 그 xml과 연동을 시켜 해당 화면을 보여줌을 알 수 있다. 그러므로 정.. 더보기 [Android] 안드로이드의 주요 개념 일단 안드로이드를 시작하고자 한다면 무조건 알아야 할 몇가지 개념이 존재한다. 바로 안드로이드 구성 요소에 관한 것인데, 안드로이드는 크게 4대 컴포넌트라 불리워지는 4가지의 구성 요소를 지니고 있다.Activity, Broadcast Receiver, Content Provider, Service 가 그 4대 컴포넌트이며, 각 4대 컴포넌트에 액션이나 데이터를 전달하는 intent, 수신할 수 있는 인텐트를 정의하여 컴포넌트를 정의하는 역할을 하는 Intent Filter, 사용자에게 특정 이벤트를 알리는데 쓰이는 Notification 등이 크게 알아야 할 구성요소의 개념이다. 구성 요소 설명 Activity - 액티비티 사용자 인터페이스 화면을 구성하는 컴포넌트 Broadcast Receiver -.. 더보기 [JSP] Scope Object JSP의 내부 객체란 JSP 페이지가 사용자의 브라우저에게 요청될 때 자동으로 생성되는 객체를 말하는데, 특정한 자바 클래스 또는 인터페이스의 형태를 갖는다. scope웹 어플리케이션은 page, request, session, application 이라는 4개의 영역을 가지고 있으며 객체를 누구와 공유할 것인가를 나타낸다. 영역은 객체의 유효기간이라고도 한다.page: 한 번의 웹브라우저(클라이언트)의 요청에 대해 하나의 JSP 페이지가 호출되며 웹브라우저의 요청이 들어오면 이때 단 한 개의 페이지만 대응 된다. 생성된 객체는 PageContext 에 저장된다. 쉽게 말해 service()를 벗어나면 소멸한다. request: 한 번의 웹브라우저(클라이언트)의 요청에 대해 같은 요청을 공유하는 페이지가.. 더보기 [swing] Event Dispatch Thread Swing(정확하게는 AWT)의 GUI 이벤트는 event dispatch thread라는 특수한 스레드에서 처리되며, Swing 객체의 메소드는 대부분 thread-safe하지 않기 때문에1 모든 Swing 이벤트 핸들링과 Swing 프레임웍을 다루는 코드 대부분은 event dispatch thread 상에서 실행되어야 한다.2 따라서 일반적인 Swing 애플리케이션의 main 메소드는 GUI를 구동하는 Runnable 객체를 생성하여, event dispatch thread에서 실행되도록 요청(invoke)하는 코드가 된다. Swing의 event dispatch thread에 이런 실행을 요청하는 방법은 SwingUtilities 클래스의 invokeLater 메소드3와 invokeAndWait .. 더보기 serializable 직렬화 컴퓨터에 저장했다가 다음에 다시 꺼내 쓸 수는 없을지 또는 네트웍을 통해 컴퓨터 간에 서로 객체를 주고 받을 수는 없을까라고 고민해 본 적이 있는가? 과연 이러한 일들이 가능할까?가능하다. 이러한 것을 직렬화가 처리해준다. 1. 직렬화란 직렬화(스트림으로)란 객체를 데이터 스트림으로 만드는 것을 뜻한다. 즉, 객체에 저장된 데이터를 스트림에 쓰기 위해 연속적인 데이터로 변환하는 것을 말한다.반대로 스트림으로부터 데이터를 읽어서 객체를 만드는 것을 역직렬화(객체로)라고 한다.객체 스트림은 프로그램 메모리상에 존재하는 객체를 직접 입출력해 줄 수 있는 스트림으로 현재 상태를 보존하기 위한 영속성을 지원할 수 있다.자바에서 객체 안에 저장되어 있는 내용을 파일로 저장하거나 네트워크를 통하여 다른 곳으로.. 더보기 Thread Synchronized 공유 아래와 같은 방식으로 run()에서 공유할 객체에 접근하는 것이 가능해진다. 예) 쓰레드가 객체를 공유하게 되는 방식 1 - Runnable 인터페이스 상속?12345678910111213141516171819202122232425262728import java.util.*; class example { public static void main(String[] args) { RunnableImpl r = new RunnableImpl(); Thread t1 = new Thread(r); Thread t2 = new Thread(r); t1.start(); t2.start(); }} class RunnableImpl implements Runnable { int iv = 0; @Override pu.. 더보기 vector 여기서는 2D 벡터를 쉽게 사용할 수 있는 클래스를 생성하려고 한다. 이 클래스는 Vector2라고 부르겠다. 이 클래스에는 벡터의 x, y 요소를 포함하기 위한 두 개의 멤버가 있어야 한다. 추가로 다음과 같은 기능을 하는 메서드도 제공해야 한다.벡터의 덧셈과 뺄셈스칼라를 사용한 벡터 요소의 곱셈벡터 길이의 측정벡터의 정규화벡터와 x축 사이의 각도 계산벡터의 회전자바에는 연산자 오버로딩 기능이 없으므로 Vector2 클래스를 사용하기 쉽게 하려면 자체 메커니즘을 만들어야 한다. 이 메커니즘은 다음과 같이 구현하는 게 좋다.Vector2 v = new Vector2(); v.add(10,5).mul(10).rotate(54); Vector2 메서드 각각이 벡터 자체에 대한 참조를 반환하게 하면 이를 쉽게.. 더보기 이전 1 2 3 4 5 다음