将ParseFile转换为图像格式

时间:2014-07-14 08:29:38

标签: android parse-platform cloud

我是程序员学生,之前我从未使用过解析器。我想知道是否可以检索ParseFile并将其转换为图像而不使用方法getDataInBackground(),因为我使用AsyncTask来检索我班级的所有数据,图像和其他属性。

我尝试使用getUrl(),但我得到了FileNotFoundException

这是我的代码:

  URL url = new URL(parsefile.getUrl());
  HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
  urlConnection.setRequestMethod("GET");
  urlConnection.setDoOutput(true);                   
  urlConnection.connect();                  
  File SDCardRoot = Environment.getExternalStorageDirectory().getAbsoluteFile();
  File file = new File(SDCardRoot,filename);
  if(file.createNewFile())
  {
    file.createNewFile();
  }                 
  FileOutputStream fileOutput = new FileOutputStream(file);
  InputStream inputStream = urlConnection.getInputStream(); // Here is throw the exception

堆栈跟踪:

07-17 01:26:22.812: W/System.err(25516): java.io.FileNotFoundException: http://files.parsetfss.com/f110277e-8601-4613-be7b-20c580591112/tfss-4d05240e-8e70-4920-aba2-4c62c776f509-1.jpg
07-17 01:26:22.812: W/System.err(25516):    at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:177)
07-17 01:26:22.812: W/System.err(25516):    at foc.final_project.decanias.BackgroundTask.getBitmapFromURL(BackgroundTask.java:192)
07-17 01:26:22.812: W/System.err(25516):    at foc.final_project.decanias.BackgroundTask.retrieveBarSpecialties(BackgroundTask.java:116)
07-17 01:26:22.812: W/System.err(25516):    at foc.final_project.decanias.BackgroundTask.doInBackground(BackgroundTask.java:68)
07-17 01:26:22.820: W/System.err(25516):    at foc.final_project.decanias.BackgroundTask.doInBackground(BackgroundTask.java:1)
07-17 01:26:22.820: W/System.err(25516):    at android.os.AsyncTask$2.call(AsyncTask.java:287)
07-17 01:26:22.820: W/System.err(25516):    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305)
07-17 01:26:22.820: W/System.err(25516):    at java.util.concurrent.FutureTask.run(FutureTask.java:137)
07-17 01:26:22.820: W/System.err(25516):    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
07-17 01:26:22.820: W/System.err(25516):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076)
07-17 01:26:22.820: W/System.err(25516):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569)
07-17 01:26:22.820: W/System.err(25516):    at java.lang.Thread.run(Thread.java:856)

感谢。

2 个答案:

答案 0 :(得分:2)

ParseFile是一个简单的对象,上面有一个URL。 getDataInBackground()将为您异步下载,并且您可以传递回调以及后续操作。

您也可以随意获取网址并下载文件。

parseFile.getUrl();

答案 1 :(得分:0)

您可以使用非异步的.getData()方法...