我有这个登录代码,但我没有使用 sharedpreference 保护它,因为我不知道如何使用它,哈哈。有人可以教我如何将它插入我的代码中吗?谢谢。 :D
登录
package com.example.kun.carkila;
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import com.kosalgeek.genasync12.AsyncResponse;
import com.kosalgeek.genasync12.PostResponseAsyncTask;
import java.util.HashMap;
public class MainActivity extends AppCompatActivity {
final String LOG = "MainActivity";
Button btnLogin;
EditText etUsername, etPassword;
TextView tvRegister;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
etUsername = (EditText) findViewById(R.id.etFirstname);
etPassword = (EditText) findViewById(R.id.etPassword);
btnLogin = (Button) findViewById(R.id.btnLogin);
tvRegister = (TextView) findViewById(R.id.tvRegister);
btnLogin.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
HashMap postData = new HashMap();
String username = etUsername.getText().toString();
String password = etPassword.getText().toString();
postData.put("username", username);
postData.put("password", password);
PostResponseAsyncTask task1 = new PostResponseAsyncTask(MainActivity.this, postData,
new AsyncResponse() {
@Override
public void processFinish(String s) {
if (s.contains("renterowner")) {
Toast.makeText(MainActivity.this, "Renter Login Successful!", Toast.LENGTH_SHORT).show();
Intent in = new Intent(MainActivity.this, ListActivity.class);
startActivity(in);
finish();
} else if (s.contains("ownerrenter")) {
Toast.makeText(MainActivity.this, "Owner Login Successful!", Toast.LENGTH_SHORT).show();
Intent in = new Intent(MainActivity.this, ownerhome.class);
startActivity(in);
finish();
} else {
Toast.makeText(MainActivity.this, "Login Failed!", Toast.LENGTH_SHORT).show();
}
}
});
task1.execute("http://carkila.esy.es/authenticate.php");
}
});
tvRegister.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new Intent(MainActivity.this, RegisterActivity.class);
startActivity(in);
}
});
}
}
我的代码还有机会通过共享首选项得到保护吗?如果有人帮助我,非常感谢。还有如何创建注销?谢谢 :D
最佳答案
你可以使用这行代码
SharedPreferences preferences = getActivity().getPreferences(Context.MODE_PRIVATE); //updated this line
SharedPreferences.Editor editor = preferences.edit();
String username = etUsername.getText().toString();
String password = etPassword.getText().toString();
// Save to SharedPreferences
editor.putString("username", token);
editor.putString("password", token);
editor.apply();
在你想保存用户名和密码的地方调用这行代码即可
在你想获取这些数据的地方,你可以使用这行代码:
SharedPreferences preferences = getActivity().getPreferences(Context.MODE_PRIVATE); // update
String username = preferences.getString("username", null);
String password = preferences.getString("password", null);
所有这些都对我有用......你可以在你的应用程序中使用它祝你的应用程序好运。
关于android - 我有一个登录代码,但不受 SharedPreferences 保护,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38485016/