ClassLoader.getSystemClassLoader().getResource(".").getPath();

현재 working path가 아닌 jar파일의 path가 리턴된다.


'Java' 카테고리의 다른 글

[SWT] jar파일 안에 있는 이미지 로드  (0) 2015.04.27
Java 한글 입출력 깨지지 않는 법  (0) 2015.04.13
현재 디렉토리명 얻기  (0) 2015.04.09
Posted by 튼튼한노예
,
public static Image loadImage(String path, boolean inJar)
{
    Image newImage = null;

    try
    {
        if(inJar)
        {
            newImage = new Image(null, YOUR_MAIN_CLASS.class.getClassLoader().getResourceAsStream(path));
        }
        else
        {
            newImage = new Image(null, path);
        }
    }
    catch(SWTException ex)
    {
        System.out.println("Couldn't find " + path);
        e.printStackTrace();
    }

    return newImage;
}


getResourceAsStream(path) 함수를 이용해 불러와야 한다.

ResourceAsStream이 아닌 Resource는 URL만 리턴할 뿐이다.

'Java' 카테고리의 다른 글

jar파일의 현재 path 얻어내기  (0) 2015.04.30
Java 한글 입출력 깨지지 않는 법  (0) 2015.04.13
현재 디렉토리명 얻기  (0) 2015.04.09
Posted by 튼튼한노예
,
# -*- conding: utf-8 -*-
if __name__ == '__main__':
print("Hello World!")
혹은,
# coding=
if __name__ == '__main__':
print("Hello World!")

와 같이 최상단에 문자열 인코딩 방식을 정의해주면 해결된다.

(주석보다도 위에 위치해야 한다.)


Posted by 튼튼한노예
,

파일 입출력시 한글이 깨지는 경우가 있다.

이럴 경우에는 버퍼를 사용하고, 인코딩 방식을 바꾸어 주면 된다.


파일 읽기

BufferedReader reader = new BufferedReader(new InputStreamReader(new FileInputStream(path), "euc-kr"));


파일 쓰기

BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(path), "euc-kr"));


'Java' 카테고리의 다른 글

jar파일의 현재 path 얻어내기  (0) 2015.04.30
[SWT] jar파일 안에 있는 이미지 로드  (0) 2015.04.27
현재 디렉토리명 얻기  (0) 2015.04.09
Posted by 튼튼한노예
,

System.getProperty("user.dir");

String형태로 현재 실행되고 있는 곳의 디렉토리명을 얻을 수 있다.

'Java' 카테고리의 다른 글

jar파일의 현재 path 얻어내기  (0) 2015.04.30
[SWT] jar파일 안에 있는 이미지 로드  (0) 2015.04.27
Java 한글 입출력 깨지지 않는 법  (0) 2015.04.13
Posted by 튼튼한노예
,

가끔 adb push를 하면 별다른 문제가 없어보이는데도 permission denied 문제가 생기는 경우가 있다.

이런 경우에는 쓰기권한이 없어서 문제가 생기는 것이다.


문제 해결을 위해

1. adb shell에서

2. 루트유저(su)로 변환 후

3. chmod 777 /data/aaa 명령어를 입력

(/data/aaa는 권한을 주길 원하는 폴더)

해주면 된다.

'AOSP' 카테고리의 다른 글

안드로이드 /proc 파일 시스템  (0) 2015.07.28
[Smali] 문법정리  (0) 2015.05.15
fastboot 에 디바이스가 물리지 않을 때  (0) 2015.03.09
개발폰별 파일들  (0) 2015.03.05
AOSP 기본세팅  (0) 2015.03.04
Posted by 튼튼한노예
,

[Java] ResourceBundle (다국어 지원) - 클래스 패스 문제


ResourceBundle을 사용할 때, 가끔 아래와 같은 에러가 출력된다.

Err: java.util.MissingResourceException: Can't find bundle for base name ~~.~~ locale ko_KR 


대개 실행 시에 ClassLoader가 폴더 밖으로 접근할 수 없어서 권한 문제 때문에 에러가 나는 것이라고 한다.


해결 방법은 간단하다.

아래와 같이 프로젝트 옵션에서 '클래스폴더로 /locale 폴더를 추가'하면 끝.




Posted by 튼튼한노예
,

ANR 로그

카테고리 없음 2015. 4. 2. 11:34

ANR이란?

Application Not Responding (ANR)의 줄임말로 어플리케이션이 일정시간 동안 응답이 없을 경우 발생하는 현상을 말합니다.

무한루프가 돌거나 UI 쓰레드에서 오래 걸리는 작업을 할 경우 발생하는 다이얼로그가 바로 ANR dialog입니다.

ANR이 발생하면 안드로이드 파일 시스템에 data/anr/ 위치에 traces.txt라는 ANR발생 시점의 프로세스 상태에 관한 로그가 기록됩니다.

이건 모든 안드로이드 폰 공통이지만 안타깝게도 루트권한에서만 접근이 가능합니다.

보통은 synchronized가 걸려서 독점하고 있거나 혹은 생각없이 sleep을 처리해서 발생할 가능성이 큽니다.

traces.txt에 held by라는 단어가 핵심포인트가 됩니다.




Posted by 튼튼한노예
,

AOSP 빌드를 폰에 올리기 위해 fastboot 모드로 전환하면 폰이 물리지 않을 경우가 있다.

(<waiting for device> 메시지와 함께 무한로딩..)


이럴 경우에는 51-android.rules 에

SUBSYSTEMS=="usb", ATTRS{idVendor}=="18d1", MODE="0002" 를 추가해주고


'루트권한'으로 fastboot을 실행시켜주자.


'AOSP' 카테고리의 다른 글

[Smali] 문법정리  (0) 2015.05.15
adb push 입력시 permission denied 문제  (0) 2015.04.09
개발폰별 파일들  (0) 2015.03.05
AOSP 기본세팅  (0) 2015.03.04
AOSP kitkat(4.4) 빌드방법  (0) 2015.03.03
Posted by 튼튼한노예
,
  • ubuntu 14.04 LTS버전 / VMware 기준 복구법


UI가 통으로 날아가면 텅빈 바탕화면과 마주하게 된다. 원인은 unity 설정이 망가져서 그렇다고 한다. (아마 손님 계정으로 로그인하면 정상적인 화면이 보일거임...)

터미널도 작동하지 않아 멘붕하게 되는데, ctrl+alt+F1키로 복구창을 띄우고, 복구작업을 시작하게 된다.


  • 복구

1. unity를 대체할 새로운 툴 설치 (필자는 Compiz로 복구 성공)

2. 재부팅 후 로그인창에서 방금 설치한 UI로 로그인

3. 정상적으로 부팅되는 것을 확인 뒤, 유니티 트윅툴을 설치, 작동시켜준다.

sudo apt-get install unity-tweak-tool

unity-tweak-tool --reset-unity

(* 아마 ctrl+alt+f1으로 띄운 콘솔창에서는 이 명령어가 작동하지 않을 것)

4. sudo reboot 명령어를 통해 재부팅 후 기존 ui (unity)를 통해 로그인

5. 성공


  • 추가

아마 위의 복구과정에서 작업이 끝날 텐데, 여전히 복구가 되지 않는다면 3번의 과정이 끝난 뒤에 VMware툴도 다시 설치를 해보자. 확실하지는 않지만 관련이 있을수도 있을 것 같다.




Posted by 튼튼한노예
,