'Development'에 해당되는 글 57건

  1. 안드로이드 개발 - 설치시 이클립스 Timeout 오류 해결하기
  2. 안드로이드 개발 - 이클립스(Eclipse)가 휴대폰을 인식하지 못하는 경우
  3. 안드로이드 개발 - 연락처 선택/정보 가져오기(ACTION_PICK) 4
  4. PHP 한글 깨짐현상 해결하기(html, mysql) 2
  5. 안드로이드 개발 - 안드로이드 TextView 자동 링크걸기[Linkify, Autolink](인터넷, 이메일, 지도, 전화번호)
  6. PHP 날짜/시간 함수
  7. [Android/JAVA] 자바 연산자(그리고, 또는, etc)를 사용하여 효과적으로 개발하기
  8. 안드로이드 개발 - 공유(Share) 기능 추가하기
  9. 안드로이드 개발 - R.drawable.변수 R.string.변수 사용하기 1
  10. 안드로이드 개발(자바개발 포함) - 이클립스 소스 코드가 지저분할때

안드로이드 어플리케이션 개발을 할 때 주로 이클립스를 자주 사용하는데요, 기기를 컴퓨터에 연결하여 작동시켜보는 방법으로 앱 테스트를 많이 합니다.

그런데 잘 작동하지 못하고 설치 도중에 아래 사진과 같이 'Fail too install... timeout' 이 뜨면서 설치가 되질 않습니다.




주로 APK의 용량이 크거나 테스트 폰이 저사양일 경우에 이런 현상이 일어나며, Timeout 시간 설정을 바꿔주는것으로 해결할 수 있습니다.



안드로이드 개발 - 설치시 이클립스 Timeout 오류 해결하기


1. 사과 옆의 이클립스 클릭후 > Preferences > Android > DDMS > ADB Connection time out (ms)의 숫자를 기존보다  5~10초(5000~10000)정도 더 늘려줍니다.

(윈도우의 경우에는 Window > Preferences > Android > DDMS > ADB Connection time out (ms)에서 하시면 됩니다.)





위 방법대로 하면 빌드가 잘 돼서 실행되는걸 볼 수 있습니다. 만약 안된다면 시간을 더 늘려보세요.








도움이 되셨나요?

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



실제 안드로이드 개발을 진행을 할때에는 주로 애뮬레이터보다는 실제 기기를 사용합니다. 그런데 이클립스가 기기를 인식 못하면 난감합니다.




안드로이드 개발 - 이클립스(Eclipse)가 휴대폰을 인식하지 못하는 경우


1. USB 디버 깅 
실제로 안되는 원인의 대다수는 개발자 설정의 USB 디버깅을 잊어먹고 키지 못한 경우입니다.
기초적인 내용이지만 실수할 때가 많습니다.
설정 -> 개발자 설정에서 USB 디버깅을 키면 해결됩니다.

 


2. ADB

(1)먼저 Android SDK Manager를 열어 업데이트를 시도해보세요.


(2) 윈도우인 경우 - 장치관리자를 열어 ADB 디바이스를 인식하는지 확인하세요.


인식하지 못한 디바이스가 있다면 오른쪽 클릭 -> 드라이버 업데이트 -> 자동으로 검색으로 안된다면 컴퓨터에서 드라이버 소프트웨어 찾아보기를 한후 경로를  Android SDK 폴더\extras\google\usb_driver로 지정해주시면 됩니다.


이렇게 하면 왠만한 문제는 거의 다 해결됩니다.

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

흔히 카카오톡 연락처 공유처럼 앱 개발시에 사용자가 직접 번호를 입력하는 불편함을 줄이기 위해서 연락처 선택 화면을 띄워야 하는 경우가 있습니다.



안드로이드 개발 - 연락처 선택/정보 가져오기(ACTION_PICK)

1. 버튼등 OnClickListener등에 넣어 연락처 선택 화면이 나오게 합니다.
Intent intent = new Intent(Intent.ACTION_PICK);
 intent.setData(ContactsContract.CommonDataKinds.Phone.CONTENT_URI);
         startActivityForResult(intent, 0);


