《Android面试宝典》学习笔记(第五章:文件存储)

Android SDK 支持哪些文件存储技术?

SharedPreferences、流文件存储、XML半结构化存储、JSON存储、数据库、第三方面向对象数据库。


如何使用ShardPreferences存取key-value类型的数据?

//实例化SharedPreferences对象(第一步) 
SharedPreferences mySharedPreferences= getSharedPreferences("test", 
Activity.MODE_PRIVATE); 
//实例化SharedPreferences.Editor对象(第二步) 
SharedPreferences.Editor editor = mySharedPreferences.edit(); 
//用putString的方法保存数据 
editor.putString("name", "Karl"); 
editor.putString("habit", "sleep"); 
//提交当前数据 
editor.commit();
//同样,在读取SharedPreferences数据前要实例化出一个SharedPreferences对象 
SharedPreferencessharedPreferences= getSharedPreferences("test", 
Activity.MODE_PRIVATE); 
// 使用getString方法获得value,注意第2个参数是value的默认值 
String name =sharedPreferences.getString("name", ""); 
String habit =sharedPreferences.getString("habit", ""); 
//使用toast信息提示框显示信息

SharedPreferences保存的数据文件存放在哪个目录中?是否可以不使用SharedPreferences读取这些数据文件?

文件存储路径为data/data/packagename/shared_prefs

可以直接用文件流读取文件。



Sharedpreferences是否可以把数据保存在SD卡上?

可以用Java反射技术修改文件保存路径。


SharedPreferences可以保存图像数据吗?

将图像转化为二进制数据即可:

public byte[] getBitmapByte(Bitmap bitmap){  
    ByteArrayOutputStream out = new ByteArrayOutputStream();  
    bitmap.compress(Bitmap.CompressFormat.JPEG, 100, out);  
    try {  
        out.flush();  
        out.close();  
    } catch (IOException e) {  
        e.printStackTrace();  
    }  
    return out.toByteArray();  
}

读取:

  1. public Bitmap getBitmapFromByte(byte[] temp){  
        if(temp != null){  
            Bitmap bitmap = BitmapFactory.decodeByteArray(temp, 0, temp.length);  
            return bitmap;  
        }else{  
            return null;  
        }  
    }


如何通过PreferencesActivity实现设置页面?

http://www.jb51.net/article/31915.htm


PreferenceActivity保存数据的默认文件名是什么?如何更改?

packagename_preferences.xml。

用PreferenceManager.getSharedPreferencesName方法修改。


Android SDK支持哪些获取文件输入输出流的方式?

1:InputStream和OutputStream方式。

http://blog.csdn.net/ztp800201/article/details/7322110

2:Context.openFileOutput和Context.openFileInput对象。

http://blog.sina.com.cn/s/blog_6e5195850100zssn.html


SAX引擎分析XML文档的过程?

初始化-->开始处理每一个XML元素-->处理完元素-->处理完文件,完成收尾工作-->保存XML元素的文本


如何将XML文件转换为Java对象?

http://showlike.iteye.com/blog/1050843







郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。