編輯:關於Android編程
經常需要用到讀取“/res/raw”和"/asserts"文件夾下的文件,索性寫成工具類方便以後使用。
一、raw文件夾下的文件操作工具類:
/**
* raw文件夾下的文件處理工具類
*
* */
public class RawFileUtils {
private RawFileUtils( ){
}
/**
* 讀取raw文件夾下的文件
* @param resourceId raw文件夾下的文件資源ID
* @return 文件內容
*
* */
public static String readFileFromRaw(Context context, int resourceId) {
if( null == context || resourceId < 0 ){
return null;
}
String result = null;
try {
InputStream inputStream = context.getResources().openRawResource( resourceId );
// 獲取文件的字節數
int length = inputStream.available();
// 創建byte數組
byte[] buffer = new byte[length];
// 將文件中的數據讀到byte數組中
inputStream.read(buffer);
result = EncodingUtils.getString(buffer, "utf-8");
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
}
/**
* asserts文件處理
*
* */
public class AssertsFileUtils {
private AssertsFileUtils( ){
}
/**
* 讀取asserts目錄下的文件
* @param fileName eg:"updatelog.txt"
* @return 對應文件的內容
*
* */
public static String readFileFromAssets(Context context, String fileName) throws IOException, IllegalArgumentException {
if (null == context || TextUtils.isEmpty( fileName )){
throw new IllegalArgumentException( "bad arguments!" );
}
AssetManager assetManager = context.getAssets();
InputStream input = assetManager.open(fileName);
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int length = 0;
while ((length = input.read(buffer)) != -1) {
output.write(buffer, 0, length);
}
output.close();
input.close();
return output.toString();
}
/**
* 列出Asserts文件夾下的所有文件
* @return asserts目錄下的文件名列表
*
* */
public static List getAssertsFiles( Context context ) throws IllegalArgumentException{
if( null == context ){
throw new IllegalArgumentException( "bad arguments!" );
}
AssetManager assetManager = context.getAssets();
String[] files = null;
try {
files = assetManager.list("");
} catch (IOException e) {
e.printStackTrace( );
}
return ( null == files )?null:Arrays.asList( files );
}
}
Android又一個超漂亮的日歷控件
※效果 ※使用方法 package com.fancyy.calendarweight; import java.util.ArrayList; import j
Android游戲開發之黑白棋
黑白棋介紹黑白棋,又叫蘋果棋,最早流行於西方國家。游戲通過相互翻轉對方的棋子,最後以棋盤上誰的棋子多來判斷勝負。黑白棋非常易於上手,但精通則需要考慮許多因素,比如角邊這樣
Android自定義控件之滑動解鎖九宮格
概述:滑動解鎖九宮格的分析:1、需要自定義控件;2、需要重寫事件onTouchEvent();3、需要給九個點設置序號和坐標,這裡用Map類就行;4、需要判斷是否到滑到過
androidAPP 集成微信支付
最近項目裡面需要支付功能,boos一致決定用微信支付,所以在網上查了很多資料,說的不全,完了就找以前的同事指教。算是成功集成上去了。在這裡做個總結記錄。1、在APP上集成