2. 연락처 선택을 하면 결과값을 받아옵니다.
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
if(resultCode == RESULT_OK)
{
Cursor cursor = getContentResolver().query(data.getData(), 
new String[]{ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME
ContactsContract.CommonDataKinds.Phone.NUMBER}, null, null, null);
cursor.moveToFirst();
                  name = cursor.getString(0);        //0은 이름을 얻어옵니다.
           number = cursor.getString(1);   //1은 번호를 받아옵니다.
            cursor.close();
}
super.onActivityResult(requestCode, resultCode, data);
} 



참고한 사이트 : 
http://chonggi7.tistory.com/46



도움이 되셨나요?
그럼 손가락을 눌러주세요:)
 
PHP를 사용하여 개발하다보면, 한글로 된 값이 나올때도 있을 수 있습니다. 그런데 PHP를 통하면 DB에 깨져서 들어간다던지, 아니면 html 값이 깨질 때도 있습니다.

 
PHP 한글 깨짐현상 해결하기(html, mysql)

PHP를 통했을때 한글이 깨지는 현상 해결하는 방법엔 여러가지가 있습니다.
먼저 한글 깨지는 현상이 DB나 클라이언트 문제가 아닌 PHP가 원인인지 확인후 진행하는것이 좋습니다.
Mysql 입출력 방식이 문제였던 저 같은 경우에는 마지막 방법으로 성공하였습니다.

1. 인코딩 방식 통일(PHP 저장 방식, 웹 형식 모두 utf-8로 통일)


문서 저장 방식을 모두 하나로 통일하는 방법입니다.

2.  iconv() 사용

iconv("현재 인코딩", "바꿀 인코딩", 바꿀 문자열)

사용 예시 )
$ex = iconv("utf8", "euckr", $ex);

3. Mysql 입출력 인코딩을 지정
Mysql 연동을 한다면 입출력 인코딩이 달라서가 원인이 될 수 있다고 합니다.
아래 3줄의 소스를 추가함으로써 해결하였습니다.

mysql_query("set session character_set_connection=utf8;");

mysql_query("set session character_set_results=utf8;");

mysql_query("set session character_set_client=utf8;");


4. php가 출력하는 html을 utf-8로 변경

PHP에서 출력하는 html을 utf-8로 변경함으로써 해결합니다.
PHP내용 <?,?> 위 아래로 추가합니다.

<html>

<head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>

<body>

<?
PHP 내용
?> 

</body>

</html>



참고한 사이트 : 
http://ra2kstar.tistory.com/59




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

  

 
안드로이드에서 앱을 사용하다보면 인터넷 링크나, 전화번호 이메일 등 누르면 추가적인 액션을 할 수 있도록 링크가 걸어집니다.

저같은 경우도 TextView에 자동 링크를 어떻게 구현할까 고민하다가 다행이게도 자동 링크 기능이 안드로이드에 내장되어있다는 사실을 알게 되었습니다.


안드로이드 개발 - 안드로이드 TextView 자동 링크걸기[Linkify, Autolink](인터넷, 이메일, 지도, 전화번호)

Activity에서와 xml에서 자동 링크 설정을 정의할 수 있고 Linkify와 Autolink로 나뉩니다.

1. Activity(java)에서 자동링크 설정하기 - Linkify

사용 예제는 아래 내용과 같습니다.

==Example==

public class LinkifyActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        TextView txtPhone1 = (TextView)findViewById(R.id.txtPhone1);
        Linkify.addLinks(txtPhone1, Linkify.PHONE_NUMBERS);
        
        TextView txtPhone2 = (TextView)findViewById(R.id.txtPhone2);
        Linkify.addLinks(txtPhone2, Linkify.PHONE_NUMBERS);
        
        TextView txtWeb = (TextView)findViewById(R.id.txtWeb);
        Linkify.addLinks(txtWeb, Linkify.WEB_URLS);
    }
}


 
이 외에도 Linkify의 자동 링크 설정 종류입니다.

