Accessing the Filesystem
Now that the applications for all three platforms are ready to go,
it’s time to look at some options for implementing INoteRepository
to actually store and retrieve
the data. One thing to note here is how far you were able to get before
having to actually provide this implementation. By applying the
abstraction pattern introduced in Chapter 3, the applications were able to work
against the interface instead of worrying about the implementation
details.
Direct File Access
The first option for persisting data is to simply write to and
read from files on the device. The .NET Base Class Library provides a
rich set of classes for accessing files, directories, and data streams,
which are mostly found in the System.IO
namespace. Both iOS and Android give
you direct access to the filesystem, meaning that you can access files
the same way you would on a computer, using the same System.IO
classes. Example 5-26 shows some examples of using some
System.IO
classes to read and write
files, but is by no means exhaustive, as the Base Class Library includes
an extensive set of classes you can leverage.
Example 5-26. Accessing a file directly
// 1) writing to a file using convenience method on File File.WriteAllText("/path/to/file", "Foo, bar, baz."); // 2) writing to a file using a stream using (var writer = new StreamWriter("/path/to/file")) { writer.WriteLine("Foo, bar, baz."); } // 3) reading from a file using convenience method on File string fileContents = File.ReadAllText("/path/to/file"); ...
Get Mobile Development with C# now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.