我使用此代码在登录活动中存储名称和密码!
public void main_login(View v)
{
Name = name.getText().toString();
Password = password.getText().toString();
BackGround b = new BackGround();
b.execute(Name, Password);
context = getApplicationContext();
sp = getSharedPreferences("identifier", context.MODE_PRIVATE);
SharedPreferences.Editor Ed= sp.edit();
Ed.putString("Name",name.getText().toString()).commit();
Ed.putString("Password", password.getText().toString()).commit();
// startActivity(new Intent(Login.this,Reg_Token_Id.class));
startActivity(new Intent(this, Reg_Token_Id.class));
}
我得到了名称,密码,令牌使用sharedprefences,并将它们发送到php文件以在表中插入id。我能够举杯并能够看到名称,令牌,密码,但不能将它们发送到php文件
任何人都可以帮我解决这个问题吗?
答案 0 :(得分:1)
您需要使用它而不是PreferenceManager.getDefaultSharedpreferences()
SharedPreference sp = context.getSharedPreferences("Identifier",Context.MODE_PRIVATE)
并在另一项活动中使用此“标识符”调用共享首选项
答案 1 :(得分:1)
这是在sharedpreferences中保存数据并从sharedpreferences获取数据的示例,希望它能帮到你。尝试 使用您自己的首选项名称而不是使用 PreferenceManager.getDefaultSharedPreferences(getBaseContext())
public class BChooserPreferences {
private final static String FILE = "b_chooser_prefs";
private final static String FOLDER_NAME = "folder_name";
private SharedPreferences preferences;
public BChooserPreferences(Context context) {
preferences = context.getSharedPreferences(FILE, Context.MODE_PRIVATE);
}
/**
* Set the folder name to be used for all files or temporary files
* @param folderName
*/
public void setFolderName(String folderName){
SharedPreferences.Editor editor = preferences.edit();
editor.putString(FOLDER_NAME, folderName);
editor.commit();
}
public String getFolderName(){
return preferences.getString(FOLDER_NAME, "bichooser");
}
}
答案 2 :(得分:1)
更改您的login.java,如下所示。
SharedPreferences sp = getSharedPreferences("identifier", Context.MODE_PRIVATE);
SharedPreferences.Editor Ed= sp.edit();
Ed.putString("Name", Name).commit();
Ed.putString("Password", Password).commit();
您可以使用您喜欢的任何单词作为标识符。使用此标识符,您可以在第二个活动中检索SharedPreferences
,如下所示。
SharedPreferences mPrefs = getSharedPreferences("identifier", Context.MODE_PRIVATE);
String Name = mPrefs.getString("Name", null);
String Password = mPrefs.getString("Password", null);
使用上述内容,您将能够正确处理SharedPreferences
。
我已将您的后端php
代码更改为如下所示。将它与您的代码进行比较。
<?php
require "init.php";
$token = $_POST["Token"];
$Name = $_POST["Name"];
$Password = $_POST["Password"];
$user_id;
$Sql = "SELECT * FROM `user_info`
WHERE `name`='".$Name."' AND
`password`='".$Password."';";
$result = mysqli_query($con, $Sql);
$retrive = array();
while($row = mysqli_fetch_array($result))
{
$user_id = $row['id'];
}
$query ="INSERT INTO user(Token,Employeeid) Values ('".$token."',
'".$user_id."')";
if (mysqli_query($con, $query)) {
echo "New record created successfully";
} else {
echo "Error: " . $query . "<br>" . mysqli_error($con);
}
mysqli_close($con);
?>
如果您有任何疑问,请随时发表评论。