모든연결    => Linkify.ALL

e-mail      => Linkify.EMAIL_ADDRESSES

주소         => Linkify.MAP_ADDRESSES

인터넷 URL => Linkify.WEB_URLS

전화번호    => Linkify.PHONE_NUMBERS

TextView를 정의하고 자신이 자동링크를 걸 링크 종류를 지정해주시면 됩니다. ALL 같은 경우에는 전체 링크를 말합니다.

자동 링크를 거는 것에 대해 변수가 있다면 이 방법을 사용하는 것을 권장합니다.

2. xml(Layout)에서 자동링크 설정하기 - AutoLink
  
반면에 xml TextView에서 손쉽게 자동링크 기능 옵션을 추가할 수 있습니다.
TextView를 Activity에서 생성하는것 또는 자동링크를 지정하는데에 변수가 없다면 이 방법을 추천드립니다.

예제 :
 <TextView
  android:id="@+id/txtAutoWeb"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:autoLink="web"
  android:text="http://tarks.net" />

 
  TextView에 android:autolink=""을 삽입하는 방법으로 자동링크 유형을 지정합니다.

자동링크 유형입니다. 자신에 알맞은 유형을 선택하여 TextView에 정의해주시면 됩니다.

NONE        => android:autoLink="none"

e-mail      => android:autoLink="email"

주소         => android:autoLink="map"

인터넷 URL => android:autoLink="web"

전화번호    => android:autoLink="phone"

모든연결    => android:autoLink="all"

참고한 사이트

http://blog.naver.com/PostView.nhn?blogId=ovter&logNo=135936941



이런 방법으로 한후 문자열 중에 링크가 있을때 자동링크처리가 되는걸 확인하실 수 있습니다.


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


PHP 코드를 작성할때 날짜나 시간 데이터가 필요한 경우가 있습니다. 아래 함수는 PHP에서 날짜나 시간 데이타를 추출해 내는 코드입니다.

현재 날짜와 시간

date("Y-m-d H:i:s");

//현재 날짜/시간을 포맷(fotmat)에 맞게 date형식으로 출력합니다.

(24시간제로 시간을 출력)

결과 : 2013-06-13 12:00:00 

 

date("Ymd")

//현재 날짜/시간이 출력됨

//예제 : 20070801

 

date("Y-m-d h:i:s");

//현재 날짜/시간을 포맷(fotmat)에 맞게 date형식으로 출력합니다.

(12시간제로 시간을 출력)

 

date("h:i:s");

-- 현재 시간이 출력됨

 

date("Y-m-d H:i:s",time());

//현재 두번째 매개변수을 timestamp형식으로 읽어 날짜/시간을 포맷(fotmat)에 맞게

//date형식으로 출력합니다.

 

date("Y-m-d",strtotime ("-1 months"));

//현재의 날짜인 time형식에서 strtotime에 의해 한달을 뺀 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+1 days"));

//현재의 날짜인 time형식에서 strtotime에 의해 하루를 더한 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+1 years"));

//현재의 날짜인 time형식에서 strtotime에 의해 1년을 더한 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+24 hours"));

//현재의 날짜인 time형식에서 strtotime에 의해 24시간을 더한 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+1500 minutes"));

//현재의 날짜인 time형식에서 strtotime에 의해 1500분을 더한 time을 date형식으로 변환

 

date("Y-m-d",strtotime ("+1 week"));

//현재의 날짜인 time형식에서 strtotime에 의해 1주일을 더한 time을 date형식으로 변환

 

date("Ymd",strtotime ("-1 days", strtotime('20070819')));

date("Ymd",strtotime ("-1 days", strtotime('2007-08-19')));

// 20070819의 날짜를 timestamp형식으로 변환후 1일을 빼고 다시 timestamp형식으로 변환후

Ymd 형식의 문자열로 출력

 

※ 날짜 형식은 -을 넣거나 빼야 한다. 다른 특수문자는 안됨(2007:08:12)

 

date("Ymd",strtotime ("+1 days",  strtotime('20070819')));

date("Ymd",strtotime ("+1 days",  strtotime('2007-08-19')));

// 20070819의 날짜를 timestamp형식으로 변환후 1일을 더한후 다시 timestamp형식으로 변환후

Ymd 형식의 문자열로 출력

 

※ date 함수의 2번째 인자는 timestamp 형입니다.

※ strtotime 함수의 2번째 인자는 timestamp 형입니다.

 

date( "Y-m-d\TH:i:s", strtotime('20070101040404') );

//정상적으로 처리안됨

date( "Y-m-d\TH:i:s", strtotime('2007-01-01 04:04:04') );

//정상적으로 처리됨(제트센스 rss에서 사용)

 

$timestamp=strtotime('+1 years +1 months +1 days');

//현재 날짜/시간에 years months days hours minutes seconds 단위로 더하여

//timestamp형식으로 리턴합니다.(매개변수 없이 사용불가)

 

문자형 날짜와 문자형 날짜 사이의 일수 구하기

 

<?

echo (strtotime('20070803') - strtotime('20070801'))/60/60/24;

?>

# 2 출력됨

# 문자형 날짜를 초로 계산하여 뺀다음에 일자로 변환해줌(그나마 가장 정확함)

 

응용 함수 모음

 

//오늘 날짜부터 지정한 일수(day)후의 날짜로 timestamp형식으로 출력하기

function plus_day($day)

{

 return mktime(0,0,0,date("m"),date("d")+$day,date("Y"));

}

 

//한줄로 오늘 날짜 시간 뽑아오기

<?

 list($y,$m,$d,$h,$i,$s) = explode(" ",date("Y m d h i s"))

?>


출처 및 참고 사이트 
 
http://zetswing.com/bbs/board.php?bo_table=PHP_LEC&wr_id=13&page=2



도움이 되셨나요?
그럼 손가락을 눌러주세요:)
 
단순한 어플리케이션을 만들때에는 굳이 사용할 필요가 없지만 논리적 연산을 많이 해야하거나, 조건이 많은 앱이라면 연산자가 필요할 때가 있습니다.

 저는 주로 이항, 관계, 동등, 논리 연산자를 많이 사용하고, 또 많이 사용됩니다.(아래참조)

다양한 연산자들

 

1. 산술 연산자(Arithmetic Operators)

 

산술 연산을 수행하는 연산자를 말하며, 다른 언어에서 사용되는 사칙 연산자와 기능 및 서식 형태가 큰 차이가 없다. 이러한 산술 연산자는 이항 연산자, 부호 연산자, 증감 연산자 등으로 구별된다.

 

 

이항 연산자(Binary Operators)

연산자

의 미

사용 예

+

덧셈 연산자(Additive operator)

a=b+c;

b와 c를 더한 값을 a에 대입

-

뺄셈 연산자(Subtraction operator)

a=b-c;

b에서 c를 뺀 값을 a에 대입

*

곱셈 연산자(Multiplication operator)

a=b*c;

b와 c를 곱한 값을 a에 대입

/

나눗셈 연산자(Division operator)

a=b/c;

b에서 c를 나눈 값을 a에 대입

%

나머지 연산자(Remainder operator)

a=b%c;

b에서 c를 나눈 나머지 값을 a에 대입

 

부호 연산자(Sign Operators)

연산자

의 미

사용 예

+

양수 연산자(Unary plus operator)

b = +a;

양수임을 의미

-

부호의 반전(Unary minus operator)

b = -a;

  <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><?xml:namespace prefix = o />

 

증감 연산자(Increment/Decrement Operators)

연산자

의 미

사용 예

++

증가 연산자(increment operator)

a++; 또는 ++a;

a=a+1; 과동일

--

감소 연산자(decrement operator)

a--; 또는 --a;

a=a-1; 과동일

 

산술 연산자의 우선순위와 결합성

연산자 우선순위

연산자

결합성

