2014의 게시물 표시

안드로이드 장치의 디바이스명 및 모델명

안드로이드 장치의 디바이스명 및 모델명 목록을 정리하여 이곳에 공개 하노라.

스프레드시트에는 총 7333개의 안드로이드 장치에 대한 자료로써, 제조사명 / 마케팅명 / 디바이스명 / 모델명이 포함되어 있다.

디바이스명은 android.os.Build.DEVICE이고, 모델명은 android.os.Build.MODEL 명이다.

Apache Commons CSV

CSV 파일은 쉼표로 구분된 값(comma separated value) 을 저장하는 텍스트 파일 형식이며, 주로 엑셀 등에서 데이터를 텍스트 파일로 저장할 때에 사용된다.
아파치 재단에서 자바 프로그래머를 위한 CSV 라이브러리를 내놓았는데, 이 글을 작성하고 있는 현재 시점의 버전은 1.0이다. http://commons.apache.org/proper/commons-csv/

CSVParsr 클래스는 생성자 또는 스태틱 메서드인 parse() 를 통해서 생성한다. 파서를 생성한 후 getRecords() 메서드를 사용하면 CSV 파일의 각 행을 나타하는 List 객체를 얻을 수 있다.
CSVFormat 클래스에는 자주 사용되는 몇 가지 형식들이 사전 정의 되어 있으며, 입맛에 맞게 변경할 수 있다. parser() 메서드를 통해서 CSVParser를 얻을 수도 있다.
CSVRecord 클래스는 CSV 파일의 각 행에 해당하는 정보를 담고 있다. get() 메서드를 통해서 셀의 데이터를 문자열 형식으로 얻을 수 있다.
CSVPrinter 클래스는 CSV 형식으로 데이터를 출력할 때 사용된다.


파서의 생성
Reader (또는 InputStream) 객체을 통해서 파서를 생성하는 방법.
CSVParser parser =newCSVParser(newInputStreamReader(inputStream,"UTF-8"), CSVFormat.EXCEL);
List<CSVRecord> records = parser.getRecords(); ... parser.close();

File 객체를 통해서 파서를 생성하는 방법.
CSVParser parser = CSVParser.parse(file, Charset.forName("UTF-8"), CSVFormat.EXCEL.withHeader());
List<CSVRecord> records = parser.getRecords(); ... parser.close();
중요한 팁! withHeade…

유니코드 한글 자소 문자 처리

이미지
한글 음절 문자를 자소 단위로 분해하거나 또는 반대로 자소 문자들을 합쳐서 하나의 음절 문자로 만드는 자바 소스 코드이다. 이에 관한 간략한 배경 지식이 필요한 경우, 이 글을 참고하기 바란다.

package kr.pe.elex.hangeul;
/**
* Created by Elex on 2014-07-11.
*/
public class HCharacter {
// 한글 음절
protected static final char HANGEUL_SYLLABLE_BEGIN '\uAC00';
protected static final char HANGEUL_SYLLABLE_END '\uD7AF';

// 한글 자모
protected static final char HANGEUL_JAMO_BEGIN '\u1100';
protected static final char HANGEUL_JAMO_END '\u11FF';

protected static final char HANGEUL_JAMO_CHOSEONG_BEGIN '\u1100';
protected static final char HANGEUL_JAMO_CHOSEONG_END '\u1112';
protected static final char HANGEUL_JAMO_CHOSEONG_OLD_BEGIN '\u1113';
protected static final char HANGEUL_JAMO_CHOSEONG_OLD_END '\u115F';
protected static final char HANGEUL_JAMO_JUNGSEONG_BEGIN