我正在构建一个应用程序,登录用户可以通过按按钮邀请另一个用户,这样被邀请的用户就会收到推送通知。我的想法是,如果我可以在数据库中保存每个用户的令牌,那么当用户按下“邀请按钮”时,它会在数据库中找到该用户令牌,之后我将以某种方式使用它向该用户发送通知用户。我不知道是否有更好的方法,但我没有找到其他任何东西,所以这就是我目前的计划。
\n现在我遇到了一些有关如何将令牌保存到数据库的问题。每当用户创建帐户或令牌更改时,我想将其保存到数据库中。
\npublic class RegisterActivity extends AppCompatActivity {\n\n private FirebaseAuth mAuth;\n\n String username;\n String password;\n String age;\n String email;\n \n DatabaseReference mRootRef = FirebaseDatabase.getInstance().getReference();\n DatabaseReference mRootPlayerBaseRef = mRootRef.child("Players");\n\n private static final String TAG = "EmailPassword";\n\n @Override\n protected void onCreate(Bundle savedInstanceState) {\n super.onCreate(savedInstanceState);\n setContentView(R.layout.activity_register);\n\n // [START initialize_auth]\n // Initialize Firebase Authentication\n mAuth = FirebaseAuth.getInstance();\n // [END initialize_auth]\n }\n\n\n private void updateUI() {\n Intent mainIntent = new Intent(RegisterActivity.this, LoginActivity.class);\n mainIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);\n mainIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);\n startActivity(mainIntent);\n overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);\n }\n\n public void checkValues(View view) {\n …Run Code Online (Sandbox Code Playgroud) java android firebase firebase-authentication firebase-cloud-messaging
我想删除 l1 中 l2 中的元素,同时保留重复项。
输入:
l1 = [a, b, b, a, c, c, a]
l2 = [c, b]
Run Code Online (Sandbox Code Playgroud)
输出:
l3 = [a, b, a, c, a]
Run Code Online (Sandbox Code Playgroud)
我试图为此找到一个很好的答案,但我似乎找到的只是这样做的方法,它也删除了重复项。首先,我尝试使用 set() 执行此操作,直到我意识到它会删除重复项,然后我尝试使用 numpy 和 setdiff1d 但无法使其正常工作。使用列表理解,如
[item for item in x if item not in y]
Run Code Online (Sandbox Code Playgroud)
还删除了重复项。从列表中删除另一个列表中的元素而不删除重复项的最简单方法是什么?列表的顺序并不重要。