'안드로이드' 카테고리의 다른 글
| face Detect & media 굿자료 (0) | 2012/01/20 |
|---|---|
| cocos2d - 물리엔진1 (0) | 2012/01/10 |
| c2dm 메세지 안갈때 처리 및 한글문제 처리 (0) | 2012/01/05 |
| 웹소켓 라이브러리 (0) | 2011/12/30 |
| coverflow (0) | 2011/12/29 |
| udp 음성 전송 (0) | 2011/12/29 |
'아이폰' 카테고리의 다른 글
| 앵그리버드 비스무리한거 (0) | 2012/01/13 |
|---|---|
| 텍스쳐패커 (0) | 2012/01/12 |
| core data (0) | 2012/01/12 |
| cocos2d 물리엔진2 (0) | 2012/01/10 |
| 빌드에러시. (0) | 2011/12/17 |
| audio library (0) | 2011/11/15 |
http://spritesheeteditor.com/download
'아이폰' 카테고리의 다른 글
| 앵그리버드 비스무리한거 (0) | 2012/01/13 |
|---|---|
| 텍스쳐패커 (0) | 2012/01/12 |
| core data (0) | 2012/01/12 |
| cocos2d 물리엔진2 (0) | 2012/01/10 |
| 빌드에러시. (0) | 2011/12/17 |
| audio library (0) | 2011/11/15 |
'아이폰' 카테고리의 다른 글
| 앵그리버드 비스무리한거 (0) | 2012/01/13 |
|---|---|
| 텍스쳐패커 (0) | 2012/01/12 |
| core data (0) | 2012/01/12 |
| cocos2d 물리엔진2 (0) | 2012/01/10 |
| 빌드에러시. (0) | 2011/12/17 |
| audio library (0) | 2011/11/15 |
'아이폰' 카테고리의 다른 글
| 텍스쳐패커 (0) | 2012/01/12 |
|---|---|
| core data (0) | 2012/01/12 |
| cocos2d 물리엔진2 (0) | 2012/01/10 |
| 빌드에러시. (0) | 2011/12/17 |
| audio library (0) | 2011/11/15 |
| easy-aac-compressed-audio-conversion-on-ios11 (24) | 2011/11/04 |
'안드로이드' 카테고리의 다른 글
| face Detect & media 굿자료 (0) | 2012/01/20 |
|---|---|
| cocos2d - 물리엔진1 (0) | 2012/01/10 |
| c2dm 메세지 안갈때 처리 및 한글문제 처리 (0) | 2012/01/05 |
| 웹소켓 라이브러리 (0) | 2011/12/30 |
| coverflow (0) | 2011/12/29 |
| udp 음성 전송 (0) | 2011/12/29 |
어플 -> c2dm -> 어플
다음과같은경우 구글 검색으로 얻을수 있는 소스로 수행해보면
한글 수신이 문제 없다.
하지만
어플 -> 별도서버 -> c2dm -> 어플
다음과 같이 서버로 메시지를 전송하고,
서버에서 c2dm 으로 전송하는 방법에서 한글이 보내지지 않았다.
http://www.xhost.co.kr/bbs/?id=iphone,16
다음 링크에서 curl 을 이용하여 c2dm 으로 전송하는 소스를 이용할때
한글이 전송 안되는 현상 발견
파일 문자셋을 바꾸고 별별짓을 해도 안됨..
그러다가
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://www.google.com/accounts/ClientLogin");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
$data = array('accountType' => 'HOSTED_OR_GOOGLE',
'Email' => '아이디',
'Passwd' => '비번',
'source'=>'test-1.0',
'service'=>'ac2dm');
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$result = curl_exec($ch);
$auth = substr(strstr($result, "Auth="), 5);
$auth = substr($auth, 0, strlen($auth)-1);
curl_setopt($ch, CURLOPT_URL, "https://android.apis.google.com/c2dm/send");
$data = "registration_id=등록아이디"."&collapse_key=1"."&data.msg=메세지";
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$headers = array(
"Content-Type: application/x-www-form-urlencoded",
"Content-Length: ".strlen($data),
"Authorization: GoogleLogin auth=$auth"
);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$result = curl_exec($ch);
echo $result."\n";
curl_close($ch);
위의 메세지를 담는 부분을 인코딩하니 해결..
다음과 같이 바꿔준다.
$data = "registration_id=등록아이디"."&collapse_key=1"."&data.msg=".urlencode($메시지);
저같이 고생하시는분들 없길 바라며...
원래 한글을 urlencode 하면 이상한 문자들이 나오는데,
c2dm 에서 재변환 하는 과정을 수행해 주나보다..
c2dm 전송 php 소스를 공개하신 로빈아빠님 감사드립니다.
원본이 아니었군요...;;
민상K 님 감사드립니다.
출처 : http://minsangk.com/blog/main/116
-------------------------------------------------------------------------------------------------------------------------------------------
추가사항
위으 소스로 push 를 빠르게 보내면 20개쯤 보내지고 잘 안보내지는 현상이 발생한다.
이유는 collapse_key=1
이것 때문인데
구글서버에서 이 키가 같은 값으로 계속오면
중복 메시지로 판단하고 연속으로 올 경우 무시해 버린단다.
이 키를 랜덤 숫자로 바꿔주면 매우 빠르게 보내도 처리해 준다.
srand((double)microtime()*1000000);
$collapse_key = rand(1,99);
$data = "registration_id=$phoneID"."&collapse_key=$collapse_key"."&data.msg=".urlencode($sendText);
이부분을 반드시 수정하여 사용하시길...
[출처] * 안드로이드 c2dm 한글문제|작성자 정상이
'안드로이드' 카테고리의 다른 글
| face Detect & media 굿자료 (0) | 2012/01/20 |
|---|---|
| cocos2d - 물리엔진1 (0) | 2012/01/10 |
| c2dm 메세지 안갈때 처리 및 한글문제 처리 (0) | 2012/01/05 |
| 웹소켓 라이브러리 (0) | 2011/12/30 |
| coverflow (0) | 2011/12/29 |
| udp 음성 전송 (0) | 2011/12/29 |
'안드로이드' 카테고리의 다른 글
| cocos2d - 물리엔진1 (0) | 2012/01/10 |
|---|---|
| c2dm 메세지 안갈때 처리 및 한글문제 처리 (0) | 2012/01/05 |
| 웹소켓 라이브러리 (0) | 2011/12/30 |
| coverflow (0) | 2011/12/29 |
| udp 음성 전송 (0) | 2011/12/29 |
| 안드로이드 차트 라이브러리 (0) | 2011/12/28 |
'안드로이드' 카테고리의 다른 글
| c2dm 메세지 안갈때 처리 및 한글문제 처리 (0) | 2012/01/05 |
|---|---|
| 웹소켓 라이브러리 (0) | 2011/12/30 |
| coverflow (0) | 2011/12/29 |
| udp 음성 전송 (0) | 2011/12/29 |
| 안드로이드 차트 라이브러리 (0) | 2011/12/28 |
| 안드로이드 스트리밍 동영상 서버 적용 (0) | 2011/12/27 |
'안드로이드' 카테고리의 다른 글
| 웹소켓 라이브러리 (0) | 2011/12/30 |
|---|---|
| coverflow (0) | 2011/12/29 |
| udp 음성 전송 (0) | 2011/12/29 |
| 안드로이드 차트 라이브러리 (0) | 2011/12/28 |
| 안드로이드 스트리밍 동영상 서버 적용 (0) | 2011/12/27 |
| m4a저장하기 (0) | 2011/12/26 |
'안드로이드' 카테고리의 다른 글
| coverflow (0) | 2011/12/29 |
|---|---|
| udp 음성 전송 (0) | 2011/12/29 |
| 안드로이드 차트 라이브러리 (0) | 2011/12/28 |
| 안드로이드 스트리밍 동영상 서버 적용 (0) | 2011/12/27 |
| m4a저장하기 (0) | 2011/12/26 |
| 로컬에 이미지파일 저장하기 (0) | 2011/12/26 |
'안드로이드' 카테고리의 다른 글
| udp 음성 전송 (0) | 2011/12/29 |
|---|---|
| 안드로이드 차트 라이브러리 (0) | 2011/12/28 |
| 안드로이드 스트리밍 동영상 서버 적용 (0) | 2011/12/27 |
| m4a저장하기 (0) | 2011/12/26 |
| 로컬에 이미지파일 저장하기 (0) | 2011/12/26 |
| C2DM (0) | 2011/12/26 |
public void startRecording() throws IOException {
recorder = new MediaRecorder();
path = "/sdcard/pithysongs_" + System.currentTimeMillis() + ".m4a";
String state = android.os.Environment.getExternalStorageState();
if (!state.equals(android.os.Environment.MEDIA_MOUNTED)) {
throw new IOException("SD Card is not mounted. It is " + state
+ ".");
}
recorder.setAudioSource(MediaRecorder.AudioSource.MIC);
recorder.setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP);
recorder.setAudioEncoder(MediaRecorder.AudioEncoder.AMR_NB);
recorder.setOutputFile(path);
recorder.prepare();
recorder.start();
}
http://stackoverflow.com/questions/7357826/how-can-i-record-audio-file-as-m4a-format '안드로이드' 카테고리의 다른 글
| 안드로이드 차트 라이브러리 (0) | 2011/12/28 |
|---|---|
| 안드로이드 스트리밍 동영상 서버 적용 (0) | 2011/12/27 |
| m4a저장하기 (0) | 2011/12/26 |
| 로컬에 이미지파일 저장하기 (0) | 2011/12/26 |
| C2DM (0) | 2011/12/26 |
| [안드로이드] 부팅 후 서비스 실행시키기 start service at boot (0) | 2011/12/26 |
'안드로이드' 카테고리의 다른 글
| 안드로이드 스트리밍 동영상 서버 적용 (0) | 2011/12/27 |
|---|---|
| m4a저장하기 (0) | 2011/12/26 |
| 로컬에 이미지파일 저장하기 (0) | 2011/12/26 |
| C2DM (0) | 2011/12/26 |
| [안드로이드] 부팅 후 서비스 실행시키기 start service at boot (0) | 2011/12/26 |
| [android] title bar에 그라데이션 배경색 넣기 (0) | 2011/12/26 |
'안드로이드' 카테고리의 다른 글
| m4a저장하기 (0) | 2011/12/26 |
|---|---|
| 로컬에 이미지파일 저장하기 (0) | 2011/12/26 |
| C2DM (0) | 2011/12/26 |
| [안드로이드] 부팅 후 서비스 실행시키기 start service at boot (0) | 2011/12/26 |
| [android] title bar에 그라데이션 배경색 넣기 (0) | 2011/12/26 |
| 에니메이션효과 (0) | 2011/12/26 |
http://susemi99.tistory.com/571
'안드로이드' 카테고리의 다른 글
| 로컬에 이미지파일 저장하기 (0) | 2011/12/26 |
|---|---|
| C2DM (0) | 2011/12/26 |
| [안드로이드] 부팅 후 서비스 실행시키기 start service at boot (0) | 2011/12/26 |
| [android] title bar에 그라데이션 배경색 넣기 (0) | 2011/12/26 |
| 에니메이션효과 (0) | 2011/12/26 |
| 안드로이드 스트리밍 플레이 (0) | 2011/12/26 |
'안드로이드' 카테고리의 다른 글
| C2DM (0) | 2011/12/26 |
|---|---|
| [안드로이드] 부팅 후 서비스 실행시키기 start service at boot (0) | 2011/12/26 |
| [android] title bar에 그라데이션 배경색 넣기 (0) | 2011/12/26 |
| 에니메이션효과 (0) | 2011/12/26 |
| 안드로이드 스트리밍 플레이 (0) | 2011/12/26 |
| android listview에서 클릭안될때 (0) | 2011/12/26 |
http://blog.daum.net/hopefullife/98
'안드로이드' 카테고리의 다른 글
| [안드로이드] 부팅 후 서비스 실행시키기 start service at boot (0) | 2011/12/26 |
|---|---|
| [android] title bar에 그라데이션 배경색 넣기 (0) | 2011/12/26 |
| 에니메이션효과 (0) | 2011/12/26 |
| 안드로이드 스트리밍 플레이 (0) | 2011/12/26 |
| android listview에서 클릭안될때 (0) | 2011/12/26 |
| intent에 object넘겨서 사용하는법 (0) | 2010/08/20 |
http://blog.daum.net/satomail/99
'안드로이드' 카테고리의 다른 글
| [android] title bar에 그라데이션 배경색 넣기 (0) | 2011/12/26 |
|---|---|
| 에니메이션효과 (0) | 2011/12/26 |
| 안드로이드 스트리밍 플레이 (0) | 2011/12/26 |
| android listview에서 클릭안될때 (0) | 2011/12/26 |
| intent에 object넘겨서 사용하는법 (0) | 2010/08/20 |
| 안드로이드에서 이미지 img태그 이미지를 사용할수 있게 하는 팁 (0) | 2010/07/30 |
http://www.androes.com/59
'안드로이드' 카테고리의 다른 글
| 에니메이션효과 (0) | 2011/12/26 |
|---|---|
| 안드로이드 스트리밍 플레이 (0) | 2011/12/26 |
| android listview에서 클릭안될때 (0) | 2011/12/26 |
| intent에 object넘겨서 사용하는법 (0) | 2010/08/20 |
| 안드로이드에서 이미지 img태그 이미지를 사용할수 있게 하는 팁 (0) | 2010/07/30 |
| Gallery, Camera 사용 (0) | 2010/07/23 |

