본문 바로가기

TextView에서 터치된 영역의 Offset 가져오기 Ebook 관련 API들을 만들고 테스트하는 도중, Select에서의 블록이나 하이라이트와 관련해서 터치된 영역이 문자열의 어느 부분인지 구하는 로직이 필요했습니다. 물론 Paint를 써서 대충 계산하면 어느정도 맞출 수는 있지만 문자 사이즈에 의해 정해져있는 세로와는 달리 가로는 폰트마다 가변적인 사이즈를 가지고 있기 때문에 폰트마다 일일히 계산해주지 않으면 안 되는 상황에 봉착했습니다. (예전에는 폰트 매트릭스를 읽어와 일일히 계산해주었다는군요) 그러다가 웹서핑 도중 유용한 녀석을 발견해서 정리해놓습니다. 아직도 모르는 게 너무도 많아서 문제군요 public int getOffset(TextVIew text, MotionEvent event) { // 터치 좌표를 int형으로 바꿔준다. int pos.. 더보기
What is android?? 안드로이드는 모바일 디바이스를 위한 소프트웨어Stack 입니다. 안드로이드 SDK를 통해 Java 언어를 이용하여 Application을 개발합니다. Android Architecture Applications 안드로이드는 E-mail, SMS, Calender, browser, Contacts 등과 같은 Application을 탑재하고 있습니다. 모든 Application은 Java 로 작성되어있습니다. 모든 Application은 가상머신에 대한 자신의 인스턴스를 가지고, 자신의 프로세스 내에서 실행된다. 모든 Application은 동등한 입장으로 실행된다. 즉, 기본 시스템 대신, 직접만든 시스템을 초기화면으로 사용가능하다. Applications Framework 말 그대로 번역하면 "사용할 수.. 더보기
interface 와 추상클래스 인터페이스와 추상클래스에 관해 간단히 설명하고 넘어가겠다. interface : 상수와 추상메소드로 구성된다. 추상클래스 : 속성, 상수, 일반메소드, 추상메소드를 포함할 수 있고, 객체화가 불가능하다. interface 구현방법 접근지정자 interface 인터페이스명 { 상수; 추상메소드; } ex) 예를들어 도형이라느 인터페이스는 구현한다고 하면, public interface 도형{ static final double PI=3.14 double getSize(); String getName(); } PI라는 변하지 않는 static final 형태의 상수를 정의하고, 넓이는 구하는 getSize(),getName() 라는 추상메소드를 정의한다. abstract public double getSiz.. 더보기
남해 더보기
SHA-512 해시 알고리즘을 이용한 공유키 기반 암호화 시스템 main.c =============================================== #include "AppLE-C.h" int main(int argc, BYTE** argv){ int select=0, a=0; //FILE* fi;// Input file pointer, //FILE* fo;// Output file pointer, //printf("숫자를 입력하세요 : "); //scanf("%d", &select); while(1){ printf("========================================================\n"); printf("================ AppLE 암복호화 시스템 ================\n"); printf("=.. 더보기