개인 위키이자, 온라인 메모장으로 최근 선풍적(?)인 인기를 끌고 있는 스프링노트를 이용한 응용 어플리케이션을 만들기 위한 스프링노트 Java API 를 완성했습니다.
2주전 정도에 스프링노트 Java API를 만들어 스프링노트 커뮤니티 게시판에 포스트 했었습니다. 하지만 그때는 첨부파일 업/다운로드 및 삭제 기능이 없었고, 이번에는 첨부파일을 핸들링하는 부분까지 넣었습니다.
View SpringNote API Documents Download SpringNote API Jar (18.7KB)
스프링노트 Java API를 가지고 스프링노트 관련 매쉬업을 개발하려면 Application-Key/Id를 받아야 하는데 어려운 절차가 없이 개발자 커뮤니티에 등록만 하면 됩니다. ![]()
자세한 사용법이나 예제코드는 여기를 참조하시고, 궁금한 점이나 Test.java 같은 코드가 필요하면 이 글에 댓글로 담아주시기 바랍니다.
페이지 만들기 (CREATE)페이지 읽기 (RETRIVE)페이지 변경 (UPDATE)페이지 삭제 (DELETE)첨부파일 추가첨부파일 삭제첨부파일 읽기
첨부파일 관련 메서드 목록SpringNote.addAttachment( Attachment at, File file )SpringNote.addAttachment( Attachment at, InputStream in )SpringNote.removeAttachment( Attachment at )SpringNote.getAttachments( PageMeta pm )SpringNote.getAttachments( int pageId )SpringNote.downloadAttachment( Attachment at, File file )SpringNote.downloadAttachment( Attachment at, OutputStream out )
첨부파일 관련 클래스 목록rath.toys.springnote.Attachment rath.toys.springnote.event.ProgressEventrath.toys.springnote.event.ProgressListener
자세한 설명은 API Documents 에 포함되어 있으며, ProgressEvent 는 용량이 큰 파일을 업로드/다운로드 하는 과정을 표시하는 프로그램을 만들 때 유용하게 사용하실 수 있습니다.
import rath.toys.springnote.*;
import rath.toys.springnote.event.*;
SpringNote sn = new SpringNote();
sn.setOpenID( new URL("[http://rath.myid.net")](http://rath.myid.net) );
sn.setUsername( "rath" ); // 노트이름
sn.setUserKey("a8........................f808");
sn.setApplicationId("xx");
sn.setApplicationKey("34d6............e234");
Page createdPage = sn.**addPage**("스프링노트 자료실", "<p>여기는 자료실 입니다</p>");
sn.**updatePage**(createdPage.getId(), "<p>자료실 입니다</p>"); // 페이지 내용 변경
File f = new File("baseball.avi");
Attachment at = new **Attachment**();
at.**setPageId**( createdPage.getId() ); // 어느 페이지에 첨부할 것인지 꼭 알려주어야 함.
at.setTitle( f.getName() );
at.setFileSize( f.length() );
at.**addProgressListener**( new ProgressListener() { // 16KB 전송될때마다 이벤트 수신. 관심없을 경우 Listener를 부착할 필요 없음.
public void transferProgress( ProgressEvent e ) {
System.out.println( String.format("* Progress: %9d/%9d",
e.getTransferredBytes(), e.getTotalBytes()) ); // 16KB 마다 얼만큼 받았는지 STDOUT에 출력
}
});
sn.**addAttachment**( at, f ); // 파일 업로드
sn.**downloadAttachment**( at, new File("baseball-test.avi") ); // 파일 다운로드
sn.**removeAttachment**( at ); // 파일 삭제
sn.**removePage**(createdPage.getId()); // 페이지 삭제
Continue Reading
Discover more thoughts and insights
터키행진곡 연주 동영상
지난 화요일 오후, 모자와 함께 터키행진곡을 연주한 동영상이다. 03:15 터키행진곡 정상 속도 06:45 터키행진곡 정상 속도 + 한 옥타브 높여서 07:47 터키행진곡 빠른 속도 + 한 옥타브 높여서
인용 중독
인용구를 좋아하는 것. 그리고 그것을 불특정 다수와 공유하고자 하는 것. 책을 읽다가 기억하고 싶은 부분이 있으면 밑줄을 좍좍 치는 것. 지금의 나에게 필요한 문장이거나 지금의 나를 잘 표현해주는
치팅 컬처
"거짓과 편법을 부추기는 문화" 라는 멘트에 이끌린 책, 치팅 컬처를 읽게 되었다. 세상에는 수많은 치팅(Cheating)이 만연하고 있다는 것은 누구나 안다. 어려서 가족들로부터 깨끗한 윤리들이 많이 주입된