一个简单天气app完成(总结)

本文总结了一个简单的天气应用的实现过程,包括两个主要界面:天气信息展示(主界面)和城市选择界面。首次启动时,应用通过定位获取城市,然后请求天气数据。城市选择界面通过startActivityForResult进行跳转,并使用setResult返回选定信息。请求URL中处理中文字符的方法是使用URLEncoder.encode。同时,提到了百度定位、天气接口和JSON解析的相关博客链接作为参考。
摘要由CSDN通过智能技术生成

只有两个界面,一个为天气信息显示界面(主界面),第一次进入通过定位获得城市,再通过发送请求获得天气信息



另一个为城市选择界面,点击上图左上角的按钮跳转用startActivityForResult(intent, 1);正好

点击确定返回信息setResult(RESULT_OK, intent);


注意:

1.请求地址中含有中文时可将中文先进行编码在拼装java.net.URLEncoder.encode(countyName)

            String address = "https://api.thinkpage.cn/v3/weather/daily.json?key=8grk8uebycktak6s&   location="+
                    java.net.URLEncoder.encode(countyName)+"&language=zh-Hans&unit=c&start=0&days=5" ;

2.百度定位见上一篇博客

3.天气信息接口和json数据解析见上上篇博客

好的,下面是一个简单天气预报App的Android编写程序: 1. 首先,在Android Studio中新建一个项目,选择Empty Activity模板,命名为WeatherApp。 2. 在app/build.gradle中加入以下依赖: ``` implementation 'com.android.volley:volley:1.2.1' implementation 'com.google.code.gson:gson:2.8.6' ``` 其中,Volley是Google官方推荐的网络请求库,Gson是一个Java对象与JSON数据之间转换的工具库。 3. 在布局文件activity_main.xml中设计UI界面,包括城市选择、天气信息展示等。 4. 在MainActivity.java中编写逻辑代码,包括请求天气数据、解析数据、展示数据等。 以下是一个简单的示例代码: ``` public class MainActivity extends AppCompatActivity { private TextView tvCity; private TextView tvWeather; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); tvCity = findViewById(R.id.tv_city); tvWeather = findViewById(R.id.tv_weather); // 请求天气数据 String url = "https://api.openweathermap.org/data/2.5/weather?q=London&appid=your_app_id"; RequestQueue queue = Volley.newRequestQueue(this); JsonObjectRequest jsonObjectRequest = new JsonObjectRequest( Request.Method.GET, url, null, response -> { // 解析数据 Gson gson = new Gson(); WeatherData weatherData = gson.fromJson(response.toString(), WeatherData.class); // 展示数据 tvCity.setText(weatherData.getName()); tvWeather.setText(weatherData.getWeather().get(0).getDescription()); }, error -> { Toast.makeText(this, "Error: " + error.getMessage(), Toast.LENGTH_SHORT).show(); } ); queue.add(jsonObjectRequest); } } ``` 其中,WeatherData是一个Java类,用于解析天气数据。 5. 最后,运行程序,即可看到天气预报信息。 以上是一个简单天气预报App的Android编写程序,具体实现过程还需要根据实际需求进行调整和完善。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值