Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.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/7/sqlite/3.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/5/actionscript-3/7.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
Android-如何找到登录的用户id_Android_Sqlite_Android Studio - Fatal编程技术网

Android-如何找到登录的用户id

Android-如何找到登录的用户id,android,sqlite,android-studio,Android,Sqlite,Android Studio,我做了一个简单的登录活动。我使用Sqlite来实现这一点。一切正常,但我找不到谁登录活动。我无法访问用户的id。 是否有相关文档或视频 我的登录按钮代码: public void girisyap(View view){ String acc= editTextAcc.getText().toString().trim(); String pass=editTextPass.getText().toString().trim(); DatabaseHelper db=ne

我做了一个简单的登录活动。我使用Sqlite来实现这一点。一切正常,但我找不到谁登录活动。我无法访问用户的id。 是否有相关文档或视频

我的登录按钮代码:

public void girisyap(View view){
    String acc= editTextAcc.getText().toString().trim();
    String pass=editTextPass.getText().toString().trim();
    DatabaseHelper db=new DatabaseHelper(this);

    if (TextUtils.isEmpty(acc))
    {   editTextAcc.setError("Bu Bölüm Boş Bırakılamaz!"); return; }
    if (TextUtils.isEmpty(pass))
    {   editTextPass.setError("Bu Bölüm Boş Bırakılamaz!"); return; }

    if(db.checkUser(acc,pass)){
        Intent intent = new Intent(this,AnaSayfa.class);
        startActivity(intent);
    }
    else
        Toast.makeText(this, "Wrong Login", Toast.LENGTH_SHORT).show();
}
检查用户数据库代码:

 public boolean checkUser(String Kayitadi,String Kayitsifre){
    String[] columns ={Table_Id};
    SQLiteDatabase db =this.getWritableDatabase();
    String selection=Kayit_Name+" =?"+" and "+Kayit_Pass+" =?";
    String[] selectionArgs ={ Kayitadi,Kayitsifre };
    Cursor cursor =db.query(Table_Name,
            columns,
            selection,
            selectionArgs,
            null,
            null,
            null);
    int cursorCount=cursor.getCount();
    cursor.close();
    db.close();
    if(cursorCount>0){
        return true;
    }
    return false;
}

此代码捕获数据库中是否有任何用户。但我需要找到谁登录了。他的id是什么。

正如我在这个问题的评论部分提到的,您有两个选择,要么在用户登录后实现Auth0以获取用户id,要么移动到Firebase

但是,如果你只是想在用户登录时向他们显示电子邮件,你只需向其他活动传递一个附加信息,这样当用户成功登录时,你就可以收到该用户的电子邮件。检查此代码段

当登录成功时(acc和pass正确,您将进入另一个
活动
,在那里您可以向“用户电子邮件”打招呼),因此,要做到这一点非常简单,只需在启动另一个
活动
之前添加一个
putExtra
,这样您就可以将数据从一个活动发送到另一个活动

  if(db.checkUser(acc,pass)){
        Intent intent = new Intent(this,AnaSayfa.class);
intent.putExtra("user_email",here your select_method_or_where_you_get_the_email);
        startActivity(intent);
    }
注意:您可以使用此putExtra传递您的用户帐户

intent.putExtra("user_email",acc.toString());
如果它已经是一个字符串,请不要放置
toString()

现在,要从其他活动中获取电子邮件,只需执行以下操作

  Intent iin= getIntent();
        Bundle b = iin.getExtras();

        if(b!=null)
        {

            String n =(String) b.get("user_email");
}

愉快的编码。

我建议您转移到firebase,因为做这类事情非常容易,但是如果您使用sqlite,您需要为每个用户生成一个随机令牌并将其存储在表中,然后您可以发出Select请求来请求每个用户令牌(id)使用电子邮件和密码检查数据如果电子邮件和密码匹配,则为登录,然后在活动中显示电子邮件如果您只想在用户登录时向用户显示其姓名,则可以在此处参照好友,只需使用用户电子邮件进行选择,因此如果登录成功,并且您正在执行另一个活动的意图,就在另一个活动过程中,作为用户电子邮件中的putextra,并将其显示为编辑文本否,我将对用户id做很多事情。我将添加特定的文件,以便只有他们才能看到他们的文件。现在,我正在使用recyclerview。它让他们保持信息。但他们看到了每个人的档案。为此,我需要知道谁登录了。我会检查那个链接和Firebase谢谢我知道如何添加额外的。但我需要类似facebook帐户登录的东西。当他们登录时,有很多事情要做。但是谢谢你。我认为firebase只适合我。请看这篇文章,它会帮你很多忙,而且管理数据库也很容易。youtube上有一个叫TVACStudio的家伙,看看他,他有很多firebase教程。没那么难,我和firebase一起工作了两年,如果您有任何问题,只需在stackoverflow的firebase部分发布一个问题,我很乐意为您提供帮助