-(단항), ++, --

우에서 좌로

*, /, %

좌에서 우로

+, -

좌에서 우로

=

우에서 좌로

         ※결합성이란 동일한 우선순위를 갖는 연산자들이 어느 방향으로 결합하는가를 결정

 

 

 

 

 

2. 관계 및 논리연산자

 

자바에서는 C/C++언어와는 다르게 모든 비교 및 논리 연산 식에 대한 결과는 참(true)이나 거짓(false)으로 처리한다.

 

 

관계 연산자(Relational operators)

연산자

의 미

사용 예

<

~ 보다 적다.

a < b

a가 b보다 적으면 true, 그렇지 않으면 false

<=

~ 보다 적거나 같다.

a <= b

a가 b보다 적거나 같으면 true, 그렇지 않으면 false

>

~ 보다 크다.

a > b

a가 b보다 크면 true, 그렇지 않으면 false

>=

~ 보다 크거나 같다.

a >= b

a가 b보다 크거나 같으면 true, 그렇지 않으면 false

 

동등 연산자(Equality operators)

연산자

의 미

사용 예

==

~ 와 같다.

a == b

a와 b가 같으면 true, 그렇지 않으면 false

!=

~ 와 같지 않다.

a != b

a와 b가 같지 않으면 true, 그렇지 않으면 false

 

논리 연산자(Conditional Operators)

연산자

의 미

사용 예

&&

AND(논리곱)

a && b

a와 b가 참이면 true, 그렇지 않으면 false

||

OR(논리합)

a || b

a 또는 b가 참이면 true, 그렇지 않으면 false

 

논리 부정 연산자(Logical complement operator)

연산자

의 미

사용 예

!

NOT(논리 부정)

!a

a가 거짓이면 true, 참이면 false

 

instanceof 연산자

객체명 instanceof 클래스명

객체명 instanceof 인터페이스명




3. 비트 단위 연산자(bitwise operators)

 

시스템 프로그램이나 게임 프로그램 등을 개발할 경우에는 각 비트들을 조작해야 하는 경우가 발생할 수 있다. 따라서 java는 각 비트에 접근하기 위해 비트 단위 연산자를 제공하며 비트 단위 연산자는 연산의 대상이 비트(bit)단위로 이루어지므로 먼저 연산 대상을 2진수로 변환하여 연산을 해야 한다.

또한 비트 단위 연산자는 피연산자로 double 또는 float 형을 제외한 산술 형 데이터를 취한다.

 

 

비트 단위 부정 연산자(Unary bitwise complement)

연산자

의 미

사용 예

~

해당 비트를 반전(0→1, 1→0)

b = ~a;

a값을 비트 단위로 반전시켜 b에 대입

 

비트 단위 논리 연산자

연산자

의 미

사용 예

&

비트 단위 AND

c = a & b;

a 와 b를 비트단위 AND 연산 후 c에 대입

|

비트 단위 OR

c = a | b;

a 와 b를 비트단위 OR 연산 후 c에 대입

^

비트 단위 Exclusive OR

c = a ^ b;

a 와 b를 비트단위 XOR 연산 후 c에 대입

■ 비트 단위 논리 연산자의 진리표

a

b

a & b

a | b

a ^ b

0

0

0

0

0

0

1

0

1

1

1

0

0

1

1

1

1

1

1

0

 

비트 단위 이동 연산자

연산자

의 미

사용 예

>>

산술적 우측 Shift 연산자

c = a >> b;

a를 2진수로 변환 후 b 비트만큼 우측으로 이동

(이동으로 생긴 왼쪽 자리는 MSB(부호)로 채움)

<<

산술적 좌측 Shift 연산자

c = a << b;

a를 2진수로 변환 후 b 비트만큼 좌측으로 이동

(이동으로 생긴 우측 자리는 0으로 채움)

>>>

논리적 우측 Shift 연산자

c = a >>> b;

a를 2진수로 변환 후 b 비트만큼 우측으로 이동

