程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#中應用JSON.NET完成JSON、XML互相轉換

C#中應用JSON.NET完成JSON、XML互相轉換

編輯:C#入門知識

C#中應用JSON.NET完成JSON、XML互相轉換。本站提示廣大學習愛好者:(C#中應用JSON.NET完成JSON、XML互相轉換)文章只能為提供參考,不一定能成為您想要的結果。以下是C#中應用JSON.NET完成JSON、XML互相轉換正文


媒介

在平常開辟中的時刻,我們常常會應用ViewPager+Fragment停止視圖滑動,在某些部門邏輯或許我們須要應用高低文Context(例如根本的Toast),然則因為Fragment只是依靠在Activity容器的一個試圖,假如須要拿到以後的Activity的高低文Context就必需經由過程getActivity()獲得。

但是,不曉得列位法式猿有無遇過湧現getActivity()湧現null的時刻招致法式報出空指針異常。

其實緣由可以歸結於由於我們在:

    (一)切換fragment的時刻,會頻仍被crash

    (二)體系內存缺乏

    (三)反正屏幕切換的時刻

      ....

以下情況都邑招致Activity被體系收受接管,然則因為fragment的性命周期不會跟著Actiivty被收受接管而被收受接管,是以才會招致getActivity()湧現null的成績。

處理

這裡總結三個處理辦法:

(一)樹立Context援用

     起首我們看下Fragment的性命周期:

   在Fragment的性命周期中,在性命周期處於onAttach()onDetach()之間的時刻getActivity()辦法才不會前往null。是以我們可以在fragment初始化的時刻樹立Context援用。

fragment燒毀的時刻燒毀援用。

代碼以下:

 @Override
 public void onAttach(Activity activity) {
  super.onAttach(activity);
  mCtx = activity;//mCtx 是成員變量,高低文援用
 }

  @Override
  public void onDetach() {
  super.onDetach();
  mCtx = null;
  }

(二)公道應用getapplicationcontext()

   在辦法1中應用暫時變量存儲Context高低文援用可以或許必定水平處理成績。因為在Android中,ApplicationServiceActivity都具有高低文,getapplicationcontext()可以獲得全局的高低文,所以只需法式不封閉,獲得的context很難為null~

(三)自界說本身的application

   第三種辦法其實與第二種辦法根本道理雷同,行將自界說的application中,暫時存儲application具有的高低文Context。在法式中,經由過程單利拜訪application的時刻獲得該高低文Context

詳細應用以下:

(1)在設置裝備擺設清單注冊本身的application

<application
 android:name=".MyApplication"
 android:icon="@drawable/ic_launcher"
 android:label="@string/app_name" >

(2)在Application中的onCreate存儲高低文,而且創立單利。

public class MyApplication extends Application {

 private static MyApplication instance;

 @Override
 public void onCreate() {
  super.onCreate();
  instance = this;//存儲援用
 }

 public static MyApplication getInstance(){
  return instance;
 }
}

總結

這裡只是我總結的幾個處置辦法,固然有其他開辟者有更好的建議可以或許提出來,如許更好。年夜家一路技巧分享,讓年夜家配合提高!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved