当前位置:首页 » 安卓系统 » android天气源代码

android天气源代码

发布时间: 2022-10-22 03:19:24

❶ android项目源码下载

对于读项目源代码来说,可能对大多数人是件困难的事。首先,第一个障碍:看到项目,就已经放弃! 如果有十个人,可能有5个人以上会是上面这种情况,分析其想法:这么多的代码,我要怎么读啊!我要读好久啊!算了,还是看小Demo吧,所以这样,他们也就只是把这个项目导入到eclipse中,点了几下鼠标,然后就没有下文了。 解决办法:其实他们终止的原因很简单,就是嫌麻烦,那好吧,告诉你,这点麻烦都能对你造成影响,其实你的开发之路也可以终止了。任何东西,你要学到它,你就必须花时间、花精力、还要有面对困难的准备。想一步登天,有可能,除非你是天才,但毕竟天才太少了!对于开发,不是学习1+1,所以,先摆正心态吧,那要具备怎样的心态呢?那就是:有面对困难的准备,也有解决苦难的信心。 心态问题解决了,那就是读代码的技巧了,很多人拿到一个项目不知道怎么入手,干脆就胡乱的一通看,看到一定时候发现,实在进行不下去了,又开始重新梳理自己的思路。这样是很浪费时间的,其实对于读一个项目,最好按照以下步骤进行( 个人意见,仅供参考 ): 1、使用这个应用或者游戏,直到熟悉它的使用流程和功能 2、根据自己的体验分析代码实现(整体) 3、如果有条件和原作者请教项目思路 4、从最先启动的Activity开始,弄懂每个Activity功能如何实现以及它的布局实现 5、遇到不懂的代码,首先找搜索引擎(一般都能解决)。还不行就可以请教他人了 6、对新学到的知识点,一定要总结下来,并且定期的去回顾 7、最重要的一点: 我认为要自己动手写,那怕是重新写一遍这个项目,或者自己设计一个类似的,再或者只写这个项目中的一部分。 为什么要自己动手呢?大家都知道coder这个东西,那怕你理论学得再好,不动手,那也是毫无意义的!所以,动手写一下,你会遇到问题,你就会解决问题,这样,你才能学到更多。这就是经验·······
以上回答你满意么?

❷ 基于android的天气预报系统

用你手机自带的“应用商店”,搜索天气,出来的都是适配你手机系统的天气预报app。
当然,你的手机是安卓的,那就是适配安卓系统的了。

❸ android 代码可以获取天气的气压吗

可以,前提是设备要有气压计硬件

获取气压的代码:

java">SensorManagersm=(SensorManager)getSystemService(Context.SENSOR_SERVICE);//获取系统传感器服务
sm.getDefaultSensor(Sensor.TYPE_PRESSURE);//获取气压计对象
//注册气压计监听器
sm.registerListener(newSensorEventListener(){
@Override
publicvoidonSensorChanged(SensorEventevent){
//TODOAuto-generatedmethodstub
float[]value=event.values;
for(inti=0;i<value.length;i++){
Log.i("Barometer",float[i]);
}
}

@Override
publicvoidonAccuracyChanged(Sensorsensor,intaccuracy){
//TODOAuto-generatedmethodstub
}
},baroSensor,SensorManager.SENSOR_DELAY_NORMAL);

❹ 如何自己动手做一个android天气预报的app

一个Android天气预报要用到的代码文件,可显示操作菜单,显示未来四天天气、将全国城市列表写入数据库、初始化数据解析类,界面控件,消息接收器Handler、线程消息接收器、左侧菜单选择事件监听、后退按钮监听等,代码为:

227
if(mycitys.size()==1){

228
showToast("至少要保留一个城市");

229
}else{

230
mycitys.remove(position);

231
writeMyCitys();

232
sAdapter.notifyDataSetChanged();

233
currCityId=mycitys.get(0).get("cityId");

234
changeSearchState();

235
}

236
}

237
});

238
builder.setNegativeButton("取 消",

239
new DialogInterface.OnClickListener() {

240
public void onClick(DialogInterface dialog, int which) {

241
dialog.dismiss();

242
}

243
});

244
builder.show();

245
return false;

246
}

247
//
监听后退按钮

248
@Override

