用Androidstudio写一份获取PM2.5的实例并且可以运行
时间: 2024-06-09 22:04:49 浏览: 76
Android应用源码带PM2.5数据的知雨
好的,下面是一份简单的获取PM2.5数据的Android Studio实例代码:
1. 在build.gradle中添加以下依赖:
```
implementation 'com.android.volley:volley:1.2.0'
```
2. 在AndroidManifest.xml中添加以下权限:
```
<uses-permission android:name="android.permission.INTERNET" />
```
3. 在MainActivity.java中添加以下代码:
```java
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import org.json.JSONException;
import org.json.JSONObject;
public class MainActivity extends AppCompatActivity {
private TextView pm25TextView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
pm25TextView = findViewById(R.id.pm25TextView);
String url = "https://api.waqi.info/feed/shanghai/?token=YOUR_TOKEN";
RequestQueue requestQueue = Volley.newRequestQueue(this);
StringRequest stringRequest = new StringRequest(Request.Method.GET, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
JSONObject dataObject = jsonObject.getJSONObject("data");
String pm25 = dataObject.getJSONObject("iaqi").getJSONObject("pm25").getString("v");
pm25TextView.setText(pm25);
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
}
});
requestQueue.add(stringRequest);
}
}
```
4. 在activity_main.xml中添加以下代码:
```xml
<TextView
android:id="@+id/pm25TextView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="PM2.5"
android:textSize="24sp" />
```
5. 在上面代码中的url中,将YOUR_TOKEN替换为你在 https://aqicn.org/data-platform/token/ 上获取的token。
这份代码通过调用AQI中国的API获取上海市的PM2.5数据,并将其显示在TextView上。你可以根据自己的需要修改代码中的地址和参数,获取其他城市或其他污染物的数据。
阅读全文