文件IO
final String FILE_PATH="/data/data/com.android.hymake.ecard/"; final String FILE_NAME="CARD.XML"; final String TEXT_ENCODING = "UTF-8"; File file; FileOutputStream out; FileInputStream in; String display; //生成保存本机名片的XML文件并显示内容 private void generateLocalECardXml(){ try {String infoToWriter = getLocalECardInfo();out = this.openFileOutput(FILE_NAME, MODE_PRIVATE);out.write(infoToWriter.getBytes());Log.i(TAG, "filewrite:"+infoToWriter);out.close();Log.i(TAG, "create local ecard xml file successfully!");in = this.openFileInput(FILE_NAME);byte[] temp = new byte[1024];int length = in.read(temp);display = EncodingUtils.getString(temp, TEXT_ENCODING);Log.i(TAG, "fileread:"+display);in.close();Toast.makeText(Ecard.this, display, Toast.LENGTH_LONG).show();} catch (Exception e) {// TODO Auto-generated catch blockLog.e(TAG, e.getMessage());} } //读取本机名片并生成XML形式的实符串 private String getLocalECardInfo() throws Exception{ StringBuffer xmlStr; //获取名片表中第一条记录 mCardsCursor = mDbHelper.get(1, CardsDbAdapter.DATABASE_TB_CARDS); if (mCardsCursor==null){ setListAdapter(null); Log.e(TAG,"本机名片不在!"); throw new Exception("本机名片不在!"); } xmlStr = new StringBuffer("<?xml version=\"1.0\" encoding=\"utf-8\"?><cardinfo>"); xmlStr.append("<username>").append(getNotNullStr(mCardsCursor.getString(1))) .append("</username"); xmlStr.append("<phonenumber>").append(getNotNullStr(mCardsCursor.getString(3))).append("</phonenumber>"); xmlStr.append("<useraddress>").append(getNotNullStr(mCardsCursor.getString(4))).append("</useraddress>"); xmlStr.append("<usernote>").append(getNotNullStr(mCardsCursor.getString(5))).append("</usernote>"); xmlStr.append("</cardinfo>"); return xmlStr.toString(); } public static String getNotNullStr(String str){ return null==str?"":str; }