Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android項目使用Assets下的文件

Android項目使用Assets下的文件

編輯:關於Android編程

Android項目在編譯時,Assets下文件不被編譯。

Assets下的文件除了 html文件可以直接在項目中使用外,其他的文件都需要做處理滴。

在項目中使用方法:
使用流讀取。
AssetManager manager = getAssets();

InputStream open = manager.open("logo.png");

注意:某些經常使用的文件(比如數據庫a.db),可以在項目初始化時將其copy到手機中存儲。示例見下邊2

//示例一 Get the AssetManager

 AssetManager manager = getAssets();

    // read a Bitmap from Assets
    InputStream open = null;
    try {
      open = manager.open("logo.png");
      Bitmap bitmap = BitmapFactory.decodeStream(open);
      // Assign the bitmap to an ImageView in this layout
      ImageView view = (ImageView) findViewById(R.id.imageView1);
      view.setImageBitmap(bitmap);
    } catch (IOException e) {
      e.printStackTrace();
    } finally {
      if (open != null) {
        try {
          open.close();
        } catch (IOException e) {
          e.printStackTrace();
        }
      }
    } 

實例二
/**
 * 拷貝assets中的電話歸屬地數據庫文件
 */
private void copyAddrDB() {
	File file = new File(getFilesDir(), "address.db");
	if (file.exists()) {
		Log.i("log:SplashActivity", "數據庫已經存在,不需要拷貝。。。");
	} else {
		Log.i("log:SplashActivity", "開始拷貝了。。。。");
		
		// 拷貝
		try {
			InputStream is = getAssets().open("address.db");	// 獲取數據庫庫文件輸入流
			FileOutputStream fos = new FileOutputStream(file);	// 定義輸出流
			byte[] bt = new byte[8192];
			int len = -1;
			while((len = is.read(bt)) != -1){
				fos.write(bt, 0, len);
			}
			is.close();
			fos.close();
			
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}

轉載請標明:大飛_Rflyee:http://blog.csdn.net/rflyee/article/details/17341669


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved