2017-01-25 8 views
0

私のAndroidアプリケーションはWebViewを使用して、Webサイトのモバイル版を読み込んでいます。現在、私はクッキーを有効にし、JavaScriptやその他のものは使用できません。ウェブサイトではなく、アプリケーションクライアント側でログインが行われているので、私はandroidloginというクッキーを使ってログインしているかどうかを確認します。Android:自分のアプリにログインしているアカウントを確認する

クッキーがある場合は、彼らはログインしていません。私が抱えている問題は、ログインしている時です。ナビゲーション・ドロワーにログアウト・ボタンを表示したいのです。ここで

はクッキーのためのコードです:

... 
public String cookie = CookieManager.getInstance().getCookie("site.com"); 

protected void onCreate(Bundle savedInstanceState) { 
    ... 
    CookieManager.getInstance().setAcceptCookie(true); 
    ... 
} 
private void addDrawerItems() { 
    if(cookie.contains("androidlogin")) { 
     String[] osArray = { "item 1", "item 2", "Logout" }; 
    } else { 
     String[] osArray = { "item 1", "item 2" }; 
    } 
    mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, osArray); 
    ... 
} 

これは、だから私のクッキー変数が設定されている、私はログにそれを印刷することができますし、それが表示されないエラーに

Error:(76, 88) error: cannot find symbol variable osArray 

を得ていますクッキーがそこにあるものとして、しかし、どのように私は、クッキーが何を言うかによって、引き出し内で起こることを変えることができますか? phpからjavaに切り替えることは、少なくとも笑いを語るための挑戦でした。あなたはif/else内部osArrayを宣言している

おかげ

答えて

2

ので、それはあなたがそれを使用しようとしているアクセス可能な外ではありません。この方法を試してみてください:私はこの方法を試してみました

private void addDrawerItems() { 
    final String[] osArray; 
    if(cookie.contains("androidlogin")) { 
     osArray = new String[]{ "item 1", "item 2", "Logout" }; 
    } else { 
     osArray = new String[]{ "item 1", "item 2" }; 
    } 
    mAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, osArray); 
    ... 
} 
+0

、エラー '配列を初期化し得るがhere' EDITを許可されていません:あなたの編集後にそれが動作します。ありがとうございます:) – Kaboom

+0

申し訳ありません。それを修正する答えを更新しました。 –

関連する問題