編輯:關於Android編程
package com.example.capture2sd; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.Calendar; import android.app.Activity; import android.content.ContentResolver; import android.graphics.Bitmap; import android.graphics.Bitmap.Config; import android.graphics.Point; import android.os.Bundle; import android.os.Environment; import android.view.Display; import android.view.View; import android.view.View.OnClickListener; import android.view.WindowManager; import android.widget.Button; import android.widget.Toast; /** * 1. 實現截取當前屏幕的功能。 * 2. 把截取的圖片保存到個部設備中的某個目錄文件夾下面。 * * @author Administrator * */ public class MainActivity extends Activity { private Button btn = null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btn = (Button) findViewById(R.id.GetPic); btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub GetAndSaveCurrentImage(); } }); } /** * 獲取和保存當前屏幕的截圖 */ private void GetAndSaveCurrentImage() { // 1.構建Bitmap WindowManager windowManager = getWindowManager(); Display display = windowManager.getDefaultDisplay(); Point pt = new Point(); display.getSize(pt); Bitmap Bmp = Bitmap.createBitmap(pt.x, pt.y, Config.ARGB_8888); // 2.獲取屏幕 View decorview = getWindow().getDecorView(); decorview.setDrawingCacheEnabled(true); Bmp = decorview.getDrawingCache(); // 保存路徑 String SavePath = getSDCardPath() + File.separator + "ScreenImage"; FileOutputStream fos = null; // 3.保存Bitmap try { // 創建目錄 File path = new File(SavePath); // 文件名 String filepath = SavePath + File.separator + getCurTime() + ".png"; System.out.println(filepath); File file = new File(filepath); // 目錄如果不存在就創建目錄 if (!path.exists()) { path.mkdirs(); } // 文件不存在就創建文件 if (!file.exists()) { file.createNewFile(); } fos = new FileOutputStream(file); // 把獲取的圖片寫入文件 if (null != fos) { Bmp.compress(Bitmap.CompressFormat.PNG, 90, fos); fos.flush(); Toast.makeText(this, "截屏文件已保存至:" + path.toString(), Toast.LENGTH_LONG).show(); } } catch (Exception e) { System.out.println("----------Exception"); try { if (fos != null) fos.close(); } catch (IOException e1) { // TODO Auto-generated catch block e1.printStackTrace(); } e.printStackTrace(); } } /** * 獲取當前時間,以當前時間來作為文件名保存 * * @return */ private String getCurTime() { ContentResolver cv = this.getContentResolver(); String strTimeFormat = android.provider.Settings.System.getString(cv, android.provider.Settings.System.TIME_12_24); // 判斷是不是24小時制 if (strTimeFormat.equals("24")) { System.out.println("---------24"); } else { System.out.println("---------12"); } Calendar c = Calendar.getInstance(); int year = c.get(Calendar.YEAR); int month = c.get(Calendar.MONTH); int day = c.get(Calendar.DAY_OF_MONTH); int hour = c.get(Calendar.HOUR_OF_DAY); int minute = c.get(Calendar.MINUTE); int sec = c.get(Calendar.SECOND); // 文件名 String strCurr = String.format("%04d%02d%02d_%02d%02d%02d", year, month, day, hour, minute, sec); return strCurr; } /** * 獲取外部設備的目錄路徑功能 */ private String getSDCardPath() { File sdcardDir = null; // 判斷SDCard是否存在 boolean sdcardExist = Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED); if (sdcardExist) { sdcardDir = Environment.getExternalStorageDirectory(); } return sdcardDir.toString(); } }
東東手游助手是款官方推出的安卓模擬器,在東東手游助手運行時出現閃退這種異常現象是因為什麼呢?怎麼解決東東手游助手閃退問題呢?先分析東東手游助手閃退原因:1.
1.案例效果圖2.准備素材 progress1.png(78*78) progress2.png(78*78)3.原理采用一張圖片作為ProgressBar的背景圖片(一
當我們軟件中要使用大量數據,我們會選擇將這些數據存儲到一個數據庫中,然後通過數據庫的查詢修改操作來管理這些數據。大多數情況下我們都只在程序中建立使用數據庫,但也有我們在程
本文實例為大家分享了視頻播放器的兩種方式,供大家參考,具體內容如下1)、SurfaceView在布局文件中<?xml version=1.0 encodin