Android studio读取MySQL中表数据并显示
时间: 2024-05-05 20:17:15 浏览: 11
要在Android Studio中读取MySQL表数据并显示,需要执行以下步骤:
1. 在MySQL中创建一个表,并添加一些数据。
2. 在Android Studio中创建一个新项目,并添加以下依赖项:
```
implementation 'com.android.volley:volley:1.1.1'
implementation 'com.google.code.gson:gson:2.8.6'
```
3. 在AndroidManifest.xml文件中添加以下权限:
```
<uses-permission android:name="android.permission.INTERNET" />
```
4. 创建一个名为MySingleton的单例类,用于处理所有的Volley请求。在该类中添加以下代码:
```
public class MySingleton {
private static MySingleton instance;
private RequestQueue requestQueue;
private static Context ctx;
private MySingleton(Context context) {
ctx = context;
requestQueue = getRequestQueue();
}
public static synchronized MySingleton getInstance(Context context) {
if (instance == null) {
instance = new MySingleton(context);
}
return instance;
}
public RequestQueue getRequestQueue() {
if (requestQueue == null) {
requestQueue = Volley.newRequestQueue(ctx.getApplicationContext());
}
return requestQueue;
}
public <T> void addToRequestQueue(Request<T> req) {
getRequestQueue().add(req);
}
}
```
5. 创建一个名为MainActivity的活动,在该活动中添加以下代码:
```
public class MainActivity extends AppCompatActivity {
private TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.textView);
String url = "http://yourdomain.com/get_data.php";
StringRequest stringRequest = new StringRequest(Request.Method.GET, url,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Gson gson = new Gson();
Data[] data = gson.fromJson(response, Data[].class);
StringBuilder sb = new StringBuilder();
for (Data d : data) {
sb.append(d.getName()).append(" - ").append(d.getValue()).append("\n");
}
textView.setText(sb.toString());
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
textView.setText(error.getMessage());
}
});
MySingleton.getInstance(this).addToRequestQueue(stringRequest);
}
}
```
6. 创建一个名为Data的Java类,用于表示MySQL表中的数据。
```
public class Data {
private String name;
private int value;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getValue() {
return value;
}
public void setValue(int value) {
this.value = value;
}
}
```
7. 在MySQL中创建一个名为get_data.php的文件,并添加以下代码:
```
<?php
$servername = "localhost";
$username = "yourusername";
$password = "yourpassword";
$dbname = "yourdatabase";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT name, value FROM yourtable";
$result = $conn->query($sql);
$rows = array();
while($r = mysqli_fetch_assoc($result)) {
$rows[] = $r;
}
print json_encode($rows);
$conn->close();
?>
```
在该文件中,将"yourusername"、"yourpassword"、"yourdatabase"、"yourtable"替换为你的MySQL用户名、密码、数据库名称和表名称。
运行该应用程序,将显示从MySQL表中检索到的数据。