2015-06-06 4 views
-2

У меня есть объект подачи, который заполняется десериализованными данными json. Я пытаюсь передать объект подачи между двумя действиями xamarin android.Как пройти Объекты между действиями

Как это сделать?

Мне известно о putseriazable, но я не уверен, как это реализовать.

public class Feed 
{ 
    public class Author 
    { 
     public int id { get; set; } 
     public string slug { get; set; } 
     public string name { get; set; } 
     public string first_name { get; set; } 
     public string last_name { get; set; } 
     public string nickname { get; set; } 
     public string url { get; set; } 
     public string description { get; set; } 
    }  

    public class CustomFields 
    { 
     public List<string> sno_headline { get; set; } 
     public List<string> sno_deck { get; set; } 
     public List<string> sno_format { get; set; } 
     public List<string> sno_longform_order { get; set; } 
     public List<string> sno_longform_title { get; set; } 
     public List<string> sno_sr_tag { get; set; } 
     public List<string> sno_sr_cat { get; set; } 
     public List<string> sno_sr_title { get; set; } 
     public List<string> sno_longform_main_title { get; set; } 
     public List<string> sno_rails_number { get; set; } 
     public List<string> sno_rails_writer { get; set; } 
     public List<string> sno_rails_type { get; set; } 
     public List<string> sno_rails_stories { get; set; } 
     public List<string> sno_longform_image { get; set; } 
     public List<string> sno_longform_image_master { get; set; } 
     public List<string> sno_teaser { get; set; } 
     public List<string> writer { get; set; } 
     public List<string> jobtitle { get; set; } 
     public List<string> featureimage { get; set; } 
     public List<string> video { get; set; } 
     public List<string> videographer { get; set; } 
     public List<string> videolocation { get; set; } 
     public List<string> related { get; set; } 
     public List<string> audio { get; set; } 
     public List<string> customlink { get; set; } 
     public List<string> story_sport { get; set; } 
     public List<string> teasertitle { get; set; } 
     public List<string> teaser { get; set; } 
     public List<string> grade { get; set; } 
     public List<string> showratings { get; set; } 
     public List<string> date { get; set; } 
     public List<string> ourscore { get; set; } 
     public List<string> theirscore { get; set; } 
     public List<string> opponent { get; set; } 
     public List<string> sport { get; set; } 
    } 

    public class Full 
    { 
     public string url { get; set; } 
     public int width { get; set; } 
     public int height { get; set; } 
    } 

    public class Thumbnail 
    { 
     public string url { get; set; } 
     public int width { get; set; } 
     public int height { get; set; } 
    } 

    public class Medium 
    { 
     public string url { get; set; } 
     public int width { get; set; } 
     public int height { get; set; } 
    } 

    public class Large 
    { 
     public string url { get; set; } 
     public int width { get; set; } 
     public int height { get; set; } 
    } 

    public class Carouselthumb 
    { 
     public string url { get; set; } 
     public int width { get; set; } 
     public int height { get; set; } 
    } 

    public class Tsmediumblock 
    { 
     public string url { get; set; } 
     public int width { get; set; } 
     public int height { get; set; } 
    } 

    public class Tsbigblock 
    { 
     public string url { get; set; } 
     public int width { get; set; } 
     public int height { get; set; } 
    } 

    public class Small 
    { 
     public string url { get; set; } 
     public int width { get; set; } 
     public int height { get; set; } 
    } 

    public class ThumbnailImages 
    { 
     public Full full { get; set; } 
     public Thumbnail thumbnail { get; set; } 
     public Medium medium { get; set; } 
     public Large large { get; set; } 
     public Carouselthumb carouselthumb { get; set; } 
     public Tsmediumblock tsmediumblock { get; set; } 
     public Tsbigblock tsbigblock { get; set; } 
     public Small small { get; set; } 
    } 

    public class Post 
    { 
     public int id { get; set; } 
     public string type { get; set; } 
     public string slug { get; set; } 
     public string url { get; set; } 
     public string status { get; set; } 
     public string title { get; set; } 
     public string title_plain { get; set; } 
     public string content { get; set; } 
     public string excerpt { get; set; } 
     public string date { get; set; } 
     public string modified { get; set; } 
     public List<object> categories { get; set; } 
     public List<object> tags { get; set; } 
     public Author author { get; set; } 
     public List<object> comments { get; set; } 
     public List<object> attachments { get; set; } 
     public int comment_count { get; set; } 
     public string comment_status { get; set; } 
     public CustomFields custom_fields { get; set; } 
     public string thumbnail { get; set; } 
     public string thumbnail_size { get; set; } 
     public ThumbnailImages thumbnail_images { get; set; } 
    } 

    public class Query 
    { 
     public bool ignore_sticky_posts { get; set; } 
    } 

    public class RootObject 
    { 
     public string status { get; set; } 
     public int count { get; set; } 
     public int count_total { get; set; } 
     public int pages { get; set; } 
     public List<Post> posts { get; set; } 
     public Query query { get; set; } 
    } 
} 

ответ

2

Вы можете использовать Newtonsoft JSon преобразовать класс в строку JSON и передать строку, а затем десериализации его в новой деятельности.

Убедитесь, что вы ссылаетесь Newtonsoft JSON

var MySerializedObject = JsonConvert.SerializeObject(MyComplexObject); 
MyIntent.PutExtra("MyComplexObject", MySerializedObject); 

Затем, чтобы получить его обратно к объекту ...

var MyJsonString = Intent.GetStringExtra("MyComplexObject"); 
var MyObject = JsonConvert.DeserializeObject<ObjectType>(MyJsonString); 

Просто убедитесь, что MyJsonString это именно то, что вы ожидаете, и не нуль перед десериализацией, в противном случае это может вызвать исключение.

Смежные вопросы