YOU'VE ENTERED A SIMPLE ANDROIDBLOG, WELCOME.

Develop And Improve。

极简天气开发日记Day01

设计初衷

学习了一段时间Android后,迫切需要自己独立开发出一款APP来巩固自己所学的知识,目前市场上最火爆的墨迹天气在我眼里过于臃肿,基本的天气预报功能下面是繁杂的广告、新闻、拓展功能,让人感觉十分杂碎. 这次开发就已自己心目中最简洁明了的方式来开发一款天气APP。
由于知识量很少,所以在很多方面会用一些很幼稚的代码编写方式,嘛,就这样。

功能设计

  • 基础信息
    • 实时气温、体感温度
    • 天气状况
  • 扩展信息
    • 湿度
    • 最高气温、最低气温
  • 三日天气预报
    • 日期、天气状况
    • 最高气温、最低气温
  • 常用城市记忆
  • 自动定位+手动选择城市

开发环境

API

本次开发使用了百度APIStore中由和风提供的天气API,其查询种类相当详尽并且免费

API地址如下

Layout初步代码(部分)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#22DD6D"
>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<Button
android:id="@+id/side_list"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:paddingLeft="10dp"
/>
<TextView
android:id="@+id/city_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:textColor="#FFFFFF"
android:textSize="24sp"/>
<Button
android:id="@+id/change_city"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_centerVertical="true"
android:paddingRight="10dp"
android:layout_alignParentRight="true"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="180dp"
>
<TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="日出"
android:textSize="18sp"
android:layout_marginLeft="10dp"
android:textColor="#FFFFFF"
/>
<TextView
android:id="@+id/sun_rise"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:textColor="#FFFFFF"
/>
<LinearLayout
android:layout_width="200dp"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:orientation="vertical">

<TextView
android:id="@+id/temp_now"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:textColor="#FFFFFF"
android:textSize="70sp"
/>
<TextView
android:id="@+id/current_date"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:layout_gravity="center"
android:textColor="#FFFFFF"
android:textSize="20sp"
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:textColor="#FFFFFF"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="35dp"
android:text="体感温度:"
android:textColor="#FFFFFF"
android:textSize="25dp"
/>
<TextView
android:id="@+id/feel_temp"
android:layout_width="wrap_content"
android:layout_height="35dp"
android:textSize="30dp"
android:textColor="#FFFFFF"
/>
</LinearLayout>
</LinearLayout>
<TextView
android:id="@+id/down_label"
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="日落"
android:textSize="18sp"
android:layout_alignParentEnd="true"
android:textColor="#FFFFFF"
/>
<TextView
android:id="@+id/sun_down"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:layout_below="@id/down_label"
android:layout_marginRight="10dp"
android:layout_alignParentRight="true"
android:textColor="#FFFFFF"
/>
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="45dp"
android:orientation="horizontal">

<TextView
android:id="@+id/wet"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:textSize="30sp"
android:gravity="center_vertical"
android:textColor="#FFFFFF"

/>
<LinearLayout
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="match_parent"
android:orientation="horizontal">
<TextView
android:id="@+id/temp_below"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:gravity="center_vertical"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:text="~"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:gravity="center_vertical"

/>
<TextView
android:id="@+id/temp_high"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:gravity="center_vertical"

/>
</LinearLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="PM2.5:"
android:textColor="#FFFFFF"
android:textSize="20sp"
android:gravity="center"/>
<TextView
android:id="@+id/pm2.5"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="match_parent"
android:textColor="#FFFFFF"
android:textSize="25sp"/>
</LinearLayout>
</LinearLayout>

写完这个感觉整个人都乱套了,再也不想用这种原始的写法了
```