본문 바로가기

반응형

IT

위젯의 보조기억장치 setTag() getTag() 안드로이드의 각 View를 확장한 위젯에는 setTag(Object obj)와 getTag() 라는 메소드를 제공합니다. Object를 담을 수 있는 공간을 제공하기 때문에 필요에 따라서는 class단위의 정보도 간단히 저장했다가 무엇을 저장했는지 정확하게 알 수 있다면 명시적인 캐스팅을 통해서 해당 정보를 다시 추출할 수 있습니다. 간단히 예제를 작성해 보았다.// java code package com.dante2k.helloworld; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.widget.Button; public class MyTag extends Activity { B.. 더보기
eclipse 설정 workspace에 적용하는 방법 이런저런 방법에 .metadata복사하는 방법 등등해서 정말 다양한 방법이 존재하는데, 좀 더 쉽게 할 수 있는 방법이 있어서 소개합니다. eclipse의 최대 장점인 플러그인을 사용하였습니다. eclipse를 실행하고 메뉴바 -> Help -> eclipse marketplace... 를 눌러서 마켓플레이스를 오픈합니다. 검색어(workspace preference) 를 입력하고 엔터를 치면 검색되고, 다음과 같은 항목이 보일겁니다. 위 화면에 보이는 Workspace Preferences Transferrer 의 Install 버튼이 보이는데 그부분을 클릭합니다. 제 화면에는 이미 설치가 되어 있어서 Uninstall로 보입니다. 진리의 다음다음, Accept를 눌러서 설치를 완료하고, eclipse.. 더보기
[eclipse/android] Java compiler level does not match the version of the installed Java project facet 1. Java compiler level does not match the version of the installed Java project facet 2. Android requires compiler compliance level 5.0 or 6.0. Found '1.X' instead. Please use Android Tools > Fix Project Properties. 안드로이드 프로젝트를 시작하거나 중간에 수정하다가 위의 에러를 보게 되는 경우 안드로이드를 컴파일할때 사용하는 JDK의 버전이 문제가 되는 경우이다. 1. 의 경우 java compiler 버전을 안드로이드를 정상적으로 컴파일할 수 있는 1.5 또는 1.6버전으로 변경해주면 된다. Project 선택 -> 마우스 오른쪽버튼 .. 더보기
[소개] 비활성창 스크롤 Katmouse, WizMouse 듀얼모니터를 사용한다던지 프로그래밍을 하는 과정에서 메인프로그램 창과 서브프로그램 창을 왔다갔다 이동하면서 스크롤하는 경우가 종종 있습니다. 대부분 이동해서 프로그램타이틀바든 해당 프로그램의 프레임부분을 클릭하고 스크롤하고 다시 돌아와서 메인프로그램을 클릭하고 해당부분으로 스크롤하고.... 너무~~~~너~~~~~~~~~~무 귀찮죠? 이런 클릭없이 활성화된 메인창도 스크롤할 수 있고, 비활성상태의 서브프로그램의 창도 클릭없이 스크롤하는 프로그램을 소개합니다. 검색결과 2가지 프로그램이 가장 많이 이용되고 있습니다. 오래전부터 Katmouse를 사용하고 있었는데, 작동하지 않는 프로그램이 있어서 일단 저는 Wizmouse로 갈아타서 테스트 중입니다. 자기에게 맞는 프로그램을 사용하시면 되고, 지원하는 기능이.. 더보기
[VB] VIsta, 윈도우 7 등에서 Sendkeys 에서 70 사용권한이 없습니다 에러 해결방안 Vista 부터 지원하게 된 '사용자 계정 콘트롤(UAC)' 이 문제가 되는 경우중에 하나이다. 아마도 Sendkeys 라는 펑션이 사용자가 예측할 수 없는 기능을 수행하는 (사용자는 A키를 눌렀는데 B키가 반응하게도 할 수 있으니까..) 펑션이기때문에 UAC에서 Admin권한을 획득해야 사용가능한 것 같다. 해결 방안은 첫번째로 '사용자 계정 콘트롤'을 사용하지 않도록 하는 방법이 있다. 필수적으로 리붓해야 원하는 대로 사용이 가능할 것이다. 두번째로 웹서핑으로 검색한 결과이다. 자유로운영혼님께서 작성한 블로그글을 링크한다. http://blog.daum.net/-freeman/4 - 두번째 해결 방법 - 그래서 이래저래 뒤져본봐. 해결방법은 나온다. 기존에 사용되고 있는 다른 API를 사용하여 처리하.. 더보기
DevExpress 개발 팁 (XPCollection VS XPView) 조회만(!)하는 정보는 XPCollection 클래스를 사용하지 말고, XPView를 사용하여 부하를 줄인다. XPCollection을 사용하면 해당테이블과 그 테이블에 연결된 1차테이블의 정보까지 몽땅 불러와서 효율적이지 못하다. 빠른 조회, 검색을 위주로 처리하는 경우라면 XPView를 사용하고 조회된 데이터에서 수정해야하는 경우가 발생한다면 별도의 EditForm으로 이동하여 XPView의 Oid, ID등의 유니크한 정보를 이용하여 수정할 데이터를 XPCollection으로 조회하고 이를 화면에 바인딩, 수정할 데이터를 처리한후 해당 XPCollection의 UnitOfWork의 트랜잭션을 처리하는 방법을 이용하여야 한다. 더보기
XpCollection - GridControl For Save Data XpCollection - GridControl For Save Data 하단의 이벤트는 모두 GridView에 적용하는 이벤트 들이다. gvCustomerSub_ValidateRow 수정하던 ROW를 벗어나거나 마우스 클릭등으로 해당 ROW를 벗어나는 경우 이벤트가 발생하게된다. 저장하려는 자료가 정상적인지를 판단하는 부분을 정의한다. InvalidRowException을 발생하려면 e.Valid = false;를 하면 InvalidRowException로 이동하게된다. gvCustomerSub_InvalidRowException ValidateRow에서 Exception이 발생한 경우 이 이벤트를 타게되고 이 이벤트에 들어오는 경우 RowUpdated 이벤트는 발생하지 못한다. 에러가 난 이유등을 화.. 더보기
바코드 Code 39 진단코드로 유효성 검사하기 산업부분의 바코드는 바코드 길이에 제한이 없는 Code 39 바코드를 많이 사용합니다. 이코드를 읽어들이면 애초에 입력한 문자열(숫자와 영문자와 몇 특수기호)이외에 마지막에 한문자가 더 추가가 됩니다. 이문자는 Code 39의 유효성을 판단하는 진단코드로 구성 알고리즘은 정말 간단합니다. 위키문서에 의하면 Code 39의 바코드별 문자의 값이 존재합니다. 맨마지막 에 추가된 진단문자를 제외하고 위키문서의 문자의 값을 모두 더합니다. 이후 43으로 나누어진 나머지(컴퓨터 연산자 '%') 를 이용하여 나머지값의 문자에 해당하는 값을 문자표에서 찾아 마지막의 문자와 비교해서 같은 문자면 바코드가 정상인 것이고, 마지막 문자가 다르다면 Code 39기반의 바코드가 아니라고 보면 됩니다. PDA에서 개발하면서 만.. 더보기

반응형