ReactiveX(RxJava, RxJs, Rx*)은 비동기 작업 및 이벤트 기반 프로그램을 작성하기 위한 라이브러리 입니다. 최근(?) 안드로이드부터 시작해서 프론트엔드, 백엔드까지 다양한 부분에 rx가 도입되고 있습니다. 필자 또한 rx에 관심이 생겨서 수개월간 사용해왔지만 이제서야 rx에 대한 기초를 정리해보려고 합니다. ■ Reactive Programming Rx에 대해 알아보기 전에 rx의 기본 개념인 Reactive Programming에 대해 알고 넘어가야 할 필요가 있습니다. Reactive Programming은 비동기 데이터 스트림을 이용한 프로그래밍으로 OOP, FP와 같이 프로그래밍 패러다임이라고 볼 수 있습니다. 좀더 쉽게 설명하자면, 데이터를 작은 데이터의 연속(스트림)으로 다..
안녕하세요 박스여우입니다. 이번에는 안드로이드 스튜디오를 이용하여 엑티비티를 전환하는 방법을 알아보겠습니다. File - New - New Project..를 클릭하셔서 새로운 프로젝트를 만듭시다. 개발할 앱의 이름을 정해주시고, 앱 개발에 사용할 안드로이드의 버전을 선택합니다. 저는 4.1버전 이상을 추천드립니다. 4.1 이하 버전을 사용하는 분들이 적기 때문에.. 텅빈창(Blank Activity)를 선택하신뒤에 마지막으로 엑티비티의 이름과 설정을 해주고 finish! 자 그럼 두번째 엑티비티로 넘어가기위한 버튼을 만들어주세요 이름과 아이디는 아무거나 상관없습니다. 그리고 Properties - onClick를 onClick001로 바꿔줍시다 onClick001은 저 버튼이 눌렸을때 실행될 메소드의 ..
안녕하세요 박스여우입니다.이번에는 JSON에 대해 알아보겠습니다. 우선, JSON이란?JavaScript Object Notation의 약자로 인터넷에서 자료를 주고받을때 표현하는 방법입니다. 특히 컴퓨터 프로그램의 변수값을 표연하는데 적합합니다. JSON의 형식은 javascript를 사용하지만, 언어나 풀랫폼에 독립적인것이 특징입니다. JSON의 기본자료형에는 정수,실수(고정,부동),문자열,배열,객체 가 있습니다. 문자열은 큰따옴표("")안에 넣어서 선언하고, 배열은 대괄호([])안에 넣어서 사용합니다. 또, 객체는 중괄호({})안에 넣어서 사용합니다. 아래는 문자열안에 넣을수있는것 들을 보여주고 있습니다. 위에서 말했듯이 큰따옴표 안에서 이루어 집니다. 아래는 객체의 구조를 나타내주고 있습니다.객체..
안녕하세요 박스여우입니다.이번에는 안드로이드 스튜디오를 이용하여 버튼을 만들고 텍스트를 변경해보는법을 알아보겠습니다. 우선 개발을 위해선, 새프로젝트를 생성해야합니다.아래의 사진과 같이 File-New-New Project를 클릭하세요 그후엔 새 프로젝트를 생성할수있는 창이 뜹니다.좌측 체크박스는 개발하고자하는 환경 (스마트폰,태블릿,스마트왓치,TV등..)을 선택하고,우측에 리스트는 버전을 선택하는곳 입니다. 저는 4.3버전을 선택하겠습니다. 이제 어플리케이션의 이름을 정해주시고 개발할 창을 선택해 주세요Blank Activity - 빈 창Blank Activity with Fragment - 빈창, 화면을 조각내어 각자사용할수있음Fullscreen Activity - 전채화면Google AdMob ad..
안녕하세요 박스여우입니다.이번에는 안드로이드 스튜디오에서 한글을 지원하도록 만드는 방법을 알아보겠습니다. 우선 C:\Program Files\Android\Android Studio\bin 이경로의 폴더를 찾아가서studio64.exe.vmoptions를 메모장같은걸로 실행시킵니다. 그리고, 아래와 같이 맨 아래에-Dfile.encoding=UTF-8 요걸 추가해주고 안드로이드 스튜디오를 재실행하면 끝! 이상 박스여우의 안드로이드 스튜디오 한글지원이였습니다!
안녕하세요 박스여우입니다. 이번에는 java - swing을 통해 만든 gui생성시 창을 화면 중앙으로 정렬시키는 법과 URL을 통해 이미지를 얻어와 GUI에 뿌리는 법을 알아보겠습니다. 우선 화면을 중앙에 정렬시키는 코드입니다. 1 2 3 4 5 6 7 8 9 public static void centerToScreen(JFrame frame){ int digWidth = (int)frame.getSize().getWidth(); //자신이 생성한 gui의 넓이 높이를 구한다 int digheight = (int)frame.getSize().getHeight(); int scnWidth = (int)Toolkit.getDefaultToolkit().getScreenSize().getWidth(); in..
안녕하세요 박스여우입니다. 이번에는 Java를 이용한 폴더/디렉토리채로 복사하는 방법에대해 알아보겠습니다. 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 32 33 34 35 36 37 38 39 40 41 public static void copys(File selectFile, File copyFile) { //복사할 디렉토리, 복사될 디렉토리 File[] ff = selectFile.listFiles(); //복사할 디렉토리안의 폴더와 파일들을 불러옵니다. for (File file : ff) { File temp = new File(copyFile.getAbsolutePath() +"\\"+ f..
안녕하세요 박스여우입니다.이번에는 Java의 Socket를 이용해서 파일을 전송하여 복사하는방법에대해 알아보겠습니다.※주의※이 글의 예제는 입문 수준의 코드이므로 모범적이지 못한 예제입니다.단순히 파일을 읽고 소켓통신을 하는 방법에 대해서만 참고하는 목적으로 읽어주시길 바랍니다! Client 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455import java.io.DataOutputStream;import java.io.File;import java.io.FileInputStream;import java.io.OutputStream;import java.net.Socke..
안녕하세요 박스여우입니다. 이번에는 FileWriter를 이용하여 File에 이어쓰기를 하는방법을 알아봅시다. 1 2 File f = new File("주소"); FileWriter fw = new FileWriter(f, true); cs 위를 살펴보면, File을 지정된 주소에 새롭게 생성한뒤, 파일 f를 수정하는 FileWriter을 생성, 뒤에 true는 이어쓰기 모드입니다. 만약 이어쓰기를 하지 않으려면, FileWriter fw = new FileWriter(f);만 작성하시면 됩니다. 그 뒤에, 1 fw.write("수정할 글 int,string등"); cs 을 통해 파일을 수정하시면 됩니다. 그런데,위의 영상에서 보시면 아시겠지만 FileWriter를 사용할땐 flush()를 사용하셔야합니..
안녕하세요 박스여우입니다.이번에는 Java의 Swing/awt JTestArea에 이미지를 삽입,뿌리기를 해보겠습니다. 텅비고 휜바탕에 밋밋한 Java의 gui 가 싫으시면?paintComponet의 Graphics를 사용하면 이미지를 삽입하여 멋진 gui를 제작하실수 있습니다! java는 png,jpeg,gif등을 지원해주어 다양한 이미지파일이 삽입가능하지만,만약 영상파일이나 추가적인 미디어 파일들을 삽입하고 싶으시다면, JMF를 통해 구현이 가능합니다. 동작되는 영상과 코딩과정입니다. 아래는 소스입니다.이미지 파일은 이미지가 담겨있는 주소와, 이미지파일의이름,그리고 형태까지 모두 작성해야 합니다.ex)C:\\Users\\user\\Desktop\\proLan\\filegate\\img2.gif참! ..