'분류 전체보기'에 해당되는 글 261건

  1. 안드로이드 개발 - R.drawable.변수 R.string.변수 사용하기 1
  2. 안드로이드 개발(자바개발 포함) - 이클립스 소스 코드가 지저분할때
  3. 윈도우 꾸미기 - 윈도우에서 맥의 런치패드(LaunchPad) 사용하기 - XLaunchPad
  4. 안드로이드 개발 - 진저브레드(2.3) 이하 버전에서 리스트뷰 스크롤시 하얗거나 검게 변하는 문제 해결
  5. 안드로이드 앱 개발 - 배경을 연속된 패턴으로 바꾸기(android:background)
  6. 윈도우 꾸미기 - 윈도우 마우스 커서 바꾸기(꾸미기)(XP,Vista,7,8)
  7. 갤럭시 노트 U+ 젤리빈 MB2 투명테마(SystemUI.apk) - Neatly UI 10
  8. 안드로이드 개발 - String.xml 문자열/정수(숫자) 변수 설정하기
  9. 윈도우7 꾸미기 - 로그온(로그인) 시작 화면 바꾸기 16
  10. 안드로이드 개발 - String을 int로, int를 String으로 바꾸기
안드로이드 자바에서는 이미지나 문자열 리소스를 불러올때 R.drawable. 이나 R.string 을 사용합니다.
그런데 이미지나 문자열을 불러올때 이미지 이름이나 문자열 이름을 달리하여 변수로 사용하고 싶을 때가 있습니다.

예를들면 R.drawable.t_1 R.drawable. t_2  R.drawable.t_3 와 같이 규칙성있는 이미지같은걸 말합니다.

Drawable 그림파일 변수


    tmpSign = "n_"+ 변수;



// 가변 아이콘을 호출할 경우

int lid = this.getResources().getIdentifier(tmpSign, "drawable", this.getPackageName());

((ImageView)v.findViewById(R.id.iconView)).setImageResource(lid);


// 가변 아이콘을 호출할 경우

int lid = this.getResources().getIdentifier(tmpSign, "string", this.getPackageName());

String str = this.getString(lid); 혹은 this.getResouces().getString(lid); 

String 문자열 변수

 
int lid = getResources().getIdentifier("변수", "string", getPackageName());

tv_nation.setText( lid );    

그냥 lid를 사용하면 R.java에 저장되어있는 숫자 값으로 나옵니다.
따라서 getString(lid)로 표현해줘야만 문자열이 나옵니다.


도움이 되셨나요?
그럼 손가락을 눌러주세요:) 

자고로 깔끔하고 정돈된 소스코드는 개발의 속도와 효율성이 아주 높아질 뿐만 아니라 개발의 재미를 더 잘 느낄 수 있습니다.
저는 주로 안드로이드 앱 개발을 위해 이클립스를 사용하는데 작업하다보면 주석처리를 했음에도 불구하고 줄처리가 점점 지저분해짐을 느끼고 있었습니다.

 


안드로이드 개발(자바개발 포함) - 이클립스 소스 코드가 지저분할때

더욱 확실한 소스 코드 정리 방법이 없나 찾아보다가 이클립스 자체에서 소스코드 정리를 해주는 단축키가 있다는 것을 알게 되었습니다.

1. Windows의 경우
Ctrl + Shift + F

2. Mac의 경우
Command + Shift + F
위와 같은 방법으로 할시 소스코드의 줄정렬이 깔끔하게 자동으로 정리되는것을 볼 수 있습니다.




도움이 되셨나요?
그럼 손가락을 눌러주세요:) 

사람들이 주로 사용하는 윈도우와는 달리 맥에는 런치패드(LauncherPad)라는 런쳐가 있습니다.
아이폰, 아이패드와 같이 직관적이라서 사용하기 편하고 또한 트랙패드를 사용할 수 있다면 런치패드는 아주 편합니다.



하지만 윈도우8을 제외한 윈도우는 시작 메뉴가 유일한 런쳐이며 직관적이지가 않습니다.
이 이유가 아니더라도 맥처럼 꾸민다던지 한번 체험을 해보고 싶은 분들이 있을 수 있습니다.

윈도우에서도 LaunchPad를 써보자 - XLaunchPad
 

이 툴은 윈도우에서도 런치패드를 체험해볼 수 있게 맥의 런치패드를 모방한 유틸리티입니다.

1. 아래 파일을 다운로드한 후 실행해주세요.

 
2. 설치 환영 화면이 나옵니다. "Next"를 눌러주세요.

 
3. 계속 "Next" 누르다 보면 설치가 시작됩니다.


4. 설치하는 도중에 추가 프로그램을 설치하라고 하는데 광고이므로 "Decline"를 눌러주면 됩니다.

 

 5. 이 외에는 모두 "Next" 눌러주시면 되며 설치가 완료되면 바탕화면에 아래와 같은 아이콘이 생깁니다.


6. 이 아이콘을 더블클릭해 실행하면 맥의 런치패드와 같이 나타나는것을 볼 수 있습니다.



7. 바탕화면에 있는 XLaunchPad 아이콘을 작업 표시줄에 놓으면 더욱 쉽게 접근할 수 있습니다.

 

 

 
아이템 추가하기
 
런치패드에 자신이 원하는 프로그램이나 바로가기를 추가할 수 있습니다.

1. 런치패드를 실행한 뒤 아무데서나 오른쪽 버튼을 눌러주세요.



2. Add를 눌러 자신이 원하는 아이템을 추가하거나 Add에서 Window Mode를 통해 바탕화면에서 아이콘을 끌어올 수 있습니다.

 
위와 같은 방법으로 맥의 런치패드를 따라할 수 있습니다. 

 

도움이 되셨나요?
그럼 손가락을 눌러주세요:) 
안드로이드 진저브레드(2.3)의 상위 버전인 아이스크림 샌드위치나 젤리빈에서는 이런 현상이 없는데 유독 진저브레드 이하 버전에서는 리스트를 스크롤할 시에 배경이 보이지 않고 하얗거나 검게 변하는 현상이 있습니다.

이런 현상이 있는 이유는 스크롤 속도 최적화를 위해 있는 것인데, 오히려 스크롤이 부자연스러울 뿐더러 보기도 싫습니다.


안드로이드 개발 - 진저브레드(2.3) 이하 버전에서 리스트뷰 스크롤시 하얗거나 검게 변하는 문제 해결

1. 리스트뷰가 정의되어있는 레이아웃에 아래 구분을 추가해줍니다.


   android:cacheColorHint="#00000000" 

예시)
 
<ListView 

    android:id="@android:id/list"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:cacheColorHint="#00000000" 

    android:paddingLeft="@dimen/list_padding"

    android:paddingRight="@dimen/list_padding" />



2. 이 구문은 스크롤 캐시를 투명하게 함으로써 뒤 배경이 보이게 하는 것이므로, 이젠 진저브레드 이하의 운영체제에서도 잘 나오는 것을 확인할 수 있습니다.




도움이 되었나요?
그럼 손가락을 눌러주세요:) 
안드로이드에서 xml 에서 android:background를 통해 배경화면을 변경할 수 있습니다. 이런 경우에는 배경으로 지정된 사진을 화면에 맞게 늘여서 보여줍니다. 이게 그냥 사진이라면 상관 없지만 패턴같은 경우에는 적합하지 않습니다.

안드로이드 앱 개발 - 배경을 연속된 패턴으로 바꾸기(android:background)
 
1. drawable 폴더에 패턴 배경으로 쓸 이미지를 넣어 줍니다.(ex. drawable-xhdpi/back.png)


2. drawable 폴더에 새로운 background.xml 파일을 만들고 xml에다가 아래와 같은 구문을 넣어 줍니다.


<?xml version="1.0" encoding="UTF-8"?>

<bitmap xmlns:android="http://schemas.android.com/apk/res/android"

    android:src="@drawable/back" <-- 파일 이름

    android:tileMode="repeat"

/>


 
3. 배경을 지정할 래이아웃 xml에서 맨 위의 레이아웃 정의하는 부분에 아래 구문을 추가해줍니다.

  android:background="@drawable/background"  

예시 ) 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:background="@drawable/background"

    android:layout_height="match_parent" > 


4. 패턴 배경이 적용된 것을 확인할 수 있습니다.:)