249
public boolean
onKeyDown(int
keyCode, KeyEvent event) {

250
if (keyCode ==
KeyEvent.KEYCODE_BACK) {

251
// 如果当前menu没有显示

252
if (!isBack) {

253
showToast("再按一次退出");

254
downTime = event.getDownTime();

255
isBack = true;

256
return true;

257
} else {

258
if (event.getDownTime() -
downTime <= 2000) {

259
AppManager.getAppManager().AppExit(Weather.this);

260
} else {

261
showToast("再按一次退出");

262
downTime = event.getDownTime();

263
return true;

264
}

265
}

266
}

267
return super.onKeyDown(keyCode, event);

268
}

269
@Override

270
protected void
onDestroy() {

271
if(mVibrator!=null){

272
mVibrator.cancel();

273
}

274
super.onDestroy();

275
}

276
}

❺ 我刚开始学android开发,现在想在一个activity添加进天气预报功能。我希望它作用主要就是显示当前的天气

你的要求太高了吧
要得到当前的位置的掉GPS 定位 或者 你上网登录了以后根据IP知道地址
天气预报到不难WebService 会写就能调用
你要是要做出来炫耀,就先把分拿出来 200分是最起码的

财富等回答后再给,20-50不等------骗谁呢,就我无聊还鸟你

❻ android怎样使用天气预报接口 实现天气预报

使用搜索引擎可以得到很多的天气预报接口,这里以某个api为例

http://wthrcdn.etouch.cn/WeatherApi

参数为city=城市名称

尝试获取南昌的天气预报

http://wthrcdn.etouch.cn/WeatherApi?city=南昌


得到下面xml数据

<?xmlversion="1.0"encoding="utf-8"?>

<resp>
<city>南昌</city>
<updatetime>16:55</updatetime>
<wen>5</wen>
<fengli>3级</fengli>
<shi>90%</shi>
<fengxiang>北风</fengxiang>
<sunrise_1>06:54</sunrise_1>
<sunset_1>17:19</sunset_1>
<sunrise_2/>
<sunset_2/>
<environment>
<aqi>26</aqi>
<pm25>13</pm25>
<suggest>各类人群可自由活动</suggest>
<quality>优</quality>
<MajorPollutants/>
<o3>44</o3>
<co>1</co>
<pm10>14</pm10>
<so2>4</so2>
<no2>27</no2>
<time>16:00:00</time>
</environment>
<yesterday>
<date_1>4日星期五</date_1>
<high_1>高温11℃</high_1>
<low_1>低温7℃</low_1>
<day_1>
<type_1>阴</type_1>
<fx_1>无持续风向</fx_1>
<fl_1>微风</fl_1>
</day_1>
<night_1>
<type_1>小到中雨</type_1>
<fx_1>北风</fx_1>
<fl_1>3-4级</fl_1>
</night_1>
</yesterday>
<forecast>
<weather>
<date>5日星期六</date>
<high>高温7℃</high>
<low>低温5℃</low>
<day>
<type>中到大雨</type>
<fengxiang>无持续风向</fengxiang>
<fengli>微风级</fengli>
</day>
<night>
<type>小到中雨</type>
<fengxiang>无持续风向</fengxiang>
<fengli>微风级</fengli>
</night>
</weather>
<weather>
<date>6日星期天</date>
<high>高温10℃</high>
<low>低温5℃</low>
<day>
<type>阴</type>
<fengxiang>无持续风向</fengxiang>
<fengli>微风级</fengli>
</day>
<night>
<type>多云</type>
<fengxiang>无持续风向</fengxiang>
<fengli>微风级</fengli>
</night>
</weather>
<weather>
<date>7日星期一</date>
<high>高温13℃</high>
<low>低温6℃</low>
<day>
<type>多云</type>
<fengxiang>无持续风向</fengxiang>
<fengli>微风级</fengli>
</day>
<night>
<type>晴</type>
<fengxiang>无持续风向</fengxiang>
<fengli>微风级</fengli>
</night>
</weather>
<weather>
<date>8日星期二</date>
<high>高温13℃</high>
<low>低温7℃</low>
<day>
<type>晴</type>
<fengxiang>无持续风向</fengxiang>
<fengli>微风级</fengli>
</day>
<night>
<type>多云</type>
<fengxiang>无持续风向</fengxiang>
<fengli>微风级</fengli>
</night>
</weather>
<weather>
<date>9日星期三</date>
<high>高温13℃</high>
<low>低温10℃</low>
<day>
<type>小雨</type>
<fengxiang>无持续风向</fengxiang>
<fengli>微风级</fengli>
</day>
<night>
<type>小雨</type>
<fengxiang>无持续风向</fengxiang>
<fengli>微风级</fengli>
</night>
</weather>
</forecast>
<shus>
<shu>
<name>晨练指数</name>
<value>不宜</value>
<detail>有较强降水,请避免户外晨练,建议在室内做适当锻炼,保持身体健康。</detail>
</shu>
<shu>
<name>舒适度</name>
<value>较舒适</value>
<detail>白天有雨,人们会感到有些凉意,但大部分人完全可以接受。</detail>
</shu>
<shu>
<name>穿衣指数</name>
<value>较冷</value>
<detail>建议着厚外套加毛衣等服装。年老体弱者宜着大衣、呢外套加羊毛衫。</detail>
</shu>
<shu>
<name>感冒指数</name>
<value>极易发</value>
<detail>将有一次强降温过程,天气寒冷,且空气湿度较大,极易发生感冒,请特别注意增加衣服保暖防寒。</detail>
</shu>
<shu>
<name>晾晒指数</name>
<value>不宜</value>
<detail>有较强降水,不适宜晾晒。若需要晾晒,请在室内准备出充足的空间。</detail>
</shu>
<shu>
<name>旅游指数</name>
<value>较不宜</value>
<detail>天气稍凉,有微风,同时有有较强降水,会给出行产生很多麻烦,建议好还是多选择在室内活动!。</detail>
</shu>
<shu>
<name>紫外线强度</name>
<value>最弱</value>
<detail>属弱紫外线辐射天气,无需特别防护。若长期在户外,建议涂擦SPF在8-12之间的防晒护肤品。</detail>
</shu>
<shu>
<name>洗车指数</name>
<value>不宜</value>
<detail>不宜洗车,未来24小时内有雨,如果在此期间洗车,雨水和路上的泥水可能会再次弄脏您的爱车。</detail>
</shu>
<shu>
<name>运动指数</name>
<value>较不宜</value>
<detail>有较强降水,建议您选择在室内进行健身休闲运动。</detail>
</shu>
<shu>
<name>约会指数</name>
<value>不适宜</value>
<detail>较强降水天气会给室外约会增添许多麻烦,尽量不要外出约会,最好在室内促膝谈心。</detail>
</shu>
<shu>
<name>雨伞指数</name>
<value>带伞</value>
<detail>有较强降水,您在外出的时候一定要带雨伞,以免被雨水淋湿。</detail>
</shu>
</shus>
</resp>


