第一天总结

1、获取sd卡目录  判断sd卡是否可用

    使用上下文Context获取sd卡的目录    
   
   
  1. [1]通过上下文直接获取sd卡的目录
  2. String path = getExternalFilesDir(null).getPath();

2、SharedPreferences的使用
        [1]使用SharedPreferences写入数据到xml文件
    
    
  1. /* [1]判断复选框是否选中*/
  2. if(saveState.isChecked()){
  3. /*[2]选中的情况下,获取内容*/
  4. String s = username.getText().toString();
  5. String s1 = password.getText().toString();
  6. /*[3]获取SharedPreferences实例,名字不要带后缀,会自动加上.xml*/
  7. SharedPreferences sharedPreferences = getSharedPreferences("info", MODE_PRIVATE);
  8. /*[4]获取编辑器*/
  9. SharedPreferences.Editor edit = sharedPreferences.edit();
  10. /*[5]写入内容*/
  11. edit.putString("username",s);
  12. edit.putString("password",s1);
  13. edit.putBoolean("saveState",true);
  14. /*[6]提交数据*/
  15. edit.commit();
    [2]需要在AndroidManifest.xml文档中配置权限
    
    
  1. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

   
 [2]从xml中读取
    
    
    
  1. boolean save_state = s.getBoolean("saveState", false);
  2. if(save_state){
  3. /* [1]获取数据*/
  4. String usernameText = s.getString("username", null);
  5. String passwordText = s.getString("password", null);
  6. /*[2]设置数据*/
  7. username.setText(usernameText);
  8. password.setText(passwordText);
  9. saveState.setChecked(true);
  10. Toast.makeText(this,"读取成功",Toast.LENGTH_SHORT).show();
  11. }
    SharedPreferences用与保存一些键值对数据,特别是对 配置信息的读写,非常方便
3、生成xml的方式
    [1]方法一:直接使用StringBuffer进行拼接(不推荐)
    [2]方法二:使用android提供的序列化器进行写入 XmlSerializer
        
   
   
  1. /*[1]通过Xml类得到Serializer类的实例*/
  2. XmlSerializer xmlSerializer = Xml.newSerializer();
  3. /*[2]设置输出参数*/
  4. File file = new File(getExternalFilesDir(null).getPath(),"info.xml");
  5. Log.d("filePath",file.getAbsolutePath());
  6. xmlSerializer.setOutput(new FileOutputStream(file),"utf-8");
  7. /*[3]开始写文档*/
  8. xmlSerializer.startDocument("utf-8",true);
  9. /* [4]开始写标签*/
  10. xmlSerializer.startTag(null,"sms");
  11. /* [5]写入标签属性*/
  12. xmlSerializer.attribute(null,"id","test");
  13. /*[6]写入数据*/
  14. xmlSerializer.text("hahah");
  15. /*[7]结束标签的编写*/
  16. xmlSerializer.endTag(null,"sms");
  17. /*[]结束文档的编写*/
  18. xmlSerializer.endDocument();
getExternalFilesDir ( null ). getPath (),这个路径是/storage/emulated/legacy/Android/data/com.xmlserializerdemo/files/,并不在data/dataz下面
4、xml解析
使用XmlPullParser进行解析
   
   
  1. File file = new File(getExternalFilesDir(null).getPath(),"info.xml");
  2. if(file.exists()){
  3. /*[1]获取XmlPullParser实例*/
  4. XmlPullParser xmlPullParser = Xml.newPullParser();
  5. int eventType = 0;
  6. try {
  7. /*[2]设置输入流及编码*/
  8. xmlPullParser.setInput(new FileInputStream(file),"utf-8");
  9. /*[3]获取事件类型*/
  10. eventType = xmlPullParser.getEventType();
  11. } catch (XmlPullParserException e) {
  12. e.printStackTrace();
  13. } catch (FileNotFoundException e) {
  14. e.printStackTrace();
  15. }
  16. /*[4]对类型进行判断操作*/
  17. while(eventType != XmlPullParser.END_DOCUMENT){
  18. if(eventType == XmlPullParser.START_DOCUMENT){
  19. Log.d("read","START_DOCUMENT");
  20. }else if(eventType == XmlPullParser.END_DOCUMENT){
  21. Log.d("read","END_DOCUMENT");
  22. }else if(eventType == XmlPullParser.START_TAG){
  23. Log.d("read","START_TAG");
  24. }
  25. try {
  26. try {
  27. /*[5]获取下一个eventType*/
  28. eventType = xmlPullParser.next();
  29. } catch (XmlPullParserException e) {
  30. e.printStackTrace();
  31. }
  32. }catch (IOException E){
  33. }
  34. break;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值