mirror of
				https://github.com/Nioux/AideDeJeu.git
				synced 2025-10-30 23:16:09 +00:00 
			
		
		
		
	Début de gestion de cache avec Akavache
This commit is contained in:
		
							parent
							
								
									aea9b24493
								
							
						
					
					
						commit
						f741c229a2
					
				
					 6 changed files with 36 additions and 8 deletions
				
			
		|  | @ -26,6 +26,7 @@ namespace AideDeJeu.Droid | |||
| 		 | ||||
| 		public static void UpdateIdValues() | ||||
| 		{ | ||||
| 			global::Splat.Resource.String.library_name = global::AideDeJeu.Droid.Resource.String.library_name; | ||||
| 			global::Xamarin.Forms.Platform.Android.Resource.Attribute.actionBarSize = global::AideDeJeu.Droid.Resource.Attribute.actionBarSize; | ||||
| 		} | ||||
| 		 | ||||
|  | @ -3730,6 +3731,9 @@ namespace AideDeJeu.Droid | |||
| 			// aapt resource value: 0x7f090038 | ||||
| 			public const int character_counter_pattern = 2131296312; | ||||
| 			 | ||||
| 			// aapt resource value: 0x7f09003e | ||||
| 			public const int library_name = 2131296318; | ||||
| 			 | ||||
| 			// aapt resource value: 0x7f090000 | ||||
| 			public const int mr_button_content_description = 2131296256; | ||||
| 			 | ||||
|  |  | |||
|  | @ -12,7 +12,6 @@ namespace AideDeJeu | |||
| 		{ | ||||
| 			InitializeComponent(); | ||||
| 
 | ||||
| 
 | ||||
|             MainPage = new NavigationPage(new MainPage()); | ||||
|         } | ||||
| 
 | ||||
|  |  | |||
|  | @ -65,7 +65,7 @@ namespace AideDeJeu.Services | |||
|         { | ||||
|             var scrapper = new Scrappers(); | ||||
|             var spells = await scrapper.GetSpells(await scrapper.GetSpellIds("c")); | ||||
|             items = spells.Select(spell => new Item() { Text = spell.Title, Description = spell.Description }).ToList(); | ||||
|             items = spells.Select(spell => new Item() { Text = spell.Title, Description = spell.DescriptionText }).ToList(); | ||||
|             return await Task.FromResult(items); | ||||
|         } | ||||
|     } | ||||
|  |  | |||
|  | @ -5,7 +5,9 @@ | |||
|   </PropertyGroup> | ||||
| 
 | ||||
|   <ItemGroup> | ||||
|     <PackageReference Include="HtmlAgilityPack" Version="1.8.0" /> | ||||
|     <PackageReference Include="akavache.core" Version="5.0.0" /> | ||||
|     <PackageReference Include="AkavacheLite" Version="0.3.0" /> | ||||
|     <PackageReference Include="HtmlAgilityPack" Version="1.8.1" /> | ||||
|   </ItemGroup> | ||||
| 
 | ||||
| </Project> | ||||
|  |  | |||
|  | @ -1,4 +1,5 @@ | |||
| using HtmlAgilityPack; | ||||
| using Akavache; | ||||
| using HtmlAgilityPack; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Diagnostics; | ||||
|  | @ -9,6 +10,7 @@ using System.Runtime.Serialization; | |||
| using System.Runtime.Serialization.Json; | ||||
| using System.Text.RegularExpressions; | ||||
| using System.Threading.Tasks; | ||||
| using System.Reactive.Linq; | ||||
| 
 | ||||
| namespace AideDeJeuLib | ||||
| { | ||||
|  | @ -77,7 +79,7 @@ namespace AideDeJeuLib | |||
|             return spells; | ||||
|         } | ||||
| 
 | ||||
|         public async Task<Spell> GetSpell(string id) | ||||
|         public async Task<Spell> GetSpellFromSource(string id) | ||||
|         { | ||||
|             string html = null; | ||||
|             using (var client = GetHttpClient()) | ||||
|  | @ -93,10 +95,17 @@ namespace AideDeJeuLib | |||
|             var newSpells = new List<Spell>(); | ||||
|             var divSpell = pack.DocumentNode.SelectNodes("//div[contains(@class,'bloc')]").FirstOrDefault(); | ||||
|             var newSpell = HtmlDivToSpell(divSpell); | ||||
| 
 | ||||
|             return newSpell; | ||||
|         } | ||||
| 
 | ||||
|         public async Task<Spell> GetSpell(string id) | ||||
|         { | ||||
|             BlobCache.ApplicationName = "AkavacheExperiment"; | ||||
|             //await BlobCache.UserAccount.InsertObject(id, newSpell); | ||||
|             var truc = await BlobCache.UserAccount.GetOrFetchObject<Spell>(id, () => GetSpellFromSource(id)); | ||||
|             return truc; | ||||
|         } | ||||
| 
 | ||||
|         public Spell HtmlDivToSpell(HtmlNode divSpell) | ||||
|         { | ||||
|             var newSpell = new Spell(); | ||||
|  |  | |||
|  | @ -1,6 +1,7 @@ | |||
| using HtmlAgilityPack; | ||||
| using System; | ||||
| using System.Collections.Generic; | ||||
| using System.Runtime.Serialization; | ||||
| using System.Text; | ||||
| using System.Text.RegularExpressions; | ||||
| 
 | ||||
|  | @ -20,8 +21,20 @@ namespace AideDeJeuLib | |||
|         public string Range { get; set; } | ||||
|         public string Components { get; set; } | ||||
|         public string Duration { get; set; } | ||||
|         public string DescriptionHtml { get { return DescriptionDiv?.InnerHtml; } } | ||||
|         public string Description | ||||
|         public string DescriptionHtml | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|                 return DescriptionDiv?.InnerHtml; | ||||
|             } | ||||
|             set | ||||
|             { | ||||
|                 HtmlDocument doc = new HtmlDocument(); | ||||
|                 doc.LoadHtml(value); | ||||
|                 DescriptionDiv = doc.DocumentNode; | ||||
|             } | ||||
|         } | ||||
|         public string DescriptionText | ||||
|         { | ||||
|             get | ||||
|             { | ||||
|  | @ -41,6 +54,7 @@ namespace AideDeJeuLib | |||
|                 return html; | ||||
|             } | ||||
|         } | ||||
|         [IgnoreDataMember] | ||||
|         public HtmlNode DescriptionDiv { get; set; } | ||||
|         public string Overflow { get; set; } | ||||
|         public string NoOverflow { get; set; } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Yan Maniez
						Yan Maniez