得到数据后使用XML解析数据即可,最好是建立一个实体类来存储数据

下面是使用DOM方式解析部分数据代码

DocumentBuilderbuilder=DocumentBuilderFactory.newInstance().newDocumentBuilder();
//is是网络连接得到的输入流
Documentdoc=builder.parse(is);
if(doc==null)thrownewException();

Elementelement=doc.getDocumentElement();
NodeListchildList=element.getChildNodes();
for(inti=0;i<childList.getLength();i++){
Elemente=(Element)childList.item(i);
Stringtag=e.getTagName();
Stringtext=e.getTextContent();
if("city".equals(tag)){
//城市
}elseif("updatetime".equals(tag)){
//更新时间
}elseif("wen".equals(tag)){
//即时温度
}elseif("fengli".equals(tag)){
//风力
}elseif("shi".equals(tag)){
//湿度
}elseif("fengxiang".equals(tag)){
//风向
}
}

❼ 求Android天气预报的开发源代码

package com.nrzc.weatherstation;

import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

import java.util.Timer;
import java.util.TimerTask;

/**
* 环境传感器
* 气象站
*/
public class MainActivity extends AppCompatActivity {

private SensorManager sensorManager;
private TextView temperatureTextView;
private TextView pressureTextView;
private TextView lightTextView;

private float currentTemperature=Float.NaN;
private float currentPressure=Float.NaN;
private float currentLight=Float.NaN;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

init();

Timer updateTimer=new Timer("weatherUpdate");
updateTimer.scheleAtFixedRate(new TimerTask() {
@Override
public void run() {
updateGUI();
}
},0,1000);
}

private void init(){
temperatureTextView=(TextView)findViewById(R.id.temperature);
pressureTextView=(TextView)findViewById(R.id.pressure);
lightTextView=(TextView)findViewById(R.id.light);
sensorManager=(SensorManager)getSystemService(Context.SENSOR_SERVICE);

}

private final SensorEventListener tempSensorEventListener=new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
currentTemperature=event.values[0];
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {

}
};

private final SensorEventListener pressureSensorEventListener=new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
currentPressure=event.values[0];
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {

}
};

private final SensorEventListener lightSensorEventListener=new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
currentLight=event.values[0];
}

@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {

}
};

@Override
protected void onResume() {
super.onResume();

Sensor lightSensor=sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
if (lightSensor!=null)
sensorManager.registerListener(lightSensorEventListener,
lightSensor,
SensorManager.SENSOR_DELAY_NORMAL);
else
lightTextView.setText("Light Sensor Unavailable");

Sensor pressureSensor=sensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE);
if (pressureSensor!=null)
sensorManager.registerListener(pressureSensorEventListener,
pressureSensor,SensorManager.SENSOR_DELAY_NORMAL);
else
pressureTextView.setText("Barometer Unavailable");

Sensor temperatureSensor=sensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE);
if (temperatureSensor!=null)
sensorManager.registerListener(tempSensorEventListener,
temperatureSensor,
SensorManager.SENSOR_DELAY_NORMAL);
else
temperatureTextView.setText("Thermometer Unavailable");
}

@Override
protected void onPause() {
sensorManager.unregisterListener(pressureSensorEventListener);
sensorManager.unregisterListener(tempSensorEventListener);
sensorManager.unregisterListener(lightSensorEventListener);
super.onPause();
}

private void updateGUI(){
runOnUiThread(new Runnable() {
@Override
public void run() {
if(!Float.isNaN(currentPressure)){
pressureTextView.setText(currentPressure+"hPa");
pressureTextView.invalidate();
}
if (!Float.isNaN(currentLight)){
String lightStr="Sunny";
if (currentLight<=SensorManager.LIGHT_CLOUDY)
lightStr="night";
else if (currentLight<=SensorManager.LIGHT_OVERCAST)
lightStr="Cloudy";
else if (currentLight<=SensorManager.LIGHT_SUNLIGHT)
lightStr="Overcast";
lightTextView.setText(lightStr);
lightTextView.invalidate();
}

if (!Float.isNaN(currentTemperature)){
temperatureTextView.setText(currentTemperature+"C");
temperatureTextView.invalidate();
}
}
});
}

}

❽ android怎么获取实时天气

准备工作:
1.下载华为能力SDK;http://imax.vmall.com/nj-campus/universityEpDown/toDownPage
2.申请一个应用获取appId和appkey,待会要用到。

简单的思路就是先通过网络或者gps获取到当前位置的经纬度,然后通过sdk查询温度,获取结果。
具体步骤如下:
1.创建工程
把sdk中jar包拖到工程中的libs文件夹下面。

2.主类代码如下
package com.empty.weatherreport;
import com.empty.weatherreport.WeatherUtil.SCell;
import com.empty.weatherreport.WeatherUtil.SItude;
import com.imax.vmall.sdk.android.common.adapter.ServiceCallback;
import com.imax.vmall.sdk.android.entry.CapabilityService;
import com.imax.vmall.sdk.android.entry.CommonService;
import com.imax.vmall.sdk.android.huawei.weather.WeatherService;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.Context;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
import android.widget.Toast;
public class WeatherActivity extends Activity {

private MyHandler myHandler;
private ProgressDialog mProgressDialog;
private Location mLocation;
private boolean sdkStatus;
//Tool to get weather
/**
* CommonService
*/
private CommonService cs;
/**
* WeatherService
*/
private WeatherService weather;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_weather);
sdkStatus=false;
myHandler=new MyHandler();
//初始化业务接口实例
weather = CapabilityService.getWeatherServiceInstance();
//实例化CommonService
cs=CommonService.getInstance();
initSDK();
}
private void initSDK()
{
//应用ID,请去iMAX平台注册申请
String appId="******";
//应用Key
String appKey="******";
//通过CommonService调用鉴权接口,在调用其它能力前必须保证鉴权初始化成功
cs.init(WeatherActivity.this,appId, appKey, new ServiceCallback() {
public void onError(String arg0) {
// TODO Auto-generated method stub
//设置消息
Message msg = new Message();
msg = new Message();
msg.what = 2;
msg.obj = "SDK initialize failed!";
myHandler.sendMessage(msg);
}
public void onComplete(String arg0) {
// TODO Auto-generated method stub
//设置消息
Message msg = new Message();
msg = new Message();
msg.what = 2;
msg.obj = "SDK initialize success!";
sdkStatus=true;
myHandler.sendMessage(msg);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_weather, menu);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
// TODO Auto-generated method stub
if(item.getItemId()==R.id.menu_settings) Toast.makeText(getApplicationContext(), "Ha", Toast.LENGTH_SHORT).show();
if(item.getItemId()==R.id.menu_weather)
{
if(sdkStatus)
{
/** 弹出一个等待状态的框 */
mProgressDialog = new ProgressDialog(this);
mProgressDialog.setMessage("Waiting...");
mProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
mProgressDialog.show();
WeatherThread m = new WeatherThread();
new Thread(m).start();
}
else
Toast.makeText(getApplicationContext(), "SDK not installed", Toast.LENGTH_SHORT).show();
}
return super.onMenuItemSelected(featureId, item);
}
/** 显示结果 */
private void showResult(String s) {
String tmp[]=s.split("\"");
for(int i=0;i<tmp.length;i++)
Log.i("tmp"+i, tmp[i]);
new AlertDialog.Builder(this) .setTitle("Weather") .setMessage("latitude:"+mLocation.getLatitude()+"\n longitude:"
+mLocation.getLongitude()+"\ntmperature:"+tmp[21]) .show();
}
class MyHandler extends Handler {
public MyHandler() {
}
public MyHandler(Looper L) {
super(L);
}
// 子类必须重写此方法,接管数据
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
Log.d("MyHandler", "handleMessage......");
/** 显示结果 */
switch(msg.what)
{
case 1:
Log.i("Error", "case1");
mProgressDialog.dismiss();
showResult((String)msg.obj);
break;
case 2:
Toast.makeText(getApplicationContext(), (String)msg.obj, Toast.LENGTH_SHORT).show();
break;
default:;
}
super.handleMessage(msg);
// 此处可以更新UI
}
}
class WeatherThread implements Runnable {
public void run() {
final Message msg = new Message();
msg.what=1;
try {
mLocation=getLocation(WeatherActivity.this);
weather.getWeather(Double.toString(mLocation.getLongitude()),Double.toString(mLocation.getLatitude()), new ServiceCallback()
{
public void onError(String arg0)
{
//api接口调用错误响应
Log.i("Error", "getWeather error:"+arg0);
//设置消息
msg.obj = arg0;
/** 关闭对话框 */
myHandler.sendMessage(msg); // 向Handler发送消息,更新UI
}
public void onComplete(String arg0)
{
//api接口调用成功响应
Log.i("Complete", "getWeather complete:"+arg0);
//设置消息
msg.obj = arg0;
/** 关闭对话框 */
myHandler.sendMessage(msg); // 向Handler发送消息,更新UI
}
});
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//Get the Location by GPS or WIFI
public Location getLocation(Context context) {
LocationManager locMan = (LocationManager) context
.getSystemService(Context.LOCATION_SERVICE);
Location location = locMan
.getLastKnownLocation(LocationManager.GPS_PROVIDER);
if (location == null) {
location = locMan
.getLastKnownLocation(LocationManager.NETWORK_PROVIDER);
}
return location;
}
}

3.载manifest文件中添加权限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" >
</uses-permission>
<uses-permission android:name="android.permission.INTERNET" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" >
</uses-permission>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

❾ 求安卓天气软件源代码!有载入界面、天气显示页面、未来几天天气界面、切换城市界面四个界面的

你要求太多了,除非是干这行的且有相关项目。即使如此也不会轻易给你。既然你是答辩,那么可以给你大概说下都是什么东西。关键就是一个后台service,设置成24小时一次访问网络,获取数据,至于天气预报信息,是从服务器请求下来的数据。其他的就是把这些数据适配到界面的问题了。‘
建议你去网络上搜下:
1,Activity组件
2,service组件
3,webService
4,Adapter
当让,以上都是安卓相关。
既然是毕业设计,就花点时间看下吧。记得当时我也选个自己不怎么会的项目,然后钻了一段时间,最后毕业答辩虽然说的不好,可是都是自己的东西,老师们也知道大学情况,看到有人能自己努力不去抄袭,也很感动的给了好评。我谢谢那些令人尊敬的老师给我的鼓励。加油吧... ...

热点内容
图片分布式存储方案 发布:2025-03-09 08:54:49 浏览:57
火影手游竞技场脚本 发布:2025-03-09 08:48:31 浏览:742
电脑如何访问谷歌 发布:2025-03-09 08:39:37 浏览:172
安卓怎么多开微信 发布:2025-03-09 08:34:02 浏览:594
怎么看金蝶服务器的ip地址 发布:2025-03-09 08:33:59 浏览:269
pyc在线反编译 发布:2025-03-09 08:33:17 浏览:933
天龙极速脚本 发布:2025-03-09 08:33:09 浏览:976
刀剑神域服务器维护到什么时候 发布:2025-03-09 08:31:40 浏览:217
phppdf转html 发布:2025-03-09 08:23:01 浏览:640
脚本按键怎么循环 发布:2025-03-09 08:19:06 浏览:144