도움이 되셨나요?
그럼 손가락을 눌러주세요:) 
아직까지는  터치 기반의 컴퓨터보다 마우스를 더 많이 사용하고 마우스를 활용해 컴퓨터를 사용합니다.
이때 커서가 중요한 역할을 하며, 지금까지 커서의 역할은 중요했습니다.


XP, Vista , 7, 8로 올라가면서 커서의 모양은 조금씩 달라졌지만, 너무 많이 봐서 질리거나 자신의 취향에 맞지 않을 수도 있습니다.

윈도우 꾸미기 - 윈도우 마우스 커서 바꾸기(꾸미기)(XP,Vista,7,8)


 1. 자신이 적용할 커서를 직접 구하거나, ThemeBox 사이트 커서 게시판(http://tarks.net/themeboxcursor)에서 자신이 원하는 커서를 골라 다운로드합니다.


[주의사항] 이 강좌는 윈도우 커서에만 해당합니다. 따라서 세부 메뉴 막대에서 "윈도우 커서" 항목을 선택해주세요



2. 여기서부터 설치 방법이 갈라집니다. 다운로드 받은 파일 폴더 속에 inf(설치 정보) 파일이 있느냐 없느냐의 따라 다릅니다.



inf 파일이 있는 경우


1. 만약에 있는 경우에는 설치가 더 쉬워집니다. 이 파일에서 마우스 오른쪽 버튼을 누른 후 설치를 눌러주세요.


2. XP : 제어판 -> 프린터 및 기타 하드웨어 -> 마우스(또는 제어판 -> 마우스)
     7/8 : 바탕화면 -> 개인설정정 -> 마우스 포인터 변경

에 가신 후 포인터 탭을 눌러주세요.



3. 기본 없음이라 되어있는 것을 클릭해 아까 설치한 마우스 팩을 선택해주세요.

 


4. 적용이나 확인을 누르면 선택한 마우스 커서로 바뀌는 것을 확인할 수 있습니다.


inf파일이 없는 경우


 이런 경우에는 수동으로 설정하는 방법밖엔 있지 않습니다.
 

 1.
XP : 제어판 -> 프린터 및 기타 하드웨어 -> 마우스(또는 제어판 -> 마우스)

     7/8 : 바탕화면 -> 개인설정정 -> 마우스 포인터 변경

으로 들어가서 자신이 바꿀 커서를 선택합니다.(보통 선택, 도움말, 선택, 백그라운드에서 작업...)

 
2. 찾아보기를 누른후 다운로드 받은 파일들 중에서 아까 선택한 것과 어울리는 커서를 선택해줍니다.
 


3. 자신이 선택한 커서로 바뀐것을 확인할 수 있습니다.



4. 이와 같은 방법으로 나머지 커서도 변경하여 줍니다.



도움이 되셨나요?
그럼 손가락을 눌러주세요:) 

Nesker 클릭 수가 500개가 넘어간다면
다른 기종이나 통신사용 테마도 제작합니다.

