2017-01-20 10 views
0

私は、HTTPリクエストを持っているアプリケーションで作業しています。私はこれをサービスと呼んでいます。しかし、私の問題は、要求されたURLが、フラグメント内のEditTextでユーザーによって設定されていることです。フィールドのテキストを共有設定で保存していますが、フラグメントが死んだときにURLにnullポインタが返されました。私は私が私が私のサービスにコールするために常に保存されますように(私のURL)この属性を保存することができます方法を知りたいAndroid - サービスからのURLへのアクセス(Httpリクエスト)

HttpConnection.getSetDataWeb(Fragment.myUrl); 

:私はこのようなURLを設定します。

私はビットの混同である知っている...申し訳ありません..

ありがとう!

+0

それがnullだかどうかを確認し、それがある場合は、それを取得SharedPreferencesから。 –

+0

URLを共有設定またはアプリケーションクラスに格納して使用します。使用する前に値がnullかどうかをチェックします。 – Siva

答えて

0

あなたのSharedPreferenceが空でないことを確認するために、あなたのサービスにはこのようなものを使用することができます:あなたは、あなたのサービスでそれを使用する前に、

if(url == null) 
{ 
    SharedPreferences prefs = getApplicationContext().getSharedPreferences("FILEKEY", Context.MODE_PRIVATE); 
    url = prefs.getString("myurl", null); 
} 
+0

ねえ。ご回答ありがとうございます。私はなぜpass( "myurl"、null)を理解できませんでした。なぜヌル?問題は、データを含むフラグメントが私の主なフラグメントではないということです。たとえば、アプリケーションを終了して再び起動すると、サービスはURLにNULLポインタを返します。 –

+0

nullは単にデフォルトですSharedPreferenceはURLを見つけられません(たとえば、まだ保存していない場合など)。それを他のものに変更することができます。 –

関連する問題