3.20

对昨天的补充

保存内容到应用文件夹,也可以用File file = new file(this.getFileDir(),XXX.txt);
保存到应用程序文件夹的名为file的子文件夹里。
File file = new file(this.getCacheDir(),XXX.txt);
保存到应用程序文件夹的名为Cache的子文件夹里。

将数据保存到公共的cd卡

sd卡路径:/mnt/sdcard
File file = new file(Environment.getExternalStorageDirectory(),"XXX.txt")

需要申请权限android.premission.WRITE_EXTERNAL_STORAGE
最好在存数据之前,判断sdcard状态。Environment.getExternalStorageState()(返回String类型)

String status = Environment.getgetExternalStorageState()
if(!Environment.Media_MOUNTED.equals(status)){
//XXXXX
}
else{
//XXXX
}

//返回可用空间大小

long freeSpace = Environment.getExternalStorageDirectory().getFreeSpace();
String avaliableSize = Formatter.formatFileSize(this,freeSpace);

文件的访问权限

  • 私有文件
    只有应用自己能访问,其他应用不能访问
  • 只读文件
    其他应用可以读。不可以写
 FileOutputStream out = openFileOutput("readonly.txt",Context.MODE_WORLD_READABLE);
out.write("readonly".getBytes());
out.close();
  • 只写文件
    MODE_WORLD_WRITEABLE
  • 公共文件
    MODE_WORLD_READABLE+MODE_WORLD_WRITEABLE

Linux下的文件权限

android文件夹权限源于Linux
permission一共10位 “----------”
第一位d----directory,表示文件夹
第二位到第四位,表示当前的应用具有的权限
第五位到第七位,表示当前应用所在组的权限
第八位到第十位,表示当前应用所在组之外的部分的权限
r表示read,读取权限,对应数值4
w表示write,写入权限,对应数值2
x表示executable,执行权限,对应数值1
比如-rw-rw--w-
drwxrwx--x

使用sharedPreference保存数据

//数据保存在config文件里,xml格式的。0表示权限是private
    SharedPreferences sp = getSharedPreferences("config",0);
    Editor editor = sp.edit();
//传入键值对
    editor.putStringx("numbexxxr",number);
//提交修改
    editor.commit();

要取得config.xml里的值,可以用sp.getString("number","")(第一个参数是键,第二个参数是默认值)

checkbox的状态

checkbox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {    
@Override   
//第一个参数是checkbox本身,第二个参数是checkbox是否被勾选的实时状态
 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 
           }
});

checkboxObject.setChecked(boolean值)设置checkbox的默认状态

RadioGroup

RadioGroup是一个单选框,从按钮中选择一个
如何获取选择的是哪一个?

//得到所选按钮的id
int id = radiogroupObject.getCheckedRadioButtonId();
switch(id){
      case xxxx1:
      //执行逻辑
      break;
      case xxx2:
      break;
}

Google推荐的生成xml的api

//专门生成xml的序列化器
XmlSerializer serializer = Xml.newSerializer();
//需要传入一个outputstream对象
serializer.setOutput(OutputstreamObject,"UTF-8");
//xml头
serializer.startDoucument("UTF-8",Boolean值);
//标签头和尾,其中的null位置表示类似activity——main.xml 里"android:"的东西,设为null表示没有
serializer.startTag(null,"XXX");
//设置文本信息
serializer.text(string值);
serializer.endTag(null,"XXX");
serializer.endDocument();

解析xml

pull parser,基于事件驱动

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • ¥开启¥ 【iAPP实现进入界面执行逐一显】 〖2017-08-25 15:22:14〗 《//首先开一个线程,因...
    小菜c阅读 11,717评论 0 17
  • permissionn.允许;批准,正式认可,认可user permission 使用权限permission D...
    lengol阅读 4,628评论 0 51
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,347评论 19 139
  • 团队:() 产品经理:--设计草图设计师: --设计网页图前端工程师:--网页静态页面---!!!后台:--页面...
    张不困_阅读 1,514评论 0 0
  • 一、营销的本质是什么: 1、营销的本质是影响选择,使事情变得直观,让别人轻易就能选择你的商品和服务,而不是一味地通...
    明娜的诗和远方阅读 3,118评论 0 0