-
一个极为简单的天气软件,无法运行0
最近在做一个android天气app,没有任何基础,弄出来了一个极为简单的小软件却无法运行,而且没有提示错误,智商很捉急啊,求帮忙
源码如下:
package com.example.w2;
import android.os.Bundle;
import android.app.Activity;
import android.view.View;
import android.widget.*;
import java.io.IOException;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
public class Main extends Activity{
public static final String PREFS_NAME = "WeatherDataFile";
SharedPreferences dataofday =null;
private TextView ftdate;
private TextView ftweek;
private TextView ftempe;
private TextView fwinds;
private TextView fweather;
private Button refresh;
private String strUrl="http://www.weather.com.cn/weather/101190101.shtml";
String today; //当前日期
String dayofweek; //当前星期
int ftime;//更新时间(整点)
String date;
String week;
String temp;
String cityname;
String weather;
String wind;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ftdate=(TextView)findViewById(R.id.ftdate);
ftweek=(TextView)findViewById(R.id.ftweek);
ftempe=(TextView)findViewById(R.id.ftempe);
fwinds=(TextView)findViewById(R.id.fwinds);
fweather=(TextView)findViewById(R.id.fweather);
refresh=(Button)findViewById(R.id.refresh);
refresh.setOnClickListener(freshOnClick);
}
private Button.OnClickListener freshOnClick=new Button.OnClickListener(){
public void onClick(View v) {
String strResult = connServerForResult(strUrl);
parseJson(strResult);
showdata();
}
};
private String connServerForResult(String strUrl) {
//获取HttpGet对象
HttpGet httpRequest = new HttpGet(strUrl);
String strResult = "";
try {
// HttpClient对象
HttpClient httpClient = new DefaultHttpClient();
// 获得HttpResponse对象
HttpResponse httpResponse = httpClient.execute(httpRequest);
if (httpResponse.getStatusLine().getStatusCode() == HttpStatus.SC_OK) {
// 取得返回的数据
strResult = EntityUtils.toString(httpResponse.getEntity());
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (strResult.charAt(0) != '{')
strResult = '{' + strResult;
if (strResult.charAt(strResult.length() - 1) != '}')
strResult = strResult + '}';
return strResult; //返回结果
};
private void parseJson(String strResult) {
try {
JSONObject jsonObj = new JSONObject(strResult).getJSONObject("weatherinfo");
// 打开SharedPreferences更新数据
Editor write = dataofday.edit();
today = jsonObj.getString("date_y");
dayofweek = jsonObj.getString("week");
ftime = jsonObj.getInt("fchh");
wind =jsonObj.getString("wind");
write.putInt("ftime", ftime);
write.putString("today", today);
write.putString("dayofweek", dayofweek);
}
catch (JSONException e) {
return;
}
};
public void showdata(){
ftdate.setText(today);
ftweek.setText(dayofweek);
ftempe.setText(temp);
fweather.setText(weather);
fwinds.setText(wind);
}
}
layout/main。xml如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background=""
android:orientation="vertical" >
<LinearLayout
android:id="@+id/LinearLayout1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView android:id="@+id/city"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="blue"
android:textSize="25sp"
android:text="南京天气"
/>
<TextView android:id="@+id/ftempe"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="25dp"
android:textColor="black"
android:textSize="25sp"
android:text="温度:"
/>
<TextView android:id="@+id/fwinds"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="black"
android:textSize="25sp"
android:text="风力:"
/>
<TextView
android:id="@+id/fweather"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.49"
android:text="天气:晴"
android:textColor="black"
android:textSize="25sp" />
<TextView
android:id="@+id/ftdate"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="时间:2014年1月1日"
android:textColor="black"
android:textSize="25sp" />
<TextView
android:id="@+id/ftweek"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="星期:星期三"
android:textColor="black"
android:textSize="25sp" />
<Button
android:id="@+id/refresh"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/refresh" />
</LinearLayout>
</LinearLayout>
求大神指教!!不胜感激
2014年3月23日 17:08
目前还没有答案
相关推荐
值得一提的是,开机天气预报不仅仅是一个简单的天气信息展示工具,它的实用性还在于能够帮助用户规划日常生活。例如,在天气炎热或寒冷的日子,软件会提醒用户注意防晒或保暖,避免中暑或感冒;若预报有雨,用户就...
对于那些硬件开发者和维修人员而言,这款测试软件不仅是一个评估工具,更是一个调试和修复力反馈系统的便捷环境。 在当前的模拟飞行社区中,微软FFB飞行摇杆力反馈测试软件已经成为了一个不可或缺的工具,对于那些...
一个集多项实用功能于一体的数字时钟软件,能为用户的生活和工作带来便利。本文将详细介绍这样一款功能丰富的数字时钟软件,它的特点在于占用极小的系统资源,同时提供大字体显示、真人语音报时、自动识别地区天气...
系统概要设计章节则提出了设计目标和设计思路,旨在构建一个用户友好、功能完备且稳定可靠的天气预报软件。文档提到了界面设计是用户体验的重要组成部分,包括界面介绍、控件使用、界面布局等,这些都是设计过程中...
桌面日历是"桌面秀软件"的一个核心功能,它能够以日、周、月的形式展现,帮助用户清晰地看到日期以及即将到来的事件。这种功能不仅适用于个人,对于需要管理多个项目和任务的职场人士来说,尤其重要。它可以帮助他们...
因此,一款能够提供时间、日历、天气等信息整合的软件,就显得格外有用。【软媒时间】就是这样一款专为Windows 10系统打造的办公软件,它不仅能够直观地显示时间秒数,还能同步展示日历和天气信息,功能全面且占用...
通过本次分享的项目源码,学生可以了解到从零开始构建一个微信小程序的基本步骤,以及如何将理论知识应用于实际的软件开发中。不仅有助于提升学生的实践能力,也能够激发他们对于前端开发和移动互联网领域的兴趣。 ...
用户在下载后,可以通过解压并运行该文件来安装或更新软件,从而享受其带来的便利。 总的来说,万年历软件在办公室环境中扮演着不可或缺的角色。它不仅是时间管理的好帮手,也是提高工作生活品质的智能工具。随着...
只有通过不断改进设备管理、提升人员素质、应对自然灾害和采纳先进技术,才能构建一个更加安全和高效的电力系统。这样,电力系统才能更好地为社会经济发展提供稳定支撑,发挥其在现代社会中的关键作用。
此外,考虑到“圣诞树”这一描述与汽车框定代码界面版之间的联系并不明显,可能是一个随机的字符串或者是软件内部的一个特殊功能模块的名称,例如,有可能是软件运行时显示的一个标识,或者是一个特定功能的代号。
不仅如此,该插件还能提供未来几天的天气趋势预测,这对于需要规划未来行程的用户来说,是一个极为实用的功能。 轻量化设计是星驰天气助手另一大亮点。在当今计算机和网络设备日益普及的背景下,用户对软件的性能...
总而言之,蝴蝶花园屏幕保护程序不仅仅是一个简单的屏幕保护工具,它更是一个集视觉、听觉享受与艺术性、技术性于一体的艺术作品。它通过3D技术向我们展示了大自然的美丽,让人们即使在室内也能感受到自然的魅力。...
这使得它不仅仅是一个时间显示工具,而是一个全功能的生活与工作伙伴。 【实用万年历】软件中最为基础而又不可或缺的功能自然是万年历。通过这款软件,用户可以清晰地查看公历与农历日期,这在传统节庆活动日益增多...
其中,“桌面插件工具大集合”便是一个极为引人注目的存在,它不仅满足了用户对电脑桌面美观和个性化的追求,还通过开放源代码的方式,为有编程技能的用户提供了一个改造和创新的平台。 说到“桌面插件工具大集合”...
与传统存储设备相比,云存储系统不再是简单的硬件设备,而是一个包括网络设备、服务器和应用软件等多个部分的复杂系统。在云计算环境下,安全数据存储系统包括云架构和安全数据存储等多个方面。用户通过云端接口完成...
标题中的“wox和everything安装包.zip”是一个包含两个实用工具——Wox和Everything的安装程序的压缩文件。这两个工具都是提高Windows操作系统效率的利器,尤其对于经常在计算机上进行搜索操作的用户来说非常有用。 ...
它可以模拟出任何地理位置,让用户在游戏、社交应用等场景下,仿佛身处世界任何一个角落。这对于开发者进行应用测试,尤其是地理位置相关的功能测试,极为有用。此外,对于那些希望保持隐私的用户,例如不想让应用...
防雷电也是一个不可忽视的方面,特别是在雷雨天气,应该及时切断电源和网络连接,以免电脑受到雷电损害。此外,保持电脑在一个适宜的温度(10至35度)和湿度(40%至80%)环境中运行也是非常重要的。长时间未使用的...
例如,在一个天气预报应用中,可以将最近查询过的城市天气信息存储在SQLite数据库中,以减少网络请求次数。 **4. 归档和数据存储** 对于需要长期存储大量数据的应用,SQLite可以作为一种有效的归档解决方案。例如...
相较于传统的存储设备,云存储是一个复杂的系统,包括网络设备、服务器和应用软件等,以存储设备为中心提供数据存储和访问服务。在云计算环境中,安全数据存储系统主要涉及云架构和安全数据存储。数据池用于存储用户...