java - How should I manage temporary downloads in Android app? -



java - How should I manage temporary downloads in Android app? -

i have async task in doinbackgrund setting connection perform get, takes response outputstream , ends writing file sd.

such file mp3 reproduced 1 time using mediaplayer , forgotten, not ever used again.

this how i'm doing ...

@override protected file doinbackground(string... params) { seek { string urlstring = ttsurl + urlencoder.encode(params[0], "utf-8"); url url = new url(urlstring); system.out.println(url.tostring()); urlconnection = (httpurlconnection) url.openconnection(); urlconnection.setrequestmethod("get"); urlconnection.setrequestproperty("user-agent","mozilla/5.0 (x11; linux x86_64) applewebkit/537.36 (khtml, gecko) chrome/41.0.2272.89 safari/537.36"); log.d("query properties",urlconnection.getrequestproperties().tostring()); urlconnection.connect(); if (urlconnection.getresponsecode() != 200) { } system.out.println(urlconnection.getcontentencoding() == null); system.out.printf(urlconnection.getresponsemessage()); system.out.println(urlconnection.getheaderfields().tostring()); input = urlconnection.getinputstream(); file sddir = getexternalstoragedirectory(); file = sddir + "/" + params[0] + ".mp3"; output = new fileoutputstream(file); int filelength = urlconnection.getcontentlength(); byte data[] = new byte[1024]; long total = 0; int count; while ((count = input.read(data)) != -1) { total += count; output.write(data, 0, count); } } grab (protocolexception e) { e.printstacktrace(); homecoming null; } grab (ioexception e) { log.e("placeholderfragment", "error ", e); homecoming null; } finally{ if (urlconnection != null) { urlconnection.disconnect(); } } log.i("response", "done"); homecoming new file(file); } @override protected void onpostexecute(file f) { mediaplayer player = new mediaplayer(); seek { player.setdatasource(f.tostring()); } grab (ioexception e) { e.printstacktrace(); } seek { player.prepare(); } grab (ioexception e) { e.printstacktrace(); } player.start(); }

so, can seen @ onpostexecute, file beingness used play audio. although i'm not deleting file in code providing, wonder what's best alternative case ... know effort delete file when player it's @ onplaybackcompleted state, i'd way much simple , convenient approch temporal files.

use separate folder, , when sure user leaving app, clear directory.

java android

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -