pref = PreferenceManager.getDefaultSharedPreferences(this);
时间: 2023-06-27 08:03:30 浏览: 56
这段代码是在 Android 中使用 SharedPreferences 存储应用程序的偏好设置(preferences)。SharedPreferences 是一个轻量级的键值存储对象,用于存储简单的数据类型,如布尔值、整数、浮点数和字符串等。getDefaultSharedPreferences() 方法返回一个默认的 SharedPreferences 实例,该实例使用应用程序的包名作为键来存储偏好设置。此外,还可以使用 getSharedPreferences() 方法创建一个指定名称的 SharedPreferences 实例。
相关问题
if (cursor != null) { final PreferenceGroup apnPrefList = (PreferenceGroup) findPreference("apn_list"); apnPrefList.removeAll(); final ArrayList<ApnPreference> apnList = new ArrayList<ApnPreference>(); final ArrayList<ApnPreference> mmsApnList = new ArrayList<ApnPreference>(); mSelectedKey = getSelectedApnKey(); cursor.moveToFirst(); while (!cursor.isAfterLast()) { final String name = cursor.getString(NAME_INDEX); final String apn = cursor.getString(APN_INDEX); final String key = cursor.getString(ID_INDEX); final String type = cursor.getString(TYPES_INDEX); final int edited = cursor.getInt(EDITED_INDEX); mMvnoType = cursor.getString(MVNO_TYPE_INDEX); mMvnoMatchData = cursor.getString(MVNO_MATCH_DATA_INDEX); final ApnPreference pref = new ApnPreference(getPrefContext()); pref.setKey(key); pref.setTitle(name); pref.setPersistent(false); pref.setOnPreferenceChangeListener(this); pref.setSubId(subId); if (mHidePresetApnDetails && edited == Telephony.Carriers.UNEDITED) { pref.setHideDetails(); } else { pref.setSummary(apn); } final boolean selectable = ((type == null) || type.contains(ApnSetting.TYPE_DEFAULT_STRING)); pref.setSelectable(selectable); if (selectable) { if ((mSelectedKey != null) && mSelectedKey.equals(key)) { pref.setChecked(); } apnList.add(pref); } else { mmsApnList.add(pref); } cursor.moveToNext(); } cursor.close(); for (Preference preference : apnList) { apnPrefList.addPreference(preference); } for (Preference preference : mmsApnList) { apnPrefList.addPreference(preference); } } }
这段代码是对一个`cursor`对象进行处理,该`cursor`对象是用于访问数据库查询结果的数据指针。
首先,通过判断`cursor`对象是否为null,来确保查询结果有效。然后,根据给定的键值("apn_list")找到对应的`PreferenceGroup`对象,并调用其`removeAll()`方法,清空该`PreferenceGroup`中的所有子项。
接下来,创建了两个`ArrayList`类型的变量:`apnList`和`mmsApnList`,用于存储APN(接入点名称)的偏好设置。接着,获取当前选中的APN键值并保存到`mSelectedKey`变量中。
然后,通过遍历`cursor`对象中的每一条记录,将记录中的字段值提取出来,并创建一个`ApnPreference`对象。然后,为该偏好设置对象设置键值、标题、持久性等属性,并将其添加到相应的列表(`apnList`或`mmsApnList`)中。根据条件,还可以选择隐藏APN详细信息或设置摘要。
最后,关闭`cursor`对象,并将列表中的偏好设置对象逐一添加到`PreferenceGroup`中。
这段代码的目的是根据数据库查询结果,创建并填充APN偏好设置列表。根据APN类型的不同,将APN偏好设置对象分别添加到不同的列表中,并将这些列表中的偏好设置对象添加到指定的`PreferenceGroup`中。
class neuron: def __init__(self): self.t_rest = 0 self.Pn = np.zeros(len(time)) self.spike = np.zeros(len(time)) def out(self,S, w): for i, t in enumerate(time): if i==0: a1 = S[:,i] self.Pn[i] = np.dot(w,a1) - D self.spike[i] = 0 else: if t<=self.t_rest: self.Pn[i] = Pref self.spike[i] = 0 elif t>self.t_rest: if self.Pn[i-1]>Pmin: a1 = S[:,i] self.Pn[i] = self.Pn[i-1] + np.dot(w,a1) - 0.25 self.spike[i] = 0 else: self.Pn[i] = 0 self.spike[i] = 0 if self.Pn[i]>=Pth: self.Pn[i] += Pspike self.t_rest = t + t_ref self.spike[i] = 1 return self.spike
这是一个神经元类的代码,其中包含了初始化函数和输出函数。在初始化函数中,神经元的初始状态为静息状态,没有任何兴奋。在输出函数中,输入了神经元的输入信号S和权重w,通过计算输出神经元的脉冲。如果神经元的膜电位超过了阈值Pth,则会发放脉冲,并且在发放脉冲之后,会有一个绝对不应期t_ref,在这个时间段内,神经元不能再被激活。如果膜电位没有超过阈值,则不会发放脉冲。其中包含了一些参数:D是偏置电流,Pmin是神经元的最小膜电位,Pref是神经元的静息膜电位,Pspike是神经元在发放脉冲后的膜电位增加量。