(이동으로 생긴 왼쪽 자리는 0으로 채움)

 

 

 

 

 

4. 대입 연산자(assignment operators)

 

대입 연산자 『=』는 그 좌우의 값이 서로 같다(equal)는 수학적인 의미가 아닌, 우측의 값을 좌측에 대입(assign)한다는 의미를 갖고 있다.

 

연산자

의 미

사용 예

=

우변의 값을 좌변에 대입

a=b;

 

+=

좌변과 우변의 값을 더해서 좌변에 대입

a+=b;

a=a+b; 와 동일

-=

좌변에서 우변의 값을 뺀 후 좌변에 대입

a-=b;

a=a-b; 와 동일

*=

좌변과 우변의 값을 곱해서 좌변에 대입

a*=b;

a=a*b; 와 동일

/=

좌변에서 우변의 값을 나눈 후 좌변에 대입

a/=b;

a=a/b; 와 동일

%=

좌변에서 우변의 값을 나눈 나머지를 좌변에 대입

a%=b;

a=a%b; 와 동일

<<=

좌변 값을 우변 수만큼 비트단위로 좌측 이동한 값을 좌변에 대입

a<<=b;

a=a<<b; 와 동일

>>=

좌변 값을 우변 수만큼 비트단위로 우측 이동한 값을 좌변에 대입(빈 공간은 MSB로 채움)

a>>=b;

a=a>>b; 와 동일

>>>=

좌변 값을 우변 수만큼 비트단위로 우측 이동한 값을 좌변에 대입(빈 공간은 0으로 채움)

a>>>=b;

a=a>>>b; 와 동일

&=

좌변과 우변의 값을 비트단위 AND 연산 후에 좌변에 대입

a&=b;

a=a&b; 와 동일

^=

좌변과 우변의 값을 비트단위 배타적 OR 연산 후에 좌변에 대입

a^=b;

a=a^b; 와 동일

|=

좌변과 우변의 값을 비트단위 OR 연산 후에 좌변에 대입

a|=b;

a=a|b; 와 동일

 

 

조건 연산자(Conditional operator)

 

조건 연산자는 삼항 연산자 또는 선택 연산자라 하며, 자바 언어 중 유일하게 피연산자(오퍼랜드)가 3개 필요한 연산자이다.

 

변수 = 조건식 ? 값1 : 값2;

조건식을 판단하여 조건식이 참이면 『값 1』을, 조건식이 거짓이면 『값 2』를 갖는다.

 

■ 사용 예

max = x > y ? x : y;

x 변수의 값이 y 변수의 값보다 크면 x를, 그렇지 않으면 y를 max에 대입한다.

일부 출처 : http://goldenpig.egloos.com/3032166 


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


안드로이드의 어떤 앱은 "공유(Share)"이라는 기능이 있는데, 이 기능은 데이터를 다른 앱들에게 나누어 쓰게 하는 것입니다.
 자신이 지정한 데이터를 다른 앱으로 보내고 싶을때 사용할 수 있습니다.


안드로이드 개발 - 공유(Share) 기능 추가하기

 다음과 같은 소스를 추가하면 공유할 앱을 지정하는 선택화면이 뜨게 할 수 있습니다.

Intent msg = new Intent(Intent.ACTION_SEND);

msg.addCategory(Intent.CATEGORY_DEFAULT);

msg.putExtra(Intent.EXTRA_SUBJECT, "주제");

msg.putExtra(Intent.EXTRA_TEXT, "내용");

msg.putExtra(Intent.EXTRA_TITLE, "제목");

msg.setType("text/plain");    

startActivity(Intent.createChooser(msg, "공유"));

 
이렇게 해서 카카오스토리에 공유해 본 결과 결과값은

"주제 - 내용" 이렇게 결과값이 나왔습니다.




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

 

 
안드로이드 자바에서는 이미지나 문자열 리소스를 불러올때 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
위와 같은 방법으로 할시 소스코드의 줄정렬이 깔끔하게 자동으로 정리되는것을 볼 수 있습니다.




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