Xamarin android 的WebClient Json下载并蕴藏本地和sqlite数据库

即时一点雕虫小技可能针对习的人吧早已不值一提。但是自己眷恋,既然这些还是常用之职能,集成在一齐开只记为发接触意思吧。

第一,json
是传递数据的事实标准了。所以先说一下将它于劳动器端下载下来。.net
里之库是最好好的,这吗是自家本着Xamarin颇有好感的一个由。一个WebClient就可以用其他数据下载下来,爽极了。

System.Net.WebClient wc = new System.Net.WebClient();
string s = wc.DownloadString(http://192.168.0.100/data.json);

理所当然,服务器端要来这个文件,或者一个能回到json数据的网页。

生一样步,如果自己想将此文件保留及地面呢?也好办,用一个System.IO.File,一句话即可搞定。System.IO.File.WriteAllText(“localdata.json”,s);

此处要小心的是,本地文件保留之时段关系到权力。所以最好保存至应用之私房空间内,也确保了安康,象下这样。

string fn = System.IO.Path.Combine(System.Environment.GetFolderPathSystem.Environment.SpecialFolder.Personal) ,"localdata.json");
System.IO.File.WriteAllText(fn,s);

假若无提到到数据库的情节,到这个就寿终正寝了。

而是,有很多需是思念管劳务器端的数码保存及当地数据库。这样用起来方便且快。安卓中不过常用之数据库是SQLite.
与的相应的库房是SQLite.net.
这个库房也是最好的,使用起来最方便。同时,他也是一个ORM,所以满足了多数人数的脾胃。

行使时,需要引用它的Package,直接install-package。但是当斯前面,我思拿json数据变成对象又保存在数据库里,这样用起方便。所以先引用json库。

 install-package Newtonsoft.json 

它们自动为下载了配合当前工程的流行版本,目前的本是10.0.2。然后写代码,编译。

有题目了。竟然编译不通过!说她依靠的一个储藏室或者无匹配Xamarin android
profile。
折腾了杀漫长,最后安装了6.0.0本子,编译通过了。到今日莫晓呀来头。

累加引用后,就要用了。我先是将前的json文件反序列化成靶子列表,我这边定义了一个User类。

 List<User> list= JsonConvert.DeserializeObject<List<User>>(s);

甚至死万事如意地成了。
生一样步要引用SQLite.net库了。这次大顺利,没来什么乱子。

Install-Package sqlite-net-pcl

于是底凡sqlite-net-pcl,专门为走装备用的吧?
下一步,建表。

 var cnn= new SQLite.SQLiteConnection(Helper.PrivateFileName("db"));
 cnn.CreateTable<User>();

用事先树SQLiteConnection对象,参数是地面的数据库文件称。然后据此CreateTable<T>来建表。

通下去,把数据插入表中。

 cnn.InsertAll(list);

重复下,查询所有数量。

List<User> users = cnn.Table<User>().ToList();

代码都是那么简单,那样漂亮,几乎都是同样句子。

感的是C#和.net库,处处透露正在简单至上的眼光,非常喜欢这品格。不像一些语言,总是将大概问题复杂化,非要把什么事物还定义成类,有故弄玄虚之恶。

今天便先行到这边吧,以后再说点更详实的事物。

 

网站地图xml地图