본문 바로가기

수업 정리

(93)
87일차 수업정리(Android - 오디오 재생, 맵 데이터 읽어오기) **오디오 재생 => MediaPlayer 클래스를 이용하면 오디오 및 비디오 재생이 가능 => MediaPlayer는 android media 패키지에 존재 : C++ 라이브러리 => 공식적으로 재생 가능한 포맷 - Audio : wav, mp3, midi, ogg, 3gp - video : H263, H264, Mpeg4 => 설치된 코덱에 따라서 지원 포맷은 늘어나기도 함 1. 재생할 데이터를 설정 => 메소드는 setDataSource : Overloading(객체지향) - 하나의 클래스에 매개변수의 개수나 자료형을 다르게하여 동일한 이름의 메소드가 2개이상 존재하는 경우 (동일한 작업을 수행하는 메소드가 매개변수 문제로 다른 이름을 가지면 일관성이 없으므로 동일한 이름을 권장) - setData..
퀵소트(작성중) import java.util.Scanner; //Quick Sort //기준을 설정(피벗) -> 기준 데이터의 왼쪽에는 작은 데이터, 오른쪽에는 큰 데이터가 오도록 함 //left, right 설정하고 끝에서 이동하면서 확인 //left >= right가 되면 기준값과 자리 이동 //기준의 왼쪽과 오른쪽 데이터를 가지고 다시 sort 진행(재귀) //데이터의 길이가 0 or 1이 될때까지 반 public class Main { public static void main(String[] args) { QuickSort quick = new QuickSort(); int[] arrNum = {32, 19, 11, 31, 14, 37, 5, 21}; int left = 0; int right = arrNum..
85~86일차 수업정리(Android - Material Design, **Bottom Sheet => Material Design의 일부분으로 하단에서 위로 밀려오면서 출력되는 View => View 내에서 메시지를 출력하거나 보조적인 입력이 필요할 경우 주로 사용(In-App) => 안드로이드에서는 BottomSheet를 만들기 위한 별도의 레이아웃을 생성 **Pull To Refresh => AdapterView의 상단에서 하단으로 스크롤할 때 업데이트 => 안드로이드에서는 SwipeRefreshLayout으로 구현 - 별도 라이브러리 형태로 제공 - SwipeRefreshLayout 안에 ListView나 RecyclerView(각 항목 뷰를 재사용 - 이때 사용하는 자료구조가 Deque)를 배치하여 사용 => OnRefreshListener 인터페이스를 구현한 객체..
84일차 수업정리(Android - Fragment, ViewPager, MaterialDesign) **Fragment => API Level 11 부터 추가된 뷰 => View 이지만 Activity 처럼 수명주기를 가지고 있음 1. 생성 => Fragment 클래스를 상속받아서 생성 => onCreateView 메소드를 재정의해서 화면에 출력할 View를 리턴해 주어야 합니다. => layout.xml 파일을 만들어서 화면을 만들고 LayoutInflater를 이용해서 전개하는 형태를 많이 사용 2. Layout 파일에서는 fragment 태그로 생성하고 class 속성에 1번에서 만든 클래스를 등록 3. 코드 생성 => FragmentTransaction 객체를 Fragment 클래스의 beginTransaction 메소드를 호출하여 생성, add 메소드를 이용 해서 View를 직접 설정하고 co..
83일차 수업정리(Android - Activity, App간 통신, 기본앱 연동) **IoC & Component => IoC(제어의 역전, 제어의 역흐름): 클래스의 생성은 개발자, 인스턴스 생성및 생명주기 관리는 프레임워크 SDK 가 수행하는 것 => 안드로이드에서 관리하는 것은 Component - Activity(화면), BroadcastReceiver(알림), Service(백그라운드 작업 수행), ContentProvider(데이터 공유) 4가지 => Spring Framework가 관리하는 것은 Bean => IoC 사용하는 이유: 개발자는 생명주기와 관련된 작업을 직접 이해해서 할 필요없이 비지니스 로직 작성에만 집중하기 위해 **Activity 생성과 호출 그리고 종료 1.생성 => Activity 클래스로부터 상속받는 클래스를 생성 2.호출 1) 명시적 호출 - 클래..
82일차 수업정리(Android - ActionBar, 데이터 전송) **Action Bar => API Level 11에서 추가된 상단의 TitleBar => 기본적으로는 타이틀로 설정한 문자열이 출력되지만 App Icon 이나 View Control, Action Button, Overflow Menu등의 출력 가능 => 테마설정을 이용해서 보이지 않도록 설정하는 것이 가능 => ActionBar를 보이게하고, 보이지 않게 하기 - Activity에서 getSupportActionBar를 호출하여 ActionBar 객체를 얻어내고 Show, hide 메소드를 호출하여 동적으로 보이기 가능 => 테마 설정에서 windowActionBarOverlay를 이용시 액션바를 투명하게 만들어 ContentView에 떠 있도록 하는 것이 가능 => ActionBar에 보여지는 문자..
81일차 수업정리(Android 연동) MySQL Server : Spring AndroidPortFolio : Android -> 192.168.0.200:8080 **이전에 만들었던 AndroidPortfolio(AndroidMySQL) 수정 => TextView에 출력했던 데이터를 ListView로 출력 : itemname만 출력 => ListView의 항목을 클릭하면 itemid를 Toast로 출력 => ListView를 하단으로 스크롤시 데이터를 가져와서 업데이트 => 애니메이션 적용 1. ITEM 테이블의 데이터를 표현하기 위한 DTO 클래스 생성 => 클라이언트에서 DTO를 만들때는 속성을 public으로 설정하여 편리하게 사용할 수 있도록 해도 됨 public class Item { public int itemid; public..
80일차 수업정리(XML Parsing, Adapter) **XML Parsing 1.XML => eXtensible Markup Language 의 약자 => HTML이 구조적이지 못하고 해석을 웹 브라우저가 하는 문제 때문에 데이터 포맷으로 부적합 => 구조적이고 엄격한 문법을 적용하고 해석을 브라우저가 아닌 곳에서 할 수 있는 문자열 포맷을 고안했는데 이 문자열 포맷이 XML => 최근에 사용되던 HTML은 HTML에 XML 문법을 적용한 XHTML 이었고 이것을 HTML4.01 이라고 했습니다. - 요즈음은 HTML5 문법을 많이 사용 => Web의 대중화 시절 RSS(Rich Site Summary, Really Simple Syndication - 실시간 데이터 제공), SOAP(Simple Object Access Protocol - 서버에서 클라..