1. Android Open Source Project Site 에서 FullSource를 받는당(검색 검색)


2.  경로에 android 폴더와 com 폴더가 있는 폴더를 찾는다 


3. android-sdk-windows\platforms\android-8(자신이 현재 사용 중 인 SDK version) 폴더에 들어가서
    sources 라는 이름의 폴더를 만들어 준다.

4. sources 라는 폴더 안에 아까 압축을 풀었던 android 폴더와 com 폴더를 복사해서 붙여넣는다.


5. 사용 중인 프로젝트를 close project 한 후 다시 open project 한다.


::: 관련 파일 다운로드 :::

1. jadclipse

URL : http://jadclipse.sourceforge.net/wiki/index.php/Main_Page 
file : net.sf.jadclipse_3.x.x.jar
2. jad.exe
URL :  http://www.varaneckas.com/jad 

::: jar 파일 추가 :::
1. elclipse/plugin/ 에 다운로드 받은  net.sf.jadclipse_3.x.x.jar 파일을 추가
2. eclipse 재실행

::: jad.exe path 설정 :::
1. 재실행 후
2. Windows > Preferences > Java (expanding) > JadClipse 선택
3. Path to decompiler 에 다운로드 받은 jad.exe 의 위치를 입력
 






java split 공백

javascript 2012. 1. 3. 17:17 Posted by jiddong

스플릿 사용시 공백데이터를 주의해야한다. 

공백데이터를 스플릿으로 나눌시 데이터 갯수가 맞지 않음

제일 마지막에 오는 요소의 값이 없을 경우 그 요소를 무시하도록 되어 있음



StringTokenize


구분자 사이에 분해할 요소의 값이 존재하지 않으면 무시
완전하게 모든 요소의 값이 존재하는 경우라면 사용을 해도 되겠지만
가변적인 데이터라면 사용하기 꺼림직함

 

String.split(string text, int limite)

limit를 저정 하지 않았을 경우에는
제일 마지막에 오는 요소의 값이 없을 경우 그 요소를 무시하도록 되어 있음
  
limit를 지정 했을 경우 해당 숫자만큼만 분해.

limit는 분해를 한 후 얻고자 하는 String[]의 크기라고 보시면 됩니다.

limit가 분해하고자 하는 요소의 개수와 같거나 클 경우 배열의 개수만큼의 String[]을 되돌려 주지만, 요소의 개수보다 작을 경우 지정한 숫자만큼의 String[]으로 되돌려 줌

아래관련
소스들을 보시면 이해가능


관련 소스





  1.         public static void main(String[] args) {
  2.                 String recode = "a-b-c-d-e-f";
  3.                 String[] values = recode.split("-");
  4.                    System.out.print("length ::"+values.length + "\n");
  5.                                  
  6.                   for(int i=0 ; i<values.length ; i++) {
  7.                    System.out.print("values["+i+"]::["+values[i]+"]\n");
  8.                   }
  9.  
  10.         }
  11.        
  12.         //출력값
    스플릿된 갯수 만큼 length 가 나오고 있음
  13. length ::6
    values[0]::[a]
    values[1]::[b]
    values[2]::[c]
    values[3]::[d]
    values[4]::[e]
    values[5]::[f]

  14.  
  15. }

  1.         public static void main(String[] args) {
  2.                 String recode = "a-b-c-d-e-f--------"; 데이터가 없다면!!!!????
  3.                 String[] values = recode.split("-"); 리미트값 없음
  4.                    System.out.print("length ::"+values.length + "\n");
  5.                                  
  6.                   for(int i=0 ; i<values.length ; i++) {
  7.                    System.out.print("values["+i+"]::["+values[i]+"]\n");
  8.                   }
  9.  
  10.         }
  11.         
    split()함수에 Limite 값이 없기 때문에 값이 없는 데이터는 무시됨
    스플릿된 갯수 만큼 length 가 나오고 있음

    length ::6

  12. values[0]::[a]
    values[1]::[b]
    values[2]::[c]
    values[3]::[d]
    values[4]::[e]
    values[5]::[f]

  13.  
  14. }
 
  1.         public static void main(String[] args) {
  2.                 String recode = "a-b-c-d-e-f--------";
  3.                 String[] values = recode.split("-", 20); 리미트 값이 생겨땅!!!
  4.                    System.out.print("length ::"+values.length + "\n");
  5.                                  
  6.                   for(int i=0 ; i<values.length ; i++) {
  7.                    System.out.print("values["+i+"]::["+values[i]+"]\n");
  8.                   }
  9.  
  10.         }
  11.         
    split()함수에 limite 값이  있 기  때문에 값이 없는 데이터와 토큰뒤도 또한 스플릿데된 데이터로 나옴
    스플릿된 갯수 만큼 length 가 나오고 있음

    length ::14

  12. length ::14
    values[0]::[a]
    values[1]::[b]
    values[2]::[c]
    values[3]::[d]
    values[4]::[e]
    values[5]::[f]
    values[6]::[] //공백도 데이터로 본다 리미트가 있다면
    values[7]::[]
    values[8]::[]
    values[9]::[]
    values[10]::[]
    values[11]::[]
    values[12]::[]
    values[13]::[]


  13.  
  14. }
  

  1.         public static void main(String[] args) {
  2.                 String recode = "a-b-c-d-e-f- - - - - - - -"; 공백을 넣었당
  3.                 String[] values = recode.split("-");
  4.                    System.out.print("length ::"+values.length + "\n");
  5.                                  
  6.                   for(int i=0 ; i<values.length ; i++) {
  7.                    System.out.print("values["+i+"]::["+values[i]+"]\n");
  8.                   }
  9.  
  10.         }
  11.        

    split()함수에 Limite 값이 없기 때문에 마지막 토큰뒤에 값이 없는 데이터는 무시됨
  12. 스플릿된 갯수 만큼 length 가 나오고 있음

    length ::13 
    13 이 나오는 이유는 마지막 토큰 뒤에 데이터가 없기 때문에 스플릿이 제외됨
  13. values[0]::[a]
    values[1]::[b]
    values[2]::[c]
    values[3]::[d]
    values[4]::[e]
    values[5]::[f]
    values[6]::[ ]
    values[7]::[ ]
    values[8]::[ ]
    values[9]::[ ]
    values[10]::[ ]
    values[11]::[ ]
    values[12]::[ ]

  14.  
  15.  
  16. }


  1.         /**
  2.          * @param args
  3.          */
  4.         public static void main(String[] args) {
  5.                 String recode = "a-b-c-d-e-f- - - - - - - -";
  6.                 String[] values = recode.split("-"20);
  7.                    System.out.print("length ::"+values.length + "\n");
  8.                                  
  9.                   for(int i=0 ; i<values.length ; i++) {
  10.                    System.out.print("values["+i+"]::["+values[i]+"]\n");
  11.                   }
  12.  
  13.         }
  14.       
    split()함수에 Limite 값이 있기 때문에 마지막토큰 뒤에도 데이터가 있는것으로 간주함
  15. length : 14

  16.   
  17. length ::14
    values[0]::[a]
    values[1]::[b]
    values[2]::[c]
    values[3]::[d]
    values[4]::[e]
    values[5]::[f]
    values[6]::[ ]
    values[7]::[ ]
    values[8]::[ ]
    values[9]::[ ]
    values[10]::[ ]
    values[11]::[ ]
    values[12]::[ ]
    values[13]::[]

  18.  
  19.  
  20. }