3.20

作者: Pyuri | 来源:发表于2016-03-20 10:15 被阅读0次

    对昨天的补充

    保存内容到应用文件夹,也可以用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,基于事件驱动

    相关文章

      网友评论

          本文标题:3.20

          本文链接:https://www.haomeiwen.com/subject/drahlttx.html