반응형
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 게임
- 스랄 특성
- 벨팡
- TCP 네트워크 방식의 연결
- 소캣(Socket)
- 리눅스
- 비행기 모드
- unity
- 기업의 행포
- End of Darkness
- 명령어
- 컬렉션 프레임
- 어플
- 히오스
- 아이패드
- Collection Framework
- 안드로이드 Application Lifecycle
- 아이폰
- 나지보 특성
- game
- 포트(Port)
- php 홈디렉토리 변경방법
- 집 정리
- tcp네트워크
- 에셋
- 변경된 정보
- tcp
- 안드로이드
- 나지보
- 자바
Archives
- Today
- Total
Do Something IT
[안드로이드] 벨소리 설정법 본문
반응형
Code Endprivate Runnable BuyTheMusic = new Runnable() { public void run() { //TODO 파일을 다운로딩하는 스레드 //URL 생성 tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); DownloadURL = "http://smartring.wiz.co.kr/bell/wiz_009.asp?key=" + CyptoPhone + "&id=" + CyptoLid + "&subno=" + SelectURL; switch (SelectURL) { case 1: mp_text = "_후렴"; break; case 2: mp_text = "_앞부분"; break; case 3: mp_text = "_뒷부분"; break; default: mp_text = ""; break; } //파일 정보 설정 k = new File("/sdcard/wiz/bellmusic",music.getSongName() +"-"+music.getSingerName() + mp_text + ".mp3"); try { inputStream = new URL(DownloadURL).openStream(); songTitle = music.getSongName(); artist = music.getSingerName(); myDuration = 0; // 만약 파일 디스크립트가 존재 하지 않는다면 if (!k.isFile()) { // 파일이 속한 부모폴더의 경로를 가져와서 부모의 파일 디스크립터를 만든다. File fParent = new File(k.getParent()); // 부모가 없다면 if (!fParent.exists()) { // 부모 파일 디스크립터를 가져와서 새로운 디스크립터를 만든다. File wizRoot = new File(fParent.getParent()); // 새로운 디스크립터가 없다면 if (!wizRoot.exists()) { // brt에 새로운 디스크립터를 다시 할당하는 작업을 시도한다. bRet = wizRoot.mkdir(); } // 부모폴더의 패스를 가져온다. fParent.mkdir(); } // 파일을 만들고 디스크립터 k에연결시킨다. k.createNewFile(); // 스레드를 돌며 파일을 1바이트씩 가져와 로컬 영역에 저장한다. trans= new Thread() { public void run() { try { FileOutputStream out = new FileOutputStream(k); byte[] bBuffer = new byte[1024 * 8]; int nRead; while ((nRead = inputStream.read(bBuffer)) != -1) { System.out.println("nRead size : " + nRead); out.write(bBuffer, 0, nRead); } out.close(); inputStream.close(); Thread.sleep(2000); handler.sendEmptyMessage(0);// 파일 다운로딩이 끝나면 성공 했다는 알람 창을 뛰운다. } catch (Exception e) { } } }; trans.start(); } else if (k.isFile()) {//파일이 존재하면 이미존재한다는 경고창을 뛰운다. 스레드 종료 mProgress.dismiss(); BellSetActivity.this.removeDialog(1); handler.post(updateResult2); } else { Log.e("DRAGON", "error --> file not exist"); } } catch (Exception e) { Log.e("DRAGON", "error --> set ringtone: " + e.getMessage()); e.printStackTrace(); } } }; // 핸들러 동작 정의 private Handler handler = new Handler() { public void handleMessage(Message msg) { Log.i("DRAGON", "info -- > file exist"); ContentValues values = new ContentValues(); values.put(MediaStore.Audio.Media.DATA, k.getAbsolutePath()); values.put(MediaStore.Audio.Media.TITLE, songTitle + mp_text); values.put(MediaStore.Audio.Media.SIZE, k.length()); values.put(MediaStore.Audio.Media.MIME_TYPE, "audio/mp3"); values.put(MediaStore.Audio.Media.ARTIST, artist); values.put(MediaStore.Audio.Media.DURATION, myDuration); // 받은 파일을 현재 링톤으로 셋팅한다. values.put(MediaStore.Audio.Media.IS_RINGTONE, true); values.put(MediaStore.Audio.Media.IS_NOTIFICATION, false); values.put(MediaStore.Audio.Media.IS_ALARM, true); values.put(MediaStore.Audio.Media.IS_MUSIC, false); //Uri uri = MediaStore.Audio.Media.getContentUriForPath(k // .getAbsolutePath()); // Insert it into the database Log.i("DRAGON", "info --> insert database"); Uri newUri = BellSetActivity.this.getContentResolver().insert(MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, values); //벨소리 설정 RingtoneManager.setActualDefaultRingtoneUri(BellSetActivity.this, RingtoneManager.TYPE_RINGTONE, newUri); String model = Build.MODEL; //단말기 모델명을 확인한다. model= model.replaceAll(" ", ""); //과금 후 결과감 리턴 String Check = new TextDownloadStream().DownloadPhoneNum( "http://smartring.wiz.co.kr/bell/wiz_004.asp?id=" + CyptoLid + "&subno=" + SelectURL + "&did=" + tm.getDeviceId() + "&key=" + CyptoPhone + "&os="+model); System.out.println("Check : "+Check); mProgress.dismiss(); BellSetActivity.this.removeDialog(1); trans.interrupt(); TimeFlag = false; showDialog(4);// 성공 메세지 } };
반응형
'Android' 카테고리의 다른 글
[안드로이드] 단말기의 해상도를 알아보자 dpi (0) | 2010.12.24 |
---|---|
[안드로이드] 단말기에 설치된 어플리케이션들을 알아보자 (0) | 2010.12.23 |
[안드로이드] lazyImageLoader (0) | 2010.12.20 |
[안드로이드] SeekBar로 사운드 조절하기 (2) | 2010.12.20 |
[안드로이드] MediaPlayer SeekBar 연동 (1) | 2010.12.20 |
Comments