我在我的项目中使用SharedPreference
。
我知道sharedPreference
可以使用Set<String>
存储prefs.putStringSet()
。但我有一种情况需要在Set<Set<String>>
中存储sharedPreference
。
我怎样才能做到这一点?
答案 0 :(得分:3)
您可以使用 Gson 将Set<Set<String>>
转换为字符串,然后将其保存在sharepreference
中,但没有直接的方法可以在sharepreference
<中保存此类型/ p>
Gson gson = new Gson();
String jsonObject = gson.toJson(your_set_variable);
editor.putString(KEY_PROJECTS, jsonObject );
editor.commit();
已更新: 这是谷歌的Gson库,如果你需要使用它,将它添加到你的gradle依赖项中
compile 'com.google.code.gson:gson:2.8.0'
这个库为你提供了将你拥有的任何对象转换为字符串,然后将这个json字符串转换为你想要的类型,stackoverflow和google有许多例子可以使用它
答案 1 :(得分:0)
您不能使用SharedPreferences执行此操作,但可以将该集保存到文件中。
import math
import bisect
numbers = list(range(1, 20162))
tot = set()
numberabundance = []
abundant = []
for n in numbers:
m = 2
divisorsum = 1
while m <= math.sqrt(n):
if n % m == 0:
divisorsum += m + (n / m)
m += 1
if math.sqrt(n) % 1 == 0:
divisorsum -= math.sqrt(n)
if divisorsum > n:
numberabundance.append(1)
else:
numberabundance.append(0)
temp = 1
# print(numberabundance)
for each in numberabundance:
if each == 1:
abundant.append(temp)
temp += 1
abundant_set = set(abundant)
print(abundant_set)
for i in range(12, 20162):
for k in abundant:
if i - k in abundant_set:
tot.add(i)
break
elif i - k < i / 2:
break
print(sum(numbers.difference(tot)))
编辑:然后您可以像这样加载它。
$('#DateSelector').val('30')
datePeriod();
function datePeriod() {
let datePeriod = $("#DateSelector").val();
$("#DateShow").html(datePeriod);
$.getJSON(`https://discovrbookings.innocraft.cloud/?module=API&method=API.get&format=json&idSite=2&period=day&date=last${datePeriod}&token_auth=68aa5bd12137f13255dcb98794b65dff`, (data) => {
//console.log(data);
let visitors = 0;
let uniq_visitors = 0;
let pageviews = 0;
let uniq_pageviews = 0;
let actions = 0;
let outlinks = 0;
let bounces = 0;
let avgtime = 0;
for (i in data) {
if (data[i].nb_visits) {
visitors += data[i].nb_visits;
}
if (data[i].nb_uniq_visitors) {
uniq_visitors += data[i].nb_uniq_visitors;
}
if (data[i].nb_pageviews) {
pageviews += data[i].nb_pageviews;
}
if (data[i].nb_uniq_pageviews) {
uniq_pageviews += data[i].nb_uniq_pageviews;
}
if (data[i].nb_actions) {
actions += data[i].nb_actions;
}
if (data[i].nb_outlinks) {
outlinks += data[i].nb_outlinks;
}
if (data[i].bounce_count) {
bounces += data[i].bounce_count;
}
if (data[i].avg_time_on_site) {
avgtime += data[i].avg_time_on_site;
}
}
$("#visitors").html(visitors);
$("#uniq_visitors").html(uniq_visitors);
$("#pageviews").html(pageviews);
$("#uniq_pageviews").html(uniq_pageviews);
$("#actions").html(actions);
$("#outlinks").html(outlinks);
$("#bounces").html(bounces);
$("#avgtime").html(avgtime / datePeriod);
});
}