Android 에서 

Apache Httpclient 를 사용하는 라이브러리를 실행하려고 할 때,

기존 Android Application Framework에 포함되어 있는 Httpclient와 버전간 충돌이 나는 경우가 있습니다.

원하는 버전의 Httpclient 라이브러리를 dependency로 잡아주어도

Android Application Framework의 ClassLoader가 먼저 로딩이 되어버리기 때문에 Run-time Error가 나게 되지요.


이 경우 ClassLoader를 직접 로딩해서 원하는 클래스를 만들거나 해야하는데 정말 귀찮은 일이 아닐 수 없습니다.


이를 위해서 누군가가 Apache Httpclient 를 리패키징 해 놓았습니다.

https://code.google.com/p/httpclientandroidlib/


기존 Httpclient 라이브러리 dependency를 해제하고 이 리패키징 라이브러리를 dependency로 잡은 다음,

이놈이 제공하는 httpclient 클래스를 대신 로딩하면 됩니다.

(실제로 할 일은 import 부분에 있는 org.apache.http~ 부분을 이놈이 제공하는 패키지 경로로 바꾸어 주기만 하면 됩니다)



참고로 다른 방법들도 있습니다.

http://helloworld.naver.com/helloworld/377316


Posted by 임장관입니다

댓글을 달아 주세요

Java를 쓰다보면 File Access 할 때 객체 종류가 달라서 상호간 변환을 해야 할 일이 있다.


이 방법은 성능을 저하시키지만, 일단 변환이 주 목적인 분들이 참고하시라고 써 본다.

아래 방법은 apache commons io 라이브러리가 필요하지만, 

그냥 input stream에서 output stream으로 쓰기만 하면 된다.



import org.apache.commons.io.IOUtils;


private File convertInputStreamToFile(InputStream is) throws IOException {

File file = File.createTempFile("my", "tmp");

OutputStream outputStream = new FileOutputStream(file);

IOUtils.copy(is, outputStream);

outputStream.close();

return file;

}


ㅑㅒ

Posted by 임장관입니다

댓글을 달아 주세요

  1. cheap nhl jerseys 2013.07.23 08:28  댓글주소  수정/삭제  댓글쓰기

    슬퍼서 우는거 아니야..바람이 불어서 그래..눈이 셔서..

  2. longchamp 2013.07.26 18:57  댓글주소  수정/삭제  댓글쓰기

    창밖을 봐 바람에 나뭇가지가 살며시 흔들리면 네가 사랑하는 사람이 널 사랑하고 있는거야.

Xend 실행시에 다음과 같은 오류가 뜬다면...

WARNING!  Can't find hypervisor information in sysfs!
Error: Unable to connect to xend: No such file or directory. Is xend running?
이것은 grub2가 hypervisor가 없는 kernel을 실행시키기 때문이다.
따라서 xen hypervisor를 우선 순위로 놓아야 한다.
가장 좋은 방법은 다음의 커맨드를 치는 것이다.

mv /etc/grub.d/10_linux /etc/grub.d/50_linux

update-grub2

 
출처: http://xen-orchestra.com/2010/08/xen-4-on-squeeze-how-to/
 
 


 
Posted by 임장관입니다

댓글을 달아 주세요

  1. ugg boots 2013.07.24 19:09  댓글주소  수정/삭제  댓글쓰기

    지금은 반짝반짝 빛이 나겠지,, 하지만 시간이 흐르면 그빛은 사라저버릴거야,지금 우리처럼