android - Create directory programaticly? -


how can create folder on sdcard on android device? want when click set ringtone-create folder , copy file if folder exists copy file. far i've en using this

    private final file rpath = environment.getexternalstoragepublicdirectory(environment.directory_ringtones);  private void s1ring() {      boolean success = false;                 rsound = new file(rpath, "summer melody.mp3");                 if (!rsound.exists()) {                      try {                         inputstream in = getresources().openrawresource(r.raw.s1beautiful);                         fileoutputstream out = new fileoutputstream(rsound.getpath());                         byte[] buff = new byte[1024];                         int read = 0;                          try {                             while ((read = in.read(buff)) > 0) {                                 out.write(buff, 0, read);                             }                         } {                             in.close();                             out.close();                         }                     } catch (exception e) {                         success = false;                                                 }                 } else {                     success = true;                     setringtone();                                       }                 if (!success) {                     setringtone(); 

but noticed problem, on devices folders don't exist , file not copied. how can solve this?

logcat:

03-24 12:19:12.331: w/dalvikvm(26957): threadid=1: thread exiting uncaught exception (group=0x41c3b8b0) 03-24 12:19:12.331: e/androidruntime(26957): fatal exception: main 03-24 12:19:12.331: e/androidruntime(26957): java.lang.nullpointerexception 03-24 12:19:12.331: e/androidruntime(26957):    @ gsoft.awesomeringtones.s01$1.setringtone(s01.java:102) 03-24 12:19:12.331: e/androidruntime(26957):    @ gsoft.awesomeringtones.s01$1.s1ring(s01.java:89) 03-24 12:19:12.331: e/androidruntime(26957):    @ gsoft.awesomeringtones.s01$1.onclick(s01.java:48) 03-24 12:19:12.331: e/androidruntime(26957):    @ android.view.view.performclick(view.java:4421) 03-24 12:19:12.331: e/androidruntime(26957):    @ android.view.view$performclick.run(view.java:17903) 03-24 12:19:12.331: e/androidruntime(26957):    @ android.os.handler.handlecallback(handler.java:730) 03-24 12:19:12.331: e/androidruntime(26957):    @ android.os.handler.dispatchmessage(handler.java:92) 03-24 12:19:12.331: e/androidruntime(26957):    @ android.os.looper.loop(looper.java:213) 03-24 12:19:12.331: e/androidruntime(26957):    @ android.app.activitythread.main(activitythread.java:5225) 03-24 12:19:12.331: e/androidruntime(26957):    @ java.lang.reflect.method.invokenative(native method) 03-24 12:19:12.331: e/androidruntime(26957):    @ java.lang.reflect.method.invoke(method.java:525) 03-24 12:19:12.331: e/androidruntime(26957):    @ com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:741) 03-24 12:19:12.331: e/androidruntime(26957):    @ com.android.internal.os.zygoteinit.main(zygoteinit.java:557) 03-24 12:19:12.331: e/androidruntime(26957):    @ dalvik.system.nativestart.main(native method) 

update

private file rsound;  private void setringtone() {                 contentvalues values = new contentvalues();                    values.put(mediastore.mediacolumns.data, rsound.getabsolutepath());                    values.put(mediastore.mediacolumns.title, "summer melody");                    values.put(mediastore.mediacolumns.mime_type, "audio/*");                    values.put(mediastore.audio.media.artist, " ");                    values.put(mediastore.audio.media.is_ringtone, true);                    values.put(mediastore.audio.media.is_notification, false);                    values.put(mediastore.audio.media.is_alarm, false);                    values.put(mediastore.audio.media.is_music, true);                     uri uri = mediastore.audio.media.getcontenturiforpath(rsound.getabsolutepath());                    getcontentresolver().delete(uri, mediastore.mediacolumns.data + "=\"" + rsound.getabsolutepath() + "\"",                            null);                    uri newuri = getcontentresolver().insert(uri, values);                     ringtonemanager.setactualdefaultringtoneuri(                            s01.this, ringtonemanager.type_ringtone,                            newuri);                    toast.maketext(getapplicationcontext(), "ringtone set successfully",                            toast.length_short).show();              }               }         ); 

to create directory in sdcard use mkdirs() method follows...

file dir = new file(environment.getexternalstoragedirectory().getpath() + "/folderdir/"); dir.mkdirs(); 

Comments

Popular posts from this blog

android - Get AccessToken using signpost OAuth without opening a browser (Two legged Oauth) -

org.mockito.exceptions.misusing.InvalidUseOfMatchersException: mockito -

google shop client API returns 400 bad request error while adding an item -