Android实现简单的天气app功能

Android实现简单的天气app功能

这里只实现了对各个城市的天气和温度显示功能

以下附上代码:

MainActivity

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;

import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        EditText editText=findViewById(R.id.editTextTextPersonName);
        TextView textView01=findViewById(R.id.textView5);
        TextView textView02=findViewById(R.id.textView6);
        TextView textView03=findViewById(R.id.textview7);
        TextView textView04=findViewById(R.id.textview8);
        TextView textView05=findViewById(R.id.textview9);
        String code="APPCODE "+"f914f2d8effd4cffa1baf3b557499248";
        Api api=RetrofitUtils.getRetrofit("http://ali-weather.showapi.com/").create(Api.class);
        findViewById(R.id.imageView).setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                String city=editText.getText().toString();
                Call<WeatherResult> weatherResultCall=api.getWeatherResult(code,city);
                weatherResultCall.enqueue(new Callback<WeatherResult>() {
                    @Override
                    public void onResponse(Call<WeatherResult> call, Response<WeatherResult> response) {
                        WeatherResult weatherResult=response.body();
                        textView01.setText(weatherResult.showapi_res_body.now.temperature);
                        textView02.setText(weatherResult.showapi_res_body.now.weather);
                        textView03.setText(weatherResult.showapi_res_body.now.weather);
                        textView04.setText(weatherResult.showapi_res_body.f1.day_weather);
                        textView05.setText(weatherResult.showapi_res_body.f2.day_weather);
                    }

                    @Override
                    public void onFailure(Call<WeatherResult> call, Throwable t) {

                    }
                });
            }
        });
    }
}

activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <ImageView
        android:id="@+id/imageView"
        android:layout_width="52dp"
        android:layout_height="45dp"
        android:layout_marginStart="12dp"
        android:layout_marginTop="32dp"
        android:background="#FFFFFF"
        app:layout_constraintStart_toEndOf="@+id/editTextTextPersonName"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/img" />

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="414dp"
        android:layout_height="505dp"
        android:layout_marginEnd="4dp"
        android:layout_marginBottom="1dp"
        app:layout_constraintBottom_toTopOf="@+id/linearLayout"
        app:layout_constraintEnd_toEndOf="parent">

        <ImageView
            android:id="@+id/imageView3"
            android:layout_width="398dp"
            android:layout_height="381dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="1.0"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintVertical_bias="0.497"
            app:srcCompat="@drawable/img_2" />

        <LinearLayout
            android:id="@+id/linearLayout2"
            android:layout_width="410dp"
            android:layout_height="118dp"
            android:layout_marginBottom="116dp"
            android:layout_weight="1"
            android:gravity="bottom"
            android:orientation="horizontal"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintHorizontal_bias="0.0"
            app:layout_constraintStart_toStartOf="parent">


            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="vertical">


                <ImageView
                    android:layout_width="100dp"
                    android:layout_height="40dp"
                    android:gravity="center"
                    android:src="@drawable/test05" />

                <TextView
                    android:id="@+id/textview7"
                    android:layout_width="wrap_content"
                    android:layout_height="50dp"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:text="天气"
                    android:textColor="#000000"
                    android:textSize="20sp" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="100dp"
                    android:layout_height="40dp"
                    android:gravity="center"
                    android:src="@drawable/test06" />

                <TextView
                    android:id="@+id/textview8"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:text="会员"
                    android:textColor="#000000"
                    android:textSize="20sp" />
            </LinearLayout>

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="100dp"
                android:layout_weight="1"
                android:gravity="center"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="100dp"
                    android:layout_height="40dp"
                    android:gravity="center"
                    android:src="@drawable/test07" />

                <TextView
                    android:id="@+id/textview9"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_weight="1"
                    android:gravity="center"
                    android:text="我的"
                    android:textColor="#000000"
                    android:textSize="20sp" />
            </LinearLayout>
        </LinearLayout>

        <TextView
            android:id="@+id/textView5"
            android:layout_width="114dp"
            android:layout_height="133dp"
            android:layout_marginStart="24dp"
            android:layout_marginTop="16dp"
            android:text="22"
            android:textSize="96sp"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="@+id/imageView3" />

        <TextView
            android:id="@+id/textView6"
            android:layout_width="106dp"
            android:layout_height="0dp"
            android:text="阴"
            android:textSize="34sp"
            app:layout_constraintBottom_toBottomOf="@+id/textView5"
            app:layout_constraintStart_toEndOf="@+id/textView5" />

    </androidx.constraintlayout.widget.ConstraintLayout>

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="400dp"
        android:layout_height="100dp"
        android:gravity="bottom"
        android:orientation="horizontal"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent">


        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical">


            <ImageView
                android:layout_width="100dp"
                android:layout_height="40dp"
                android:gravity="center"
                android:src="@drawable/test01" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="50dp"
                android:layout_weight="1"
                android:gravity="center"
                android:text="天气"
                android:textColor="#00FF00"
                android:textSize="20sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical">

            <ImageView
                android:layout_width="100dp"
                android:layout_height="40dp"
                android:gravity="center"
                android:src="@drawable/test02" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="50dp"
                android:layout_weight="1"
                android:gravity="center"
                android:text="实景"
                android:textColor="#000000"
                android:textSize="20sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical">

            <ImageView
                android:layout_width="100dp"
                android:layout_height="40dp"
                android:gravity="center"
                android:src="@drawable/test03" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:text="会员"
                android:textColor="#000000"
                android:textSize="20sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:layout_weight="1"
            android:gravity="center"
            android:orientation="vertical">

            <ImageView
                android:layout_width="100dp"
                android:layout_height="40dp"
                android:gravity="center"
                android:src="@drawable/test04" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="center"
                android:text="我的"
                android:textColor="#000000"
                android:textSize="20sp" />
        </LinearLayout>
    </LinearLayout>

    <EditText
        android:id="@+id/editTextTextPersonName"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="52dp"
        android:layout_marginTop="32dp"
        android:ems="10"
        android:inputType="textPersonName"
        android:minHeight="48dp"
        android:text="请输入城市"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>

这里面需要导一些包,放在build.gradle中:

请添加图片描述

implementation 'com.google.code.gson:gson:2.9.0'
    implementation("com.squareup.okhttp3:okhttp:4.9.3")
    implementation 'com.squareup.retrofit2:retrofit:2.9.0'
    implementation 'com.squareup.retrofit2:converter-gson:2.9.0'
    implementation 'com.squareup.okhttp3:logging-interceptor:4.9.3'
  • 0
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值