我正在探索android,我正在处理其中一个任务,其中有2个编辑文本字段和两个按钮。
第一个EditText是输入名称 第二个EditText是输入电话号码
第一个按钮用于保存输入的姓名和电话号码。 第二个按钮是拨打在编辑文本框中输入的电话号码。
我已使用以下代码保存了详细信息
saveBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SharedPreferences sharedPref = getSharedPreferences("phoneNumber",Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putString("phoneNumber",number1.getText().toString());
editor.putString("savename", name.getText().toString());
editor.apply();
Toast.makeText(getApplicationContext(), "Saved Contact",Toast.LENGTH_LONG).show();
这是我的通话按钮,它使用保存的电话号码,并在点击通话时拨打电话。
callBtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
String uri = "tel:" + number.getText().toString();
Intent callIntent = new Intent(Intent.ACTION_CALL, Uri.parse(uri));
startActivity(callIntent);
} catch (Exception e) {
Toast.makeText(getApplicationContext(), "Your call has failed...",Toast.LENGTH_LONG).show();
e.printStackTrace();
}
}
});
如何在callBtn功能中使用保存的电话号码?你能帮帮我吗?
答案 0 :(得分:0)
在保存按钮中,您要创建SharedPreferences.Editor
实例。
SharedPreferences.Editor editor = getPreferences(MODE_PRIVATE).edit();
然后我们使用编辑器的方法将字符串(名称)和int(电话号码)放入共享首选项。
editor.putString ("name", editText1.getText().toString()).apply();//remember to call apply()!
editor.putInt ("phoneNumber", Integer.parseInt (editText2.getText().toString())).apply();
要接收共享首选项,请创建一个SharedPreference
实例。
SharedPreferences prefs = getPreferences(MODE_PRIVATE);
并使用getString
和getInt
来获取相应的内容。
prefs.getString ("name", "");
prefs.getInt ("phoneNumber", 0);
第二个参数是默认值。如果无法使用键找到首选项,则会返回默认值。因此,如果用户没有保存名称和电话号码,它将使用“”和0,但我认为你应该使用更好的默认值。