編輯:關於Android編程
在我用Android開發一個數獨游戲的時候,需要添加相關的截屏功能(也就是將玩數獨的界面截下來)
代碼如下:
try{ Bitmap map = Bitmap.createBitmap( puzzleView.getDrawingCache()); saveBitmap(map); Toast.makeText(this, R.string.screenshot_success, Toast.LENGTH_SHORT).show(); }catch(Exception e){ e.printStackTrace(); Toast.makeText(this, R.string.screenshot_fail, Toast.LENGTH_SHORT).show(); }
public void saveBitmap(Bitmap bitmap) throws Exception{ String dirPath = Environment.getExternalStorageDirectory() .getAbsolutePath() + File.separator + "MySudoku" + File.separator + getString(R.string.diff_1 + diff); File file = new File(dirPath); if(!file.exists()) file.mkdirs(); SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyyMMddhhmmss");// 最開始用的是yyyy-MM-dd-hh:mm:ss String date = sDateFormat.format(new java.util.Date()); String path = dirPath + File.separator + date + ".png"; manageFiles(file, ".png"); FileOutputStream out = null; try{ out = new FileOutputStream(path); //將bitmap存儲為png格式的圖片 bitmap.compress(Bitmap.CompressFormat.PNG, 100, out); out.flush(); }catch(Exception e){ out.close(); } }
// 當png格式的圖片超過3個就刪除多余的png圖片 public void manageFiles(File dir, String extension){ File[] files = dir.listFiles(getFilter(dir, extension)); Log.d(TAG, "There are " + files.length + " pictures"); if(files.length >= 3){ for(int i = 2; i < files.length; i++){ files[i].delete(); } } }
可是運行的時候不管怎麼樣,總是會在out = new FileOutputStream(path);報異常
可是就是找不到原因,該檢查的都檢查了,調試過程也很順利,可就是報異常
最後突然發現我創建的
SimpleDateFormat sDateFormat = new SimpleDateFormat("yyyy-MM-dd-hh:mm:ss");
嘗試著在電腦上桌面上創建一個類似的txt文件,最後總算讓我找到BUG的所在了
對,其實BUG就是因為我在創建文件名的時候中間用了:這個在我的電腦上驗證了
最後總算解決了BUG
榮耀6plus有著紅外遙控功能,相信入手榮耀6plus的同學都很想試試自己的手機當遙控是什麼感覺吧。華為榮耀6plus不僅僅是手機,不僅可以做智能手機,下載
第一步 :獲取ShareSDK 為了集成ShareSDK,您首先需要到ShareSDK官方網站注冊並且創建應用,獲得ShareSDK的Appkey,然後到SDK的下載頁
本文實例講述了Android實現可使用自定義透明Dialog樣式的Activity。分享給大家供大家參考,具體如下:有時你需要一個對話框,但同時對話框中的內容有更多控制和
相信一些有關注魅族的用戶都知道魅族即將要發布一款新機為魅族mx6,那麼魅族mx6這款新機怎麼樣?魅族mx6跑分多少呢?下文帶來魅族mx6性能跑分評測,一起和