'Development/Android'에 해당되는 글 19건

  1. 안드로이드 개발 - 소프트키에서만 나타나는 Overflow메뉴 일반 기기에서도 활성화하기 (1)
  2. 안드로이드 개발 - 비트맵(Bitmap) 비율 맞추면서 크기 줄이기(썸네일 생성)
  3. 안드로이드 개발 - ImageView 다양한 표시 방법 android:scaleType
  4. 안드로이드 개발 - 파일(File) 유무 확인하기
  5. 안드로이드 개발 - 비트맵을 파일로 변환하기(Bitmap to file)
  6. 안드로이드 개발 - 설치시 이클립스 Timeout 오류 해결하기
  7. 안드로이드 개발 - 연락처 선택/정보 가져오기(ACTION_PICK) (3)
  8. 안드로이드 개발 - 안드로이드 TextView 자동 링크걸기[Linkify, Autolink](인터넷, 이메일, 지도, 전화번호)
  9. [Android/JAVA] 자바 연산자(그리고, 또는, etc)를 사용하여 효과적으로 개발하기
  10. 안드로이드 개발 - 공유(Share) 기능 추가하기

안드로이드 기기 버튼의 종류는 전면에 버튼이 없는 소프트키 기기와 메뉴, 홈, 뒤로가기 키 같이 하드웨어 키로 이루어진 경우로 나누어집니다.

근데 소프트키의 대부분은 하드웨어의 메뉴 버튼이 멀티태스킹 버튼으로 대체하기 때문에 메뉴 키가 따로 없습니다.


그래서 소프트키가 있는 휴대폰은 상단에 Overflow 메뉴가 나타납니다.(점 땡땡땡)





하지만 이 메뉴는 하드웨어키를 사용하는 기기에는 보이지 않습니다.


메뉴키가 하단에 이미 있기 때문에 크게 상관은 없지만 UI 일관성에는 별로 좋지 않습니다.




안드로이드 개발 - 소프트키에서만 나타나는 Overflow메뉴  일반 기기에서도 활성화하기



앱을 로드하는 맨 처음 액티비티에 몇줄의 코드에 삽입함으로써 이 문제를 해결할 수 있습니다.

일반 하드웨어키를 사용하는 기기에서도 소프트웨어 키를 사용하는 기기같이 상단에 Overflow 메뉴가 나타납니다.




  
	try {
	        ViewConfiguration config = ViewConfiguration.get(this);
	        Field menuKeyField = ViewConfiguration.class.getDeclaredField("sHasPermanentMenuKey");
	        if(menuKeyField != null) {
	            menuKeyField.setAccessible(true);
	            menuKeyField.setBoolean(config, false);
	        }
	    } catch (Exception ex) {
	        // Ignore
	    }






도움이 되셨나요?

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

저작자 표시 비영리 동일 조건 변경 허락
신고

안드로이드에서 이미지 파일을 표시할때나,다룰때 파일 크기가 너무 커면 느려진다거나, 스크롤이 버벅이는등의 현상이 일어납니다.

크기가 작은 이미지 파일을 생성함으로써, 위의 문제를 어느정도 해결할 수 있습니다.


안드로이드 개발 - 비트맵(Bitmap) 비율 맞추면서 크기 줄이기(썸네일 생성)



  
	// Bitmap to File
//bitmap에는 비트맵, strFilePath에 는 파일을 저장할 경로, strFilePath 에는 파일 이름을 할당해주면 됩니다.
		public static void createThumbnail(Bitmap bitmap, String strFilePath,
				String filename) {
			
			File file = new File(strFilePath);

			// If no folders
			if (!file.exists()) {
				file.mkdirs();
				// Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show();
			}
			File fileCacheItem = new File(strFilePath + filename);
			OutputStream out = null;
			



			try {
				
				int height=bitmap.getHeight();
				int width=bitmap.getWidth();
				
				
				fileCacheItem.createNewFile();
				out = new FileOutputStream(fileCacheItem);
//160 부분을 자신이 원하는 크기로 변경할 수 있습니다.
				bitmap = Bitmap.createScaledBitmap(bitmap, 160, height/(width/160), true);
				bitmap.compress(CompressFormat.JPEG, 100, out);
			} catch (Exception e) {
				e.printStackTrace();
			} finally {
				try {
					out.close();
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		}



위의 방법으로 하면 자신이 원하는 경로에 썸네일 파일을 생성할 수 있습니다.

Sdcard 경로에 저장하는 경우에는 아래 권한을 할당해 주어야 합니다.


   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />









도움이 되셨나요?

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

저작자 표시 비영리 동일 조건 변경 허락
신고

안드로이드 어플리케이션 개발 시 ImageView를 많이 사용하는 경우가 많은데 android:scaleType 속성을 쓰면 이미지의 다양한 표시 효과를 나타낼 수 있습니다.(늘이기, 가운데 자르기 등)





안드로이드 개발 - ImageView 다양한 표시 방법 android:scaleType


Scaltype에는 8가지 종류가 있습니다.  


1. matrix(원본 그대로)


2. center(가운데 정렬)


3. centerCrop(비율을 유지하며 가운데를 중심으로 자른다.)


4. centerInside(비율을 유지하며 줄어듬)


5. fitStart(왼쪽 위 정렬/ 비율유지)


6. fitCenter(centerInside와 동일)


7. fitEnd(왼쪽 아래 정렬 / 비율유지)


8. fitXY(늘이기 ImageView를 비율에 상관없이 다 채웁니다.)



xml인 경우 속성값에 있는 값을  android:scaleType="값" 안에다 넣어주는 방식으로 하면 됩니다.

java 코드인 경우 imageView.setScaleType(ImageView.ScaleType.값); 으로 하면 됩니다.

자세한 것은 아래 표를 참조하세요

속성값

java

설명

matrix

setScaleType(ImageView.ScaleType.MATRIX)

원본 크기 그대로 보여줌 (왼쪽 상단 정렬)

Center

setScaleType(ImageView.ScaleType.CENTER)

원본 크기 그대로 보여줌 (가운데정렬)

centerCrop

setScaleType(ImageView.ScaleType.CENTER_CROP)

View 영역에 공백이 있으면 채워서 보여줌(비율유지)

centerInside

setScaleType(ImageView.ScaleType.CENTER_INSIDE)

View 영역을 벗어나면 맞춰서 보여줌(비율유지)

fitStart

setScaleType(ImageView.ScaleType.FIT_START)

View 영역에 맞게 보여줌 (왼쪽상단 정렬비율유지)

fitCenter

setScaleType(ImageView.ScaleType.FIT_CENTER)

View 영역에 맞게 보여줌 (가운데정렬비율유지)

fitEnd

setScaleType(ImageView.ScaleType.FIT_END)

View 영역에 맞게 보여줌 (왼쪽하단 정렬비율유지)

fitXY

setScaleType(ImageView.ScaleType.FIT_XY)

View 영역을 가득 채워서 보여줌(비율유지 안함)

(표 출처 : http://blog.naver.com/PostView.nhn?blogId=a1178626&logNo=150162250548)








도움이 되셨나요?

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

저작자 표시 비영리 동일 조건 변경 허락
신고

안드로이드 개발을 하다보면 Sdcard 또는 앱 데이타 폴더에 파일이 이미 있는지 확인해야 할 때가 있습니다. 간단한 코드로 파일의 유무를 쉽게 확인할 수 있습니다.


안드로이드 개발 - 파일(File) 유무 확인하기



  
//path 부분엔 파일 경로를 지정해주세요.
File files = new File(path);
      //파일 유무를 확인합니다.
 if(files.exists()==true) {
//파일이 있을시
} else {
//파일이 없을시
}








도움이 되셨나요?

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

저작자 표시 비영리 동일 조건 변경 허락
신고

안드로이드에서 Bitmap을 Sdcard 같은 저장장치에 파일로 저장할 필요성이 있을 때가 있습니다.

간단한 함수로 파일로 저장이 가능합니다.


안드로이드 개발 - 비트맵을 파일로 변환하기(Bitmap to file)


1. 아래와 같은 함수를 등록해줍니다.


 
// Bitmap to File
	public  void SaveBitmapToFileCache(Bitmap bitmap, String strFilePath,
			String filename) {

		File file = new File(strFilePath);

		// If no folders
		if (!file.exists()) {
			file.mkdirs();
			// Toast.makeText(this, "Success", Toast.LENGTH_SHORT).show();
		}

		File fileCacheItem = new File(strFilePath + filename);
		OutputStream out = null;

		try {
			fileCacheItem.createNewFile();
			out = new FileOutputStream(fileCacheItem);

			bitmap.compress(CompressFormat.JPEG, 100, out);
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			try {
				out.close();
			} catch (IOException e) {
				e.printStackTrace();
			}
		}
	}



2. 함수를 호출할 때에는 아래와 같이 호출합니다.(bitmap에는 비트맵, strFilePath에는 파일 경로, filename에는 파일 이름으로 사용할할 문자열을 지정해주면 됩니다.


SaveFileToFileCache(bitmap, strFilePath, filename);






도움이 되셨나요?

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

저작자 표시 비영리 동일 조건 변경 허락
신고

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

그런데 잘 작동하지 못하고 설치 도중에 아래 사진과 같이 '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)에서 하시면 됩니다.)





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








도움이 되셨나요?

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



저작자 표시 비영리 동일 조건 변경 허락
신고
흔히 카카오톡 연락처 공유처럼 앱 개발시에 사용자가 직접 번호를 입력하는 불편함을 줄이기 위해서 연락처 선택 화면을 띄워야 하는 경우가 있습니다.



안드로이드 개발 - 연락처 선택/정보 가져오기(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



도움이 되셨나요?
그럼 손가락을 눌러주세요:)
 
저작자 표시
신고
안드로이드에서 앱을 사용하다보면 인터넷 링크나, 전화번호 이메일 등 누르면 추가적인 액션을 할 수 있도록 링크가 걸어집니다.

저같은 경우도 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



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


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


저작자 표시
신고
단순한 어플리케이션을 만들때에는 굳이 사용할 필요가 없지만 논리적 연산을 많이 해야하거나, 조건이 많은 앱이라면 연산자가 필요할 때가 있습니다.

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

다양한 연산자들

 

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, "공유"));

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

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




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

 

 
저작자 표시
신고