2013-11-21 65 views
0

我有我的電腦上運行的c#程序監聽http請求,我試圖做一個應用程序,從我的電腦通過HttpGet獲取文件。如何通過HttpGet從本地網絡上的電腦上獲取文件android

new HttpGet(url + filepath);

該文件在同一目錄和路徑是C://Users/abc/def/test.txt

,但如果我寫這篇文章給我的文件路徑不能獲取文件。我應該寫什麼文件路徑?

在此先感謝

回答

1

您需要創建的AsyncTask做你的要求「原因,因爲Android蜂窩,不能添加在主線程網絡請求。

下面是一個例子:

private class HttpGetter extends AsyncTask<URL, Void, Void> { 

       @Override 
       protected Void doInBackground(URL... urls) { 
         // TODO Auto-generated method stub 
         StringBuilder builder = new StringBuilder(); 
         HttpClient client = new DefaultHttpClient(); 
         HttpGet httpGet = new HttpGet(urls[0]); 

         try { 
           HttpResponse response = client.execute(httpGet); 
           StatusLine statusLine = response.getStatusLine(); 
           int statusCode = statusLine.getStatusCode(); 
           if (statusCode == 200) { 
             HttpEntity entity = response.getEntity(); 
             InputStream content = entity.getContent(); 
             BufferedReader reader = new BufferedReader(
                 new InputStreamReader(content)); 
             String line; 
             while ((line = reader.readLine()) != null) { 
               builder.append(line); 
             } 
             Log.v("Getter", "Your data: " + builder.toString()); //response data 
           } else { 
             Log.e("Getter", "Failed to download file"); 
           } 
         } catch (ClientProtocolException e) { 
           e.printStackTrace(); 
         } catch (IOException e) { 
           e.printStackTrace(); 
         } 

         return null; 
       } 
    } 

HttpGetter get = new HttpGetter(); 
get.execute("http://192.168.1.2/song.mp3"); 
+0

我正在做這樣的我已經創建的AsyncTask,但我不知道哪裏是Song.mp3的文件是在同一目錄?我試過,但它沒有得到具有相同目錄的文件,並以這種方式寫入 – mystery

+0

您必須創建一個'File'並將其存儲在'getExternalStorage()/文件夾' – marshallino16

+0

我知道android端可以處理它。我知道我的電腦上的文件路徑,但我怎麼能寫的文件路徑到Android程序來獲取該文件 – mystery

相關問題