기존에 올렸던 장식겸/번인 방지겸 올렸던 갤럭시 노트 U+ UH24 투명테마(SystemUI.apk) [번인방지 테마](http://jhrun.tistory.com/103) 은 아이스크림 샌드위치 용이라 새롭게 출시된 젤리빈에는 적용이 되지 않습니다.

NeatlyUI - 갤럭시 노트 U+ 젤리빈 MB2용 투명테마(SystemUI.apk)

 
**여기에 있는 모든 작업은 루팅을 해야지  사용 가능합니다.**

이 버전의 SystemUI.apk는 갤럭시 노트 U+ 젤리빈 MB2을 위해서 제작되었으며 , 이전 버전인 UH24는 http://jhrun.tistory.com/103에서 가능합니다.

원문 확인 : 
http://jhrun.tistory.com/103



다운로드 및 적용법


**하기 전 주의사항**
먼저 루팅이 되있어야 하며 펌웨어랑 통신사 기종이 동일해야 합니다. 
만일을 위해 기존의 SystemUI.apk, SystemUI.odex 백업을 권장합니다. 



 0. 기본적으로 루트 익스플로러 같은 루트 탐색이 가능한 앱이 있어야 합니다.


1. 설치하시기 전에 /System/app 폴더의 SystemUI.apk와 SystemUI.odex를 백업하시는 것을 권장합니다.

2. SystemUI.apk를 다운로드후 휴대폰에 옮겨서 /system/app에다 복사/붙여넣기 해주시기 바랍니다.
SystemUI.odex는 삭제하시는걸 권장합니다.


3. 권한은 rw -r -r으로 설정해주세요

O O X
O X X
O X X

(O 표시가 체크된것)

루트 익스플로러의 경우 SystemUI.apk에서 롱 클릭을 한후 권한을 눌러 위와 같은 모양으로 설정해주시면 됩니다.

4. 재부팅 해줍니다.


적용이 잘 안되거나 어떻게 하는지 어려운 경우에는 댓글을 남겨 주시거나 인터넷에 SystemUI 적용법이라고 검색하시면 잘 나오니 참고하시기 바랍니다.


라이선스

 
일부 아이콘의 원저작자는 글쓴이가 아니기 때문에 자유롭게 퍼가거나 롬에 사용하셔도 상관은 없으나 출처나 제작자의 이름을 남겨주시면 감사하겠습니다.

(일부 아이콘의 원저작자 MIUI, From XDA) 




도움이 되셨나요?
그럼 손가락을 눌러주세요:) 

안드로이드 개발할시 주로 문자열을 string.xml 에서 관리합니다. 그런데 이 문자열 사이에 값이 달라지는 변수를 두고 싶을때가 있습니다.


(저 알림창에서의 변수는 10입니다.)

String.xml 문자열/정수 변수 설정하기 - 변수 설정하기
 

"[변수A]가 [변수B]에게 인사합니다." 할때 "변수A, B" 부분이 달라지게 하고 싶을때 :

String.xml
<string name="hello">%1$s가 %2$s에게 인사합니다.</string> 

 %1$s : string  (문자열일시)     %1$d : int   (숫자일시)


JAVA
그리고 자바에서는 아래와 같이 코드를 해줍니다.
Resources res = getResources();
String text = String.format(res.getString(R.string.hello), "아이", "선생님"); 




결과값 -> 아이가 선생님에게 인사합니다.




 
영어권에서 복수형 단어 처리하기

영문으로 할 때에는 여러개일 경우에는 s가 붙는 거처럼 복수형 형태가 되는 경우가 있습니다.

String.xml

  <plurals name="file">
        
<item quantity="one">One file found.</item>
        
<item quantity="other">%d files found.</item>
    
</plurals>
 

%s : string   (문자열일경우)    %d : int    (숫자일경우)



JAVA
String.format(getResources().getQuantityString(R.plurals.file, 2), 4);
출력-> 4 files found.
String.format(getResources().getQuantityString(R.plurals.file, 1), 4);
출력-> One file found. 









도움이 되셨나요?

그럼 손가락을 눌러주세요:)
 

 
컴퓨터를 시작하면서 매일 보는 로그온 화면, 한때는 신선하고 새로울 때도 있었지만 이제는 지루합니다. 자신만의 개성있는 로그온 화면으로 바꿀 수 있습니다.


윈도우7 꾸미기 - 로그온(로그인) 시작 화면 바꾸기

1. 아래 파일을 다운로드 받은 후 실행합니다.


2. "Change Logon Screen" 버튼을 눌러줍니다.



3. 자신이 원하는 사진을 선택해줍니다.



4. 아래와 같은 파일이 커 자동으로 줄이겠다는 메세지가 나올 수도 있습니다. "예"를 눌러줍니다.



5. 로그온 화면이 바뀐 것을 확인할 수 있습니다. 





도움이 되셨나요?
그럼 손가락을 눌러주세요:) 

문자열인 String과 정수를 나타내는 int를 서로 바꿔야할 때가 있습니다.
아래 코드는 서로 유형을 바꿔주는 코드입니다.

String -> int
 
      int numInt = Integer.parseInt(numStr);
        System.out.println(numInt);


Int -> String

     String numStr2 = String.valueOf(numInt);
        System.out.println(numStr2);
 


도움이 되셨나요?
그럼 손가락을 눌러주세요:)