windowsphone8.1学习笔记之应用数据(三)

之前说了如何操作文本文件,如果是图片文件或者其他的二进制文件则需要操作文件的Stream或者Buffer数据。就需要用到DataReader和DataWriter这两个类了,这个的好好的练一下,以后的Socket编程等也是用到这个。

做过Socket实际编程工作的都知道,得对消息进行简单的封装,比如现在要向客户端传人和动物过去,如果我们直接传一个流过去,客户端根本不知道该解析成人还是动物,所以一般会把头相关(长度,名称等)也传过去。废话不多说赶紧把自己学的那点知识记下来。

//Buffer写入操作
using(InMemoryRandomAccessStream memoryStream = new InMemoryRandomAccessStream())
using(DataWriter writer = new DataWriter(memoryStream))
{
   string msg = "hello world!";
   writer.WriteInt32(msg.Length);
   writer.WriteString(msg);
   var buffer = writer.DetachBuffer();
}
//Buffer读取操作
using(DataReader reader = DataReader.FromBuffer("获取到的buffer"))
{
    Int32 stringSize = reader.ReadInt32();
    string msg = reader.ReadString((unit)stringSize);
}

Buffer的读写简单的写了下,Stream的读写和Buffer差不多,当然这都是废话,因为都是用DataReader和DataWriter来实现的,我已经写过一次,以前没试过的朋友可以自己写一下。

接下来说下应用文件的URI方案

LocalFolder的访问URI:ms-appdata:///local/

RoamingFolder的访问URI:ms-appdata:///Roaming/

TemporaryFolder的访问URI:ms-appdata:///temp/

一个小提示(一个字没变的写下来):文件和文件夹的路径在URI方案名称的最后一个斜杠后面不能超过185个字符。

反正我一般会在访问比较写死的文件的时候会使用这种URI方案。

最后的我想说的是王菲的又见炊烟挺好听的。

时间: 2024-12-16 05:08:47

windowsphone8.1学习笔记之应用数据(三)的相关文章

windowsphone8.1学习笔记之应用数据(二)

上一篇说了应用数据的应用设置,这篇说说应用文件,应用文件主要分为三种:本地应用文件.漫游应用文件和临时应用文件. 获取根目录方法如下,都是返回一个StorageFolder对象(稍后介绍这个). //获取本地应用文件 ApplicationData.Current.LocalFolder; //获取漫游应用文件 ApplicationData.Current.RoamingFolder //获取临时应用文件 ApplicationData.Current.TemporaryFolder; 这里细

windowsphone8.1学习笔记之应用数据(一)

数据存储分为两种:云存储和应用数据(即本地存储),wp中的应用数据分为两种,一种是应用设置:一种是应用文件.wp的数据相关都是通过ApplicationData来实现,一个程序只有数据存储区. 先说应用设置,分为本地和漫游两种,分别通过ApplciationData.Currt.LocalSetting和ApplciationData.Currt.RoamingSetting来获取,都返回一个ApplicationDataContainer对象.本地和漫游的两种操作也都一样,所以这里已本地为例.

【Android开发学习笔记】【第三课】Activity和Intent

首先来看一个Activity当中启动另一个Activity,直接上代码说吧: (1)首先要多个Activity,那么首先在res-layout下新建一个 Other.xml,用来充当第二个Activity的布局文件 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

MySQL学习笔记之五 有关数据表操作

MySQL在创建表的时候,创建一个.frm文件保存表和列定义.索引存储在一个有.MYI(MYindex)扩展名的文件并且数据存储在有.MYD(MYData)扩展名的文件中.   一.用SHOW/ DESCRIBE语句显示数据表的信息 语法: SHOW TABLES [FROM db_name] [LIKE wild] or SHOW COLUMNS FROM tbl_name [FROM db_name] [LIKE wild] or SHOW INDEX FROM tbl_name [FROM

iOS 学习笔记——0005(数据存储)

先发一个练手的小demo,自己写的简略通讯录,已上传至github https://github.com/liaoshaolim/addressBook 1.NSKeyedArchiver:(归档) 这里用一个添加联系人的例子来说明: 注意:归档形式保存数据,需要该对象遵守NSCoding协议,而且对应的必须提供encodeWithCoder和initWithCoder方法 因为归档是一次性的,解压也是一次性的,所以小量的ok,如果量大的话,改一个小地方就要归档或解压全部,效率会比较低 //用一

capwap学习笔记&mdash;&mdash;初识capwap(三)

2.5.6 CAPWAP状态机详解 2.5.6.1 Start to Idle 这个状态变迁发生在设备初始化完成. ¢  WTP: 开启CAPWAP状态机. ¢  AC:  开启CAPWAP状态机. 2.5.6.2 Idle to Discovery 这个状态变迁发生是为了支持CAPWAP发现进程. ¢   WTP: WTP进入发现状态是为了优先去传输第一个Discovery Request message.在进入这个状态之前,WTP设置发现DiscoveryInterval timer,将Di

学习笔记:Oracle 12C 数据非常规恢复工具bbed的使用说明

ORACLE 12C 依然支持 bbed,ORACLE 12C的测试版出来了,对于习惯了使用bbed(ORACLE 手术刀)的人来说,12C是否继续被支持是一个很让人关注的问题,通过本实验测试,12C继续支持bbed,很多艰难的数据库恢复依然可以通过bbed来实现,也从侧面说明,ORACLE 12C在块的结构上还依然和以往版本相似 数据库信息 [[email protected] ~]$ sqlplus / as sysdba SQL*Plus: Release 12.1.0.0.2 Beta

iOS学习笔记---oc语言第三天

继承.初始化方法 一.继承 继承的上层:父类  继承的下层:子类 继承是单向的,不能相互继承 继承具有传递性:A继承于B,B继承于C,A具有B和C的特征和行为 子类能继承父类全部的特征和行为(私有变量也继承过来了,只是不能访问) 面向对象提供了继承语法.能大大简化代码,把公共的方法和实例对象写在父类里.子类只需要写自己独有的实例变量和方法即可 继承既能保证类的完整,又能简化代码 继承特点 oc中只允许单继承 没有父类的类称为根类,oc中得根类是NSObject(祖宗) 继承的内容:所有的实例变量

springmvc学习笔记(18)-json数据交互

springmvc学习笔记(18)-json数据交互 springmvc学习笔记18-json数据交互 springmvc进行json交互 环境准备 添加json转换的依赖 配置json转换器 json交互测试 输入json串输出是json串 输入keyvalue输出是json串 本文主要介绍如何在springmvc中进行json数据的交互,先是环境准备和配置,然后分别展示了"输入json串,输出是json串"和"输入key/value,输出是json串"两种情况下