首先需要在app中添加一个管理员登录的界面,可以使用Android Studio提供的模板进行快速创建。在管理员登录界面中需要有用户名和密码的输入框,以及登录按钮。
接下来就是连接服务器和数据库。可以参考以下步骤:
- 在app的build.gradle文件中添加网络权限:
<uses-permission android:name="android.permission.INTERNET" />
- 在管理员登录按钮的点击事件中,编写连接服务器的代码。如下所示:
String username = usernameEditText.getText().toString();
String password = passwordEditText.getText().toString();
String url = "http://your-server-url/login.php";
StringRequest stringRequest = new StringRequest(Request.Method.POST, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
if (response.equals("success")) {
// 登录成功,跳转到管理员页面
Intent intent = new Intent(MainActivity.this, AdminActivity.class);
startActivity(intent);
} else {
// 登录失败,弹出提示框
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("用户名或密码错误,请重新输入");
builder.setPositiveButton("确定", null);
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// 连接失败,弹出提示框
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
builder.setMessage("连接服务器失败,请检查网络连接");
builder.setPositiveButton("确定", null);
AlertDialog alertDialog = builder.create();
alertDialog.show();
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
// 将用户名和密码加入POST请求中
Map<String, String> params = new HashMap<>();
params.put("username", username);
params.put("password", password);
return params;
}
};
// 将请求加入RequestQueue
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
- 在服务器上创建一个login.php文件,用于处理管理员登录请求。在login.php文件中,需要连接数据库,查询管理员表中是否存在相应的用户名和密码。如下所示:
<?php
$username = $_POST["username"];
$password = $_POST["password"];
$servername = "localhost";
$dbname = "your-database-name";
$dbusername = "your-database-username";
$dbpassword = "your-database-password";
$conn = new mysqli($servername, $dbusername, $dbpassword, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT * FROM admin WHERE username='$username' AND password='$password'";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 登录成功
echo "success";
} else {
// 登录失败
echo "error";
}
$conn->close();
?>
-
在Navicat for MySQL中创建一个名为admin的表,用于存储管理员的信息。表中需要包含username和password两个字段。
-
编写AdminActivity的代码,实现管理员的相关功能。这里就不再赘述了。
以上就是给已有的用java语言编写客户端的app加上管理员功能,并连接上本地服务器Tomcat和对Navicat for MySQL中的数据库的修改的具体步骤和代码示例。