Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何将用户Id传递给android中的每个活动?_Java_Php_Android_Mysql - Fatal编程技术网

Java 如何将用户Id传递给android中的每个活动?

Java 如何将用户Id传递给android中的每个活动?,java,php,android,mysql,Java,Php,Android,Mysql,我正在尝试构建一个android应用程序。登录到应用程序后,我想使用用户Id进行所有活动,以便根据该用户Id获取唯一的数据。这是怎么可能的?为了在所有活动中获得用户id,我想在这段代码中做些什么更改 LoginActivity.java public class LoginActivityMerchant extends AppCompatActivity implements View.OnClickListener { //Defining views private Aut

我正在尝试构建一个android应用程序。登录到应用程序后,我想使用用户Id进行所有活动,以便根据该用户Id获取唯一的数据。这是怎么可能的?为了在所有活动中获得用户id,我想在这段代码中做些什么更改

LoginActivity.java

       public class LoginActivityMerchant extends AppCompatActivity implements View.OnClickListener {

//Defining views
private AutoCompleteTextView ACTUser;
private EditText etPassword;
private Button buttonLogin;
private TextView linkToRegister;
private ProgressDialog loading;
public static final String KEY_firstName = "First_Name";
public static final String KEY_LastName = "Last_Name";
public static final String KEY_Mob = "Mobile";
public static final String KEY_ShopName = "Shop_Name";

public static final String KEY_Location = "Location";
public static final String KEY_Radius = "UserId";
public static final String JSON_ARRAY = "result";
public static final String KEY_UserName = "User_Name";
public static final String KEY_Password = "Password";
public TextView test;

//boolean variable to check user is logged in or not
//initially it is false
private boolean loggedIn = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login_activity_merchant);

    //Initializing views
    ACTUser = (AutoCompleteTextView) findViewById(R.id.email);
    etPassword = (EditText) findViewById(R.id.password);
    buttonLogin =  (Button) findViewById(R.id.email_sign_in_button);
    linkToRegister = (TextView) findViewById(R.id.Reg_TextView);
    test=(TextView)findViewById(R.id.test);
    //Adding click listener
    buttonLogin.setOnClickListener(this);
    linkToRegister.setOnClickListener(this);
}

@Override
protected void onResume() {
    super.onResume();
    //In onresume fetching value from sharedpreference
    SharedPreferences sharedPreferences = getSharedPreferences(config.SHARED_PREF_NAME, Context.MODE_PRIVATE);

    //Fetching the boolean value form sharedpreferences
    loggedIn = sharedPreferences.getBoolean(config.LOGGEDIN_SHARED_PREF, false);

    //If we will get true
    if(loggedIn){
        //We will start the Profile Activity
        //Config.KEY_USERNAME=Config.USERNAME_SHARED_PREF;
        SharedPreferences sharedPreferences1 = getSharedPreferences(config.SHARED_PREF_NAME, Context.MODE_PRIVATE);
        String username = sharedPreferences1.getString(config.SHARED_PREF_NAME,"Not Available");
        setInfos(username);
        Intent intent = new Intent(LoginActivityMerchant.this, MainActivity.class);
        startActivity(intent);
    }
}

private void login(){


    //Getting values from edit texts
    final String user = ACTUser.getText().toString().trim();
    final String password = etPassword.getText().toString().trim();
    if(user.isEmpty()||password.isEmpty())
    {
        Toast.makeText(LoginActivityMerchant.this, "Please fill all the fields", Toast.LENGTH_LONG).show();
    }

    //Creating a string request
    else{
        StringRequest stringRequest = new StringRequest(Request.Method.POST, config.LOGIN_URL,
                new Response.Listener<String>() {
                    @Override
                    public void onResponse(String response) {
                        //test.setText(response);
                        //If we are getting success from server
                        if(response.contains("success")){
                            //Creating a shared preference
                           // Toast.makeText(LoginActivityMerchant.this, "Success", Toast.LENGTH_LONG).show();

                            SharedPreferences sharedPreferences = LoginActivityMerchant.this.getSharedPreferences(config.SHARED_PREF_NAME, Context.MODE_PRIVATE);

                            //Creating editor to store values to shared preferences
                            SharedPreferences.Editor editor = sharedPreferences.edit();

                            //Adding values to editor
                            editor.putBoolean(config.LOGGEDIN_SHARED_PREF, true);
                            editor.putString(config.SHARED_PREF_NAME, user);
                            config.KEY_USERNAME = user;

                            //Saving values to editor
                            editor.commit();

                            //Starting profile activity
                            //Intent intent = new Intent(LoginActivity.this, ProfileActivity.class);
                            setInfos(user);
                            Intent intent = new Intent(LoginActivityMerchant.this, MainActivity.class);
                            startActivity(intent);
                        }else{
                            //If the server response is not success
                            //Displaying an error message on toast
                            Toast.makeText(LoginActivityMerchant.this, "Invalid username or password", Toast.LENGTH_LONG).show();
                            ACTUser.setText(user);
                            etPassword.setText(password);
                        }
                    }
                },
                new Response.ErrorListener() {
                    @Override
                    public void onErrorResponse(VolleyError error) {
                        //You can handle error here if you want
                    }
                }){
            @Override
            protected Map<String, String> getParams() throws AuthFailureError {
                Map<String,String> params = new HashMap<>();
                //Adding parameters to request
                params.put(KEY_UserName, user);
                params.put(KEY_Password, password);
                //test.setText(password);
                //returning parameter
                return params;
            }
        };

        //Adding the string request to the queue
        RequestQueue requestQueue = Volley.newRequestQueue(this);
        requestQueue.add(stringRequest);
    }}

@Override
public void onClick(View v) {
    //Calling the login function
    if(v==buttonLogin){
        login();
    }
    if(v==linkToRegister){
        Intent intent = new Intent(LoginActivityMerchant.this, Registration.class);
        startActivity(intent);
    }
}

public void setInfos(String username){
    String url = config.LOGIN_URL+username;
    loading = ProgressDialog.show(this, " Please wait...", "Fetching...", false, false);
    StringRequest stringRequest = new StringRequest(url, new Response.Listener<String>() {
        @Override
        public void onResponse(String response) {
            loading.dismiss();
            showJSON(response);
        }
    },
            new Response.ErrorListener() {
                @Override
                public void onErrorResponse(VolleyError error) {
                    Toast.makeText(LoginActivityMerchant.this, error.getMessage().toString(), Toast.LENGTH_LONG).show();
                }
            });
    RequestQueue requestQueue = Volley.newRequestQueue(this);
    requestQueue.add(stringRequest);
}

private void showJSON(String response) {
    String FirstName="";
    String LastName="";
    String UserName="";
    String Mobile="";
    String Location="";
    String Radius="";

    // String stringid="";
    try {
        JSONObject jsonObject = new JSONObject(response);
        JSONArray result = jsonObject.getJSONArray(JSON_ARRAY);
        JSONObject userData = result.getJSONObject(0);
        FirstName = userData.getString(KEY_firstName);
        UserName = userData.getString(KEY_UserName);
        LastName = userData.getString(KEY_LastName);
        Mobile = userData.getString(KEY_Mob);
        Location = userData.getString(KEY_Location);

        //stringid=userData.getString(KEY_USERID);

    } catch (JSONException e) {
        e.printStackTrace();
    }

    config.KEY_NAME=FirstName + " "+LastName;

    config.KEY_USERNAME=UserName;
}

 }
公共类LoginActivityMerchant扩展AppCompativeActivity实现View.OnClickListener{
//定义视图
私有自动完成文本视图ACTUser;
私人编辑文本和密码;
私人按钮按钮;
私有文本视图链接注册器;
私有对话框加载;
公共静态最终字符串KEY\u firstName=“First\u Name”;
公共静态最终字符串键\u LastName=“Last\u Name”;
公共静态最终字符串键\u Mob=“Mobile”;
公共静态最终字符串KEY\u ShopName=“Shop\u Name”;
公共静态最终字符串KEY\u Location=“Location”;
公共静态最终字符串键\u Radius=“UserId”;
公共静态最终字符串JSON_ARRAY=“result”;
公共静态最终字符串键\u UserName=“User\u Name”;
公共静态最终字符串密钥\u Password=“Password”;
公共文本视图测试;
//用于检查用户是否登录的布尔变量
//起初这是错误的
私有布尔loggedIn=false;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u login\u activity\u merchant);
//初始化视图
ACTUser=(AutoCompleteTextView)findviewbyd(R.id.email);
etPassword=(EditText)findViewById(R.id.password);
buttonLogin=(按钮)findViewById(R.id.email\u sign\u in\u按钮);
linkToRegister=(TextView)findViewById(R.id.Reg\u TextView);
test=(TextView)findViewById(R.id.test);
//添加单击侦听器
buttonLogin.setOnClickListener(此);
setOnClickListener(这个);
}
@凌驾
受保护的void onResume(){
super.onResume();
//在onresume中从SharedReference获取值
SharedReferences SharedReferences=GetSharedReferences(config.SHARED\u PREF\u NAME,Context.MODE\u PRIVATE);
//从SharedReferences获取布尔值
loggedIn=SharedReferences.getBoolean(config.loggedIn\u SHARED\u PREF,false);
//如果我们能实现
if(loggedIn){
//我们将启动配置文件活动
//Config.KEY\u USERNAME=Config.USERNAME\u SHARED\u PREF;
SharedReferences SharedReferences 1=GetSharedReferences(config.SHARED\u PREF\u NAME,Context.MODE\u PRIVATE);
String username=SharedReferences1.getString(config.SHARED_PREF_NAME,“不可用”);
setInfos(用户名);
意向意向=新意向(LoginActivityMerchant.this,MainActivity.class);
星触觉(意向);
}
}
私有void登录(){
//从编辑文本中获取值
最终字符串user=ACTUser.getText().toString().trim();
最终字符串密码=etPassword.getText().toString().trim();
if(user.isEmpty()| | password.isEmpty())
{
Toast.makeText(LoginActivityMerchant.this,“请填写所有字段”,Toast.LENGTH\u LONG.show();
}
//创建字符串请求
否则{
StringRequest StringRequest=新建StringRequest(Request.Method.POST,config.LOGIN\u URL,
新的Response.Listener(){
@凌驾
公共void onResponse(字符串响应){
//test.setText(响应);
//如果我们从服务器获得成功
if(response.contains(“success”)){
//创建共享首选项
//Toast.makeText(LoginActivityMerchant.this,“Success”,Toast.LENGTH_LONG.show();
SharedReferences SharedReferences=LoginActivityMerchant.this.getSharedReferences(config.SHARED\u PREF\u NAME,Context.MODE\u PRIVATE);
//创建编辑器以将值存储到共享首选项
SharedReferences.Editor=SharedReferences.edit();
//向编辑器添加值
putBoolean(config.LOGGEDIN\u SHARED\u PREF,true);
putString(config.SHARED\u PREF\u NAME,user);
config.KEY_USERNAME=用户;
//将值保存到编辑器
commit();
//启动配置文件活动
//意向意向=新意向(LoginActivity.this、ProfileActivity.class);
setInfos(用户);
意向意向=新意向(LoginActivityMerchant.this,MainActivity.class);
星触觉(意向);
}否则{
//如果服务器响应不成功
//在toast上显示错误消息
Toast.makeText(LoginActivityMerchant.this,“无效用户名或密码”,Toast.LENGTH_LONG.show();
ACTUser.setText(用户);
etPassword.setText(密码);
}
}
},
新的Response.ErrorListener(){
@凌驾
公共无效onErrorResponse(截击错误){
//如果需要,可以在此处处理错误
}
}){
@凌驾
受保护的映射getParams()引发AuthFailureError{
Map params=新的HashMap();
//向请求添加参数
参数put(KEY_用户名、用户);
参数put(钥匙密码、密码);
//test.setText(密码);
//返回参数
返回参数;
}
};
//将字符串请求添加到队列
RequestQueue RequestQueue=Volley.newRequestQueue(this);
<?php 

if($_SERVER['REQUEST_METHOD']=='POST'){
    //Getting values 
    $username = $_POST['User_Name'];
    $password = $_POST['Password'];

    //Creating sql query
    $sql = "SELECT * FROM User_Profile WHERE User_Name='$username' AND Password='$password'";

    //importing dbConnect.php script 
    require_once('include/dbConnect.php');

    //executing query
    $result = mysqli_query($con,$sql);

    //fetching result
    $check = mysqli_fetch_array($result);

    //if we got some result 
    if(isset($check)){
        //displaying success 
        echo "success";
    }else{
        //displaying failure
        echo "failure";
    }
    mysqli_close($con);
}
  else 
   {echo "error";}
public class SaveId {

  static final String ID = "ID";

  static SharedPreferences getSharedPreferences(Context ctx) {
      return PreferenceManager.getDefaultSharedPreferences(ctx);
  }

  public static void setId(Context ctx, int value) {
      SharedPreferences.Editor editor = getSharedPreferences(ctx).edit();
      editor.putInt(ID, value);
      editor.commit();
  }

  public static String getId(Context ctx) {
      return getSharedPreferences(ctx).getString(ID, "");
  }

}
public class MyApplication extends Application {
    private Integer id;

    public void setId(int id) {
        this.id = id;
    }

    public Integer getId() {
        return id;
    }
}
((MyApplication) getApplication()).getId();