Preferences.java

本文介绍了一个用于管理Android应用中偏好设置的实用类。该类提供了一系列方法来方便地读取和写入偏好设置数据,包括布尔值、整数、浮点数等多种数据类型。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1 import android.content.Context;
 2 import android.content.SharedPreferences;
 3 
 4 import java.util.Set;
 5 
 6 public class Preferences {
 7     private static final String PREFERENCES_MAIN = K.app.package_name + ".main";
 8     private static Preferences singleton = null;
 9 
10     private SharedPreferences pref;
11     private SharedPreferences.Editor editor;
12 
13     public Preferences (Context context, String prefName) {
14         pref = context.getSharedPreferences(prefName, Context.MODE_PRIVATE);
15         editor = pref.edit();
16     }
17     public Preferences (String prefName) {
18         this(App.getInstance(), prefName);
19     }
20 
21     public static Preferences getInstance () {
22         if (singleton == null) {
23             singleton = new Preferences(PREFERENCES_MAIN);
24         }
25         return singleton;
26     }
27 
28     public boolean contains (String key) { return pref.contains(key); }
29 
30     public boolean get (String key, boolean def) { return pref.getBoolean(key, def); }
31     public int get (String key, int def) { return pref.getInt(key, def); }
32     public long get (String key, long def) { return pref.getLong(key, def); }
33     public float get (String key, float def) { return pref.getFloat(key, def); }
34     public Set<String> get (String key, Set<String> def) { return pref.getStringSet(key, def); }
35     public String get (String key) { return get(key, ""); }
36     public String get (String key, String def) { return pref.getString(key, def == null ? "" : def); }
37 
38     public Preferences put (String key, boolean value) { getEditor().putBoolean(key, value); return this; }
39     public Preferences put (String key, int value) { getEditor().putInt(key, value); return this; }
40     public Preferences put (String key, long value) { getEditor().putLong(key, value); return this; }
41     public Preferences put (String key, float value) { getEditor().putFloat(key, value); return this; }
42     public Preferences put (String key, String value) { getEditor().putString(key, value == null ? "" : value); return this;  }
43     public Preferences put (String key, Set<String> value) { getEditor().putStringSet(key, value); return this; }
44 
45     public Preferences remove (String key) { editor.remove(key); return this; }
46     public Preferences clear () { editor.clear(); return this; }
47 
48     public Preferences commit () {
49 //        if (editor != null) {
50 //            editor.commit();
51 //            editor = null;
52 //        }
53         editor.commit();
54         return this;
55     }
56 
57     private SharedPreferences.Editor getEditor () {
58         if (editor == null) {
59             editor = pref.edit();
60         }
61         return editor;
62     }
63 }

 

转载于:https://www.cnblogs.com/thens/p/5513697.html

java.net.SocketException: Connection reset at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:328) at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355) at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808) at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:484) at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1510) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1425) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:589) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:187) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:308) at com.intellij.util.io.HttpRequests.openConnection(HttpRequests.java:619) at com.intellij.util.io.HttpRequests$RequestImpl.getConnection(HttpRequests.java:361) at com.intellij.ide.plugins.marketplace.MarketplaceRequests$Companion.readOrUpdateFile$lambda$8(MarketplaceRequests.kt:185) at com.intellij.util.io.HttpRequests.doProcess(HttpRequests.java:524) at com.intellij.util.io.HttpRequests.process(HttpRequests.java:506) at com.intellij.util.io.HttpRequests$RequestBuilderImpl.connect(HttpRequests.java:335) at com.intellij.ide.plugins.marketplace.MarketplaceRequests$Companion.readOrUpdateFile(MarketplaceRequests.kt:182) at com.intellij.ide.plugins.marketplace.MarketplaceRequests.getMarketplacePlugins(MarketplaceRequests.kt:273) at com.intellij.openapi.updateSettings.impl.UpdateChecker.findUpdatesInJetBrainsRepository(UpdateChecker.kt:377) at com.intellij.openapi.updateSettings.impl.UpdateChecker.updateDescriptorsForInstalledPlugins$lambda$6(UpdateChecker.kt:239) at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:249) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at com.intellij.util.concurrency.ContextCallable.call(ContextCallable.java:32) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:27) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:840) 2025-05-27 10:00:18,485 [ 45143] SEVERE - #c.i.o.a.i.ApplicationImpl - IntelliJ IDEA 2023.3.6 Build #IC-233.15026.9 2025-05-27 10:00:18,486 [ 45144] SEVERE - #c.i.o.a.i.ApplicationImpl - JDK: 17.0.10; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o. 2025-05-27 10:00:18,486 [ 45144] SEVERE - #c.i.o.a.i.ApplicationImpl - OS: Linux 2025-05-27 10:00:35,395 [ 62053] WARN - #c.i.u.x.Binding - no accessors for com.intellij.ide.util.TipsUsageManager$State 2025-05-27 10:03:08,978 [ 215636] WARN - #c.i.o.o.e.ConfigurableCardPanel - auto-dispose '插件' id=preferences.pluginManager 2025-05-27 10:03:14,142 [ 220800] WARN - #c.i.o.o.e.ConfigurableExtensionPointUtil - ignore deprecated groupId: language for id: preferences.language.Kotlin.scripting 2025-05-27 10:03:49,540 [ 256198] WARN - #c.i.o.o.e.ConfigurableCardPanel - auto-dispose '插件' id=preferences.pluginManager 2025-05-27 10:06:00,498 [ 387156] WARN - #c.i.f.f.SettingsConnectionService - Read timed out java.net.SocketTimeoutException: Read timed out at java.base/sun.nio.ch.NioSocketImpl.timedRead(NioSocketImpl.java:288) at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:314) at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:355) at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:808) at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966) at java.base/sun.security.ssl.SSLSocketInputRecord.read(SSLSocketInputRecord.java:484) at java.base/sun.security.ssl.SSLSocketInputRecord.readHeader(SSLSocketInputRecord.java:478) at java.base/sun.security.ssl.SSLSocketInputRecord.decode(SSLSocketInputRecord.java:160) at java.base/sun.security.ssl.SSLTransport.decode(SSLTransport.java:111) at java.base/sun.security.ssl.SSLSocketImpl.decode(SSLSocketImpl.java:1510) at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(SSLSocketImpl.java:1425) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:455) at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:426) at java.base/sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:589) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:187) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:308) at com.intellij.util.io.HttpRequests.openConnection(HttpRequests.java:619) at com.intellij.util.io.HttpRequests$RequestImpl.getConnection(HttpRequests.java:361) at com.intellij.util.io.HttpRequests$RequestImpl.getInputStream(HttpRequests.java:369) at com.intellij.facet.frameworks.SettingsConnectionService.lambda$readSettings$0(SettingsConnectionService.java:51) at com.intellij.util.io.HttpRequests.doProcess(HttpRequests.java:524) at com.intellij.util.io.HttpRequests.process(HttpRequests.java:506) at com.intellij.util.io.HttpRequests$RequestBuilderImpl.connect(HttpRequests.java:335) at com.intellij.util.io.RequestBuilder.connect(RequestBuilder.java:58) at com.intellij.facet.frameworks.SettingsConnectionService.readSettings(SettingsConnectionService.java:48) at com.intellij.facet.frameworks.SettingsConnectionService.getSettingValue(SettingsConnectionService.java:75) at com.intellij.facet.frameworks.SettingsConnectionService.getServiceUrl(SettingsConnectionService.java:68) at org.jetbrains.plugins.scala.statistics.CompilerPluginsWhiteList$.createRequestUrl(CompilerPluginsWhiteList.scala:23) at org.jetbrains.plugins.scala.statistics.CompilerPluginsWhiteList$.get$lzycompute(CompilerPluginsWhiteList.scala:15) at org.jetbrains.plugins.scala.statistics.CompilerPluginsWhiteList$.get(CompilerPluginsWhiteList.scala:13) at org.jetbrains.plugins.scala.statistics.ScalaProjectStateCollector$.<clinit>(ScalaProjectStateCollector.scala:75) at org.jetbrains.plugins.scala.statistics.ScalaProjectStateCollector.getGroup(ScalaProjectStateCollector.scala:27) at com.intellij.internal.statistic.service.fus.collectors.FeatureUsagesCollector.getGroupId(FeatureUsagesCollector.java:37) at com.intellij.internal.statistic.service.fus.collectors.FeatureUsagesCollector.isValid(FeatureUsagesCollector.java:27) at com.intellij.internal.statistic.service.fus.collectors.UsageCollectors.isValidCollector(UsageCollectors.kt:53) at com.intellij.internal.statistic.service.fus.collectors.UsageCollectors.access$isValidCollector(UsageCollectors.kt:9) at com.intellij.internal.statistic.service.fus.collectors.UsageCollectors$getProjectCollectors$2.invoke(UsageCollectors.kt:48) at com.intellij.internal.statistic.service.fus.collectors.UsageCollectors$getProjectCollectors$2.invoke(UsageCollectors.kt:48) at kotlin.sequences.FilteringSequence$iterator$1.calcNext(Sequences.kt:171) at kotlin.sequences.FilteringSequence$iterator$1.hasNext(Sequences.kt:194) at kotlin.sequences.SequencesKt___SequencesKt.toList(_Sequences.kt:816) at com.intellij.internal.statistic.service.fus.collectors.UsageCollectors.getProjectCollectors$intellij_platform_statistics(UsageCollectors.kt:49) at com.intellij.internal.statistic.service.fus.collectors.ProjectFUStateUsagesLogger$logProjectState$2.invokeSuspend(FUStateUsagesLogger.kt:225) at com.intellij.internal.statistic.service.fus.collectors.ProjectFUStateUsagesLogger$logProjectState$2.invoke(FUStateUsagesLogger.kt) at com.intellij.internal.statistic.service.fus.collectors.ProjectFUStateUsagesLogger$logProjectState$2.invoke(FUStateUsagesLogger.kt) at kotlinx.coroutines.intrinsics.UndispatchedKt.startUndispatchedOrReturn(Undispatched.kt:78) at kotlinx.coroutines.CoroutineScopeKt.coroutineScope(CoroutineScope.kt:264) at com.intellij.internal.statistic.service.fus.collectors.ProjectFUStateUsagesLogger.logProjectState(FUStateUsagesLogger.kt:223) at com.intellij.internal.statistic.service.fus.collectors.ProjectFUStateUsagesLogger.logProjectStateRegularly(FUStateUsagesLogger.kt:218) at com.intellij.internal.statistic.service.fus.collectors.ProjectFUStateUsagesLogger.access$logProjectStateRegularly(FUStateUsagesLogger.kt:198) at com.intellij.internal.statistic.service.fus.collectors.ProjectFUStateUsagesLogger$logProjectStateRegularly$1.invokeSuspend(FUStateUsagesLogger.kt) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108) at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:793) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:697) at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:684) 2025-05-27 10:22:25,846 [1372504] WARN - #c.i.o.o.e.ConfigurableExtensionPointUtil - ignore deprecated groupId: language for id: preferences.language.Kotlin.scripting 2025-05-27 10:22:28,924 [1375582] SEVERE - #c.i.o.a.i.ApplicationImpl - 连接被拒绝 java.net.ConnectException: 连接被拒绝 at java.base/sun.nio.ch.Net.pollConnect(Native Method) at java.base/sun.nio.ch.Net.pollConnectNow(Net.java:672) at java.base/sun.nio.ch.NioSocketImpl.timedFinishConnect(NioSocketImpl.java:554) at java.base/sun.nio.ch.NioSocketImpl.connect(NioSocketImpl.java:602) at java.base/java.net.SocksSocketImpl.connect(SocksSocketImpl.java:327) at java.base/java.net.Socket.connect(Socket.java:633) at java.base/sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:304) at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:178) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:533) at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:638) at java.base/sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:266) at java.base/sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:380) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:193) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1287) at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1128) at java.base/sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:179) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1665) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1589) at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:529) at java.base/sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:308) at com.intellij.util.io.HttpRequests.openConnection(HttpRequests.java:619) at com.intellij.util.io.HttpRequests$RequestImpl.getConnection(HttpRequests.java:361) at com.intellij.ide.plugins.marketplace.MarketplaceRequests$Companion.readOrUpdateFile$lambda$8(MarketplaceRequests.kt:185) at com.intellij.util.io.HttpRequests.doProcess(HttpRequests.java:524) at com.intellij.util.io.HttpRequests.process(HttpRequests.java:506) at com.intellij.util.io.HttpRequests$RequestBuilderImpl.connect(HttpRequests.java:335) at com.intellij.ide.plugins.marketplace.MarketplaceRequests$Companion.readOrUpdateFile(MarketplaceRequests.kt:182) at com.intellij.ide.plugins.marketplace.MarketplaceRequests.getMarketplacePlugins(MarketplaceRequests.kt:273) at com.intellij.openapi.updateSettings.impl.UpdateChecker.findUpdatesInJetBrainsRepository(UpdateChecker.kt:377) at com.intellij.openapi.updateSettings.impl.UpdateChecker.updateDescriptorsForInstalledPlugins$lambda$6(UpdateChecker.kt:239) at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:249) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) at com.intellij.util.concurrency.ContextCallable.call(ContextCallable.java:32) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at com.intellij.util.concurrency.ContextRunnable.run(ContextRunnable.java:27) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699) at java.base/java.security.AccessController.doPrivileged(AccessController.java:399) at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699) at java.base/java.lang.Thread.run(Thread.java:840) 2025-05-27 10:22:28,930 [1375588] SEVERE - #c.i.o.a.i.ApplicationImpl - IntelliJ IDEA 2023.3.6 Build #IC-233.15026.9 2025-05-27 10:22:28,930 [1375588] SEVERE - #c.i.o.a.i.ApplicationImpl - JDK: 17.0.10; VM: OpenJDK 64-Bit Server VM; Vendor: JetBrains s.r.o. 2025-05-27 10:22:28,930 [1375588] SEVERE - #c.i.o.a.i.ApplicationImpl - OS: Linux 2025-05-27 10:22:45,639 [1392297] WARN - #c.i.o.o.e.ConfigurableCardPanel - auto-dispose '插件' id=preferences.pluginManager hadoop@master:/usr/local/idea/bin$
最新发布
05-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值