android - 我有一个登录代码,但不受 SharedPreferences 保护

标签 android

我有这个登录代码,但我没有使用 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/

相关文章:

android - 通过 ZIP 文件安装 SDK

android - "@"字符类型的 Android 上的 AutoCompleteTextView

android - 什么是android :layout_alignLeft in Android?

Android Toolbar 设置标题解释

java - OpenGL ES 中的旋转

java - 通过套接字读取 JPEG 流给出空字符

java - Android应用程序错误: Unable to instantiate componenet info when using device admin features

Android 复选框样式

android - 如何使用onDraw(Canvas)获取WebView的位图快照(Android)

java - 如何将带日期的文件存入SD卡?