login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { String s1 = name.getText().toString().trim(); String s2 = password.getText().toString().trim(); if (s1.isEmpty() || s2.isEmpty()) { Toast.makeText(LoginActivity.this, "请输入账号或密码", Toast.LENGTH_SHORT).show(); return; } new Thread(new Runnable() { @Override public void run() { UserDao userDao = MyDatabase.getInstance(LoginActivity.this).userDao(); UserBean user = userDao.getUserByName(s1); if (user == null) {//用户不存在 runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(LoginActivity.this, "用户不存在", Toast.LENGTH_SHORT).show(); name.setText(""); password.setText(""); } }); } else { if (user.pwd.equals(s2)) {//密码正确 runOnUiThread(new Runnable() { @Override public void run() { SharedPreferencesUtil.saveData(LoginActivity.this, "name", s1); SharedPreferencesUtil.saveData(LoginActivity.this, "password", s2); startActivity(new Intent(LoginActivity.this, ShopActivity.class)); } }); } else {//密码错误 runOnUiThread(new Runnable() { @Override public void run() { Toast.makeText(LoginActivity.this, "密码错误", Toast.LENGTH_SHORT).show(); password.setText("");
时间: 2024-02-10 12:32:28 浏览: 33
这段代码是用来实现一个登录功能的,当用户点击登录按钮时,会获取输入框中的用户名和密码,然后通过调用数据库中的方法来判断用户是否存在以及密码是否正确。如果用户不存在,则会弹出提示框;如果密码错误,则也会弹出提示框。如果用户名和密码都正确,则会将用户名和密码保存到SharedPreferences中,并跳转到ShopActivity页面。
相关问题
sendmsgbt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { handler.sendEmptyMessage(24); SendMsg = sendmsged.getText().toString(); } });
这是一个 Android 中处理点击事件的方法,当用户点击界面上的某个视图控件时,该方法会被触发执行。其中,sendmsgbt 是一个按钮控件,setOnClickListener() 方法则是设置按钮点击事件的方法,需要在 Activity 或 Fragment 中实现 View.OnClickListener 接口才能使用。
在该方法中,handler 是一个 Handler 对象,用于向主线程发送消息。sendEmptyMessage() 方法就是向主线程发送一个空消息,参数 24 则是该消息的标识符。SendMsg 是一个字符串变量,用于存储用户在文本框中输入的消息。sendmsged 是一个 EditText 控件,getText().toString() 方法则是获取文本框中用户输入的文本内容并转换为字符串类型,最后将获取到的消息存储到 SendMsg 变量中。
因此,当用户点击 sendmsgbt 按钮时,会向主线程发送一个空消息,并获取用户在文本框中输入的消息,存储到 SendMsg 变量中。
public class MainActivity extends AppCompatActivity { private TextView resultText; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); resultText = findViewById(R.id.result_text); findViewById(R.id.btn_0).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { appendText("0"); } }); findViewById(R.id.btn_1).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { appendText("1"); } }); // 添加其他数字按钮的 onClickListener findViewById(R.id.btn_add).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { appendText("+"); } }); findViewById(R.id.btn_subtract).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { appendText("-"); } }); // 添加其他运算符按钮的 onClickListener findViewById(R.id.btn_clear).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { clearText(); } }); findViewById(R.id.btn_equals).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { calculate(); } }); } private void appendText(String text) { resultText.append(text); } private void clearText() { resultText.setText(""); } private void calculate() { try { String expression = resultText.getText().toString(); Expression e = new ExpressionBuilder(expression).build(); double result = e.evaluate(); resultText.setText(Double.toString(result)); } catch (IllegalArgumentException ex) { resultText.setText("Error"); } }}
这是一个简单的计算器应用程序的主要代码。它使用了一个第三方库,即“expr-eval”,来解析算术表达式并计算结果。在 onCreate() 方法中,它设置了数字和运算符按钮的 onClickListener,并分别调用了 appendText()、clearText() 和 calculate() 方法。在 appendText() 方法中,它向结果文本框中添加新的字符。在 clearText() 方法中,它简单地将结果文本框的内容设置为空。在 calculate() 方法中,它首先获取结果文本框中的表达式,然后使用 ExpressionBuilder 类构建一个 Expression 对象,该对象表示表达式的树形结构。最后,它调用 evaluate() 方法来计算表达式的结果,并将结果设置为结果文本框的内容。如果表达式无效,则 catch 语句将捕获 IllegalArgumentException 异常,并将结果文本框的内容设置为“Error”。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)