問題タブ [android-sharedpreferences]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
102 参照

android - SharedPreference 変数で ArrayIndexOutOfBoundsException が発生するのはなぜですか?

ジョークを印刷して「お気に入り」のものを保存する簡単なアプリケーションがあります。arrayoutofbounds の問題が発生していますが、何が間違っているのかわかりません。これが私のコードです:

この部分で発生しているようです:

読み込みと保存の方法は次のとおりです。

注 ^ 上記の方法は正常に機能します。私のアプリケーションは 1 つのお気に入り配列で正しく動作しましたが、さらに追加するとクラッシュし始めました。簡単なものが欠けているに違いありませんが、見つかりません。ありがとう。

0 投票する
1 に答える
402 参照

android - 次のアクティビティのために、SharedPreferences を使用して Edittext からユーザー名を取得する

ログイン後にログインアクティビティをバイパスできると思いますが、ユーザー名を取得して次のアクティビティに渡す方法。ユーザー名の値が NULL です

ログインアクティビティはこちら

これは、メニューバーにログアウトアクションを含む私の NextActivity です

0 投票する
1 に答える
154 参照

android - リストからテキストを取得する

主な活動、

アプリケーションアダプター、

アプリケーション アダプター (onCheckedChanged) では、チェックボックスの値 (true または false) とリスト ビュー内の項目の総数 (インストールされているアプリの総数) を保存できます。同様に、すべてのアプリケーションのパッケージ名を保存したいと思います。私が保存するためにしたことは、以下の2つの方法のいずれかを使用することです.

  1. editor.putString("名前" + buttonView.getTag(), applicationInfo.packageName); //(これを onChecked に追加)
  2. editor.putString("名前" + 位置, holder.packageName.getText().toString()); //(これを getview に追加)

これら 2 つは、パッケージ名の一部のみを保存するか、何も保存しません。すべてのパッケージ名を保存するのを手伝ってください。


注: position と buttonView.getTag() の値は 0、1、2 などです。

0 投票する
3 に答える
256 参照

java - Put List in sharedPreferences

I made class Employee and I also made List<Employee> which accept object from the the class.

I put three objects in that list and I want to save them after close the app. I try to use SharedPreferences to put the list but it seem that SharedPreferences does not accept to put list in it. How can I do it?

0 投票する
2 に答える
1080 参照

android - SharedPreferences データの置換

ボタンを押すたびに文字列を取得し、sharedpreferences を使用してこの値を保存するアプリケーションがあります。ただし、この保存機能を制限したいので、最後に受信した 3 つの文字列のみを保存します。

構造は次のとおりです。 String A String B String C

次にボタンをクリックすると、値が文字列 A に記録され、古い文字列 A が文字列 B に、文字列 B の古い値が文字列 C に移動され、それに応じて文字列 C の古い値が削除されます。

現時点では、それがどのように行われたかはわかりません。

ご協力をお待ちしております。

0 投票する
2 に答える
1074 参照

android - Androidの最初のアクティビティからsharedpreferencesを削除し、アプリケーションを終了して起動する方法

共有設定をクリアして終了する関数:

マニフェスト ファイル:

私の最初のページ FirPageflipMainActivity の最初の 4 つのアクティビティは、登録後に終了します。共有設定値からアプリを削除およびクリアして終了するための特定のコードを呼び出すと、メイン アクティビティに [サインアウト] ボタンがあります。 FirPageflipMainActivity である開始ページから開始する必要があります。どこが間違っているのか教えてください。

0 投票する
3 に答える
22766 参照

android - アクティビティ/コンテキストの知識を持つプレゼンターは、MVP パターンで悪い考えですか?

ここ数週間、MVP パターンをいじっていて、 a を開始してserviceにアクセスするためのコンテキストが必要になるところまで来ましたShared Preferences

MVP の目的はビューをロジックから分離することでcontextあり、その目的を無効にするPresenter可能性があることを読みました (これについて間違っている場合は修正してください)。

現在、次のような LoginActivity があります。

LoginActivity.java

プレゼンター インターフェイス ILoginPresenter.java

最後に、プレゼンター:

LoginPresenterImpl.java

ご覧のとおり、 からActivitymyにコンテキストを渡したPresenterので、 にアクセスできますShared Preferences。コンテキストをプレゼンターに渡すことを非常に心配しています。これは大丈夫ですか?それとも他の方法でやるべきですか?

編集 Jahnold の 3 番目の設定を実装

インターフェイスと実装はほとんどすべてなので無視しましょう。これinjectingで、Sharedpreference からプレゼンターへのインターフェイスになりました。これが私のコードですAppModule

AppModule.java

コンテキストを取得する方法は、MyApplication.java

アプリケーションが開始したら、次のコード行でこのオブジェクト グラフを作成します。

これでいいですか?つまり、アクティビティからプレゼンターにコンテキストを渡す必要はなくなりましたが、アプリケーションのコンテキストはまだ持っています。