2016-04-07 15 views
-1

私のサーバー上のapkファイルから最後に変更された日付を取得しようとしています。サーバー上のapkファイルから最終更新日を取得する方法

私は

try { 
      HttpURLConnection.setFollowRedirects(false); 
      HttpURLConnection con = (HttpURLConnection) new URL(params[0]).openConnection(); 

      con.setRequestMethod("HEAD"); 
      return (con.getResponseCode() == HttpURLConnection.HTTP_OK); 
     } // do some more not relevant 

でファイルの罰金をダウンロードすることができますが、すぐに私は、サーバーからヘッダを取得しようとして、それは私がこれを試してみましたが、また、すでにを使用する

  URL obj = new URL(customURL); 
      URLConnection conn = obj.openConnection(); 
      Map<String, List<String>> map = conn.getHeaderFields(); 
for (Map.Entry<String, List<String>> entry : map.entrySet()) { 
       System.out.println("Key : " + entry.getKey() 
         + " ,Value : " + entry.getValue()); 
       Toast.makeText(getApplicationContext(),"Key: "+entry.getKey() + "Value: " + entry.getValue(),Toast.LENGTH_SHORT).show(); 
      } 

を失敗しました既存の接続とちょうどconを使用します..しかし、それは何とか失敗します。

すべての助けが本当にいいでしょう

+0

後でプログラムイムでrunOnUiThreadに入れて走っていました。 totalSize = urlConnection.getContentLength();しかし、私はちょうど私のsetrequestmethodの直前にこのコードを追加した –

答えて

0

これをお試しください。

long date = con.getLastModified();参照用

HttpURLConnection.setFollowRedirects(false); 
HttpURLConnection con = (HttpURLConnection) new URL(fileUrl).openConnection(); 
long date = con.getLastModified(); 

    if (date == 0) 
    System.out.println("No last-modified information."); 
    else 
    System.out.println("Last-Modified: " + new Date(date)); 
return date 

http://developer.android.com/reference/java/net/URLConnection.html#getLastModified%28%29

+0

を修正したいと思っています。それでも私のプログラムは失敗し、代わりにfalseを返します。 と私は私の返品のヘッダーをチェックしています。 (郵便配達員でテスト済み) –

-1

私は私が作った間違いは、非同期タスクでそれを実行した後、トーストに結果を見しようとしていたことが分かりました。

それは、すぐに私も使用してファイルのサイズを取得

final long date = urlConnection.getLastModified(); 

     runOnUiThread(new Runnable() { 
      public void run() { 
       Toast.makeText(getApplicationContext(),"GGG"+ date,Toast.LENGTH_SHORT).show(); 
      } 
     }); 
関連する問題