본문 바로가기

반응형

IT

String 데이터에서 split() 메소드 사용시 띄어쓰기 인식하기 자바에서 문자열을 split하는 경우가 꽤 됩니다. 뭐.. 데이터 파싱을 위해서 자르기도 하고, 필요에 따라 사용하는데요.. 이런 경우 "ABC DEF" 같이 중간에 띄어쓰기가 있는데 이를 인식하여 자르려고 하면 보통 String[] arStr = "ABC DEF".split(" "); 위와 같은 형식으로 코딩을 하게 됩니다. 이렇게 해도 잘 동작합니다만, 안되는 경우도 종종 있습니다. 그래서 열심히 구글링하여 찾은 정보로 정규식표현을 사용하면 된다는 것을 알았습니다. 자~ 스페이스 한칸을 인식하게 하는 방법은 String[] arStr = "ABC DEF".split("\\s"); 를 사용하면 됩니다. 간단하죠? 또 다른 예로 중간 공백이 가변적인 경우 1개 이상의 공백이 있는 데이터를 정상적으로 잘라.. 더보기
Parcelable 를 구현할 때 주의점 (ArrayList) 상태저장, 복구가 필요한 데이터에 대해서 implements Parcelable 을 구현하게 됩니다. 구현해야 하는 메소드와 CREATOR 에서 사용자 지정 타입의 ArrayList를 저장하는 방법에 대해서 기술합니다. ArrayList에 사용할 데이터 클래스는 아래와 같이 기술합니다. package com.example.testtypedarraylistparcelable; import android.os.Parcel; import android.os.Parcelable; public class InnerData implements Parcelable { public int nSeq; public String strMessage; public InnerData(int nSeq, String strMess.. 더보기
GCM(Google Cloud Message) 처리시 JSON의 collapse_key 의미와 사용방법 GCM 을 전송하는 방법에는 자체 Sender를 이용하여 Message 클래스를 이용한 메시지 전송방법과 URL에 JSON 포맷의 스트리밍을 전달하는 방법이 있습니다. 그중에서 JSON방식을 사용하는 이유는 메시시당 1000명에 해당하는 다중사용자 전송이 가능하기때문인데요. 이를 개발하다보니 이상한 경우에 collapse_key 설정이 정상적으로 구글서버에서 파싱되지 않는 경우가 있었습니다. 일단 중요한 것은 collapse_key 는 혹시 실수로 다중전송되더라도 클라이언트에 collapse_key 가 중복되는 경우 동일한 메시지로 판단하여 중복메시지를 피하는 것에 의미가 있습니다. c2dm에서 GCM으로 변경되면서 회수제한도 없어져서 많이 사용하게 될 것 같습니다. collapse_key에 사용할 수 .. 더보기
특정 기기에서 DatePickerDialog, TimePickerDialog에서 '설정', '취소' 가 나오지 않고 '저장'으로 표시되는 경우 내 LG의 LTE2 모델의 경우 저런 오류(?)가 발생한다. 저렇게 표시만 되면 다행인데, 취소버튼이 없어서 뒤로가기 버튼을 눌러도 '설정'버튼을 누른 이벤트가 정상적으로 실행이 되고, '저장'버튼을 누른 경우 '설정'버튼을 누른 것 같은 이벤트가 2회 발생한다. 구글링결과 안드로이드 특정 버전에서 위와 같은 오류가 알려져있다고 한다. 이를 해결하기 위해서 소스를 간단히 수정해 보았다. // 한번만 실행하기 위한 체크변수 int nCheck = 0; @Override protected Dialog onCreateDialog(int id) { switch (id) { case DATE_DIALOG_ID: // 날짜선택 다이얼로그 호출 DatePickerDialog dialog = new DatePicker.. 더보기
SubVersion 백업 및 복구 SVN만으로도 충분히 소스를 백업하는 기능이 출중하지만, 정말 만약의 사태를 대비하여 소스의 백업을 2차, 3차까지 해주는 것은 나쁜 일이 아닙니다. 오늘은 SVN서버의 Repository를 백업하고 이를 복구하는 과정을 적어보겠습니다. (이 과정은 Repository가 생성되어 사용중이라는 가정하의 글입니다. 아직 사용하는 Repository가 없다면 SVN Repository 생성에 관한 글을 먼저 읽어보시기 바랍니다. 2012/02/10 - [개발툴/eclipse] - Subversion, Eclipse를 이용한 소스관리와 다중사용자 개발환경 만들기 제가 운영하는 SVN서버를 기준으로 설명합니다. 저는 리눅스 서버에 subversion 이라는 프로그램의 SVN을 사용하여 운영중입니다. 대부분의 작업.. 더보기
[SQL] JOIN 의 종류와 사용법 테이블과 테이블의 데이터를 공통사항으로 연결하여 보여주는 경우 사용하는 예약어입니다. 사용하는 형태는 INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN 으로 3가지 방법이 존재합니다. 간단히 DB를 구성하고 예제를 통하여 알아보겠습니다. /** 테이블 생성과 데이터 입력 **/ USE [U_TEST] GO /****** Object: Table [dbo].[T_USER] Script Date: 10/15/2013 13:31:27 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO -- T_USER 테이블 생성 CREATE TABLE [dbo].[T_USER]( [C_GENDER] [.. 더보기
안드로이드 해상도별 아이콘 사이즈 애플의 아이폰과 같이 단일화된 기기에 특정 해상도만 가진 기기를 타겟으로 개발하는 반면, 안드로이드는 다양한 해상도, 픽셀밀집도가 각각의 기기마다 다르기때문에 디자인에서 정말 고달픕니다. 기본적으로 안드로이드에서 아이콘을 하나 제작하더라도 배포용 512x512 사이즈의 이미지가 필요하고, 추가로 지원하는 기기의 dpi에 따라서 아이콘을 사이즈별로 준비해야 합니다. dpi에 따른 아이콘 사이즈는 구글에서 정의하여 같은 사이즈로 배포해야 합니다. 기기에 따라서 아이콘의 해상도가 정확하게 일치하지 않으면 아이콘을 화면에 보여주지 않는 기기도 종종 있습니다. (지금 기억은 안나는데 아이콘 사이즈에 신경안쓰고 테스트 중이던 프로그램이 그런 경우가 있었습니다.) 최근 xxhdpi이라는 해상도가 추가되었습니다. 최근.. 더보기
리소스 PNG 파일 용량을 줄이자 안녕하세요. 안드로이드나 기타 모바일 프로그램을 개발할 때 작은 Heap 메모리 사이즈로 고생하는 경우가 많습니다. 어떻게 하든지 최대한 리소스를 적게 사용하도록 하는 것이 중요한데요.. 안드로이드에서는 drawable의 이미지 파일중 PNG 파일을 많이 사용합니다. 이 용량을 줄이는 방법을 알아보겠습니다. 하나는 로컬PC에서 프로그램을 이용하여 줄이는 방법, 또하나는 PNG용량줄이는 기능을 구현한 홈페이지를 사용하는 방법입니다. 첫번째. pngquant 라는 프로그램을 http://pngquant.org/ 에서 다운로드 받습니다. 다양한 OS버전 별로 바이너리파일이 준비되어 있으니 원하는 OS에 맞는 프로그램을 다운로드 받습니다. 저는 윈도우 버전을 다운로드 받았는데요. GUI버전인 PNGoo 보다는 .. 더보기

반응형