2012-09-10 59 views
0

我已經寫了代碼來存儲SD卡中的位圖圖像但我想將它與日期時間戳一起存儲。怎麼做?使用存儲在SD卡上的日期時間戳圖像

bmp = processFrame(mCamera); 
       String i1=bmp.toString(); 
       String root = Environment.getExternalStorageDirectory().toString(); 
       File myDir = new File(root + "/saved_images");  
        myDir.mkdirs(); 
        Random generator = new Random(); 
        int n = 10000; 
        n = generator.nextInt(n); 
        String fname = "Image-"+ n +".jpg"; 
        File file = new File (myDir, fname); 
        if (file.exists()) file.delete(); 
        try { 
          FileOutputStream out = new FileOutputStream(file); 
          bmp.compress(Bitmap.CompressFormat.JPEG, 90, out); 
          out.flush(); 
          out.close(); 

        } catch (Exception e) { 
          e.printStackTrace(); 
        } 

回答

1

String fname = "Image-"+ n +System.currentTimeMillis() +".jpg"; 

代替

String fname = "Image-"+ n +".jpg"; 

試試這個:

String getCurrentDate() { 
     Calendar c = Calendar.getInstance(); 
     String Month = ""; 
     switch (c.get(Calendar.MONTH)) { 
     case 0: 
       Month = "Jan"; 
       break; 
     case 1: 
       Month = "Feb"; 
       break; 
     case 2: 
       Month = "Mar"; 
       break; 
     case 3: 
       Month = "Apr"; 
       break; 
     case 4: 
       Month = "May"; 
       break; 
     case 5: 
       Month = "June"; 
       break; 
     case 6: 
       Month = "July"; 
       break; 
     case 7: 
       Month = "Aug"; 
       break; 
     case 8: 
       Month = "Sep"; 
       break; 
     case 9: 
       Month = "Oct"; 
       break; 
     case 10: 
       Month = "Nov"; 
       break; 
     case 11: 
       Month = "Dec"; 
       break; 
     default: 
       break; 
     } 
     int ampm = c.get(Calendar.AM_PM); 
     String amorpm = ""; 
     if (ampm == 1) { 
       amorpm = "PM"; 
     } else { 
       amorpm = "AM"; 
     } 
     String date = c.get(Calendar.DAY_OF_MONTH) + "/" + Month + "/" 
        + c.get(Calendar.YEAR) + " " + c.get(Calendar.HOUR) + ":" 
        + c.get(Calendar.MINUTE) + " " + amorpm; 
     // int Day = c.get(Calendar.DAY_OF_MONTH); 
     // int month = c.get(Calendar.MONTH); 
     return date; 
    } 
+0

沒有得到的日期時間 – user1522869

+0

的SimpleDateFormat自衛隊=新的SimpleDateFormat(「YYYY-MM -dd HH:mm:ss「); \t \t \t \t String dateTime = sdf.format(Calendar.getInstance()。getTime());與此代碼我得到日期時間但如何將它存儲到圖像 – user1522869

+0

而不是字符串fname =「圖像 - 」+ n + System.currentTimeMillis()+「。jpg」;使用String fname =「Image - 」+ n + getCurrentDate()+「。jpg」; –