判断软件是否为首次运行只要在运行软件的时候来读取配置文件,如果不存在配置文件,则是首次运行,让用户填写信息后生成配置文件,如果配置文件已经存在则不是首次运行,直接读取城市就行了
思路为:
如果配置文件存在:
读取配置信息,#比如"城市"
否则:
弹出输入框("之一次会用本软件请设置您所在城市")
写入配置文件
没研究过安卓开发,所以只能在思路上帮助你,语法上你自己琢磨一下吧
安卓编程设计很多方面,非常复杂,需要系统的学习才可以,这里以一个简单的天气预报app编程为例:
public class WebServiceUtil
{
// 定义Web Service的命名空间
static final String SERVICE_NS = "";
// 定义Web Service提供服务的URL
static final String SERVICE_URL = "";
public static List getProvinceList()
{
// 需要调用的 *** 名(获得本天气预报Web Services支持的洲、国内外省份和城市信息)
String methodName = "getRegionProvince";
// 创建HttpTransportSE传输对象
HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);
httpTranstation.debug = true;
// 使用SOAP1.1协议创建Envelop对象
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
// 实例化SoapObject对象
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
envelope.bodyOut = soapObject;
// 设置与.Net提供的Web Service保持较好的兼容性
envelope.dotNet = true;
try
{
// 调用Web Service
httpTranstation.call(SERVICE_NS + methodName, envelope);
if (envelope.getResponse() != null)
{
// 获取服务器响应返回的SOAP消息
SoapObject result = (SoapObject) envelope.bodyIn;
SoapObject detail = (SoapObject) result.getProperty(methodName
+ "Result");
// 解析服务器响应的SOAP消息。
return parseProvinceOrCity(detail);
}
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
public static List getCityListByProvince(String province)
{
// 需要调用的 *** 名(获得本天气预报Web Services支持的城市信息,根据省份查询城市 *** :带参数)
String methodName = "getSupportCityString";
HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);
httpTranstation.debug = true;
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
soapObject.addProperty("theRegionCode", province);
envelope.bodyOut = soapObject;
envelope.dotNet = true;
try
{
// 调用Web Service
httpTranstation.call(SERVICE_NS + methodName, envelope);
if (envelope.getResponse() != null)
{
// 获取服务器响应返回的SOAP消息
SoapObject result = (SoapObject) envelope.bodyIn;
SoapObject detail = (SoapObject) result.getProperty(methodName
+ "Result");
// 解析服务器响应的SOAP消息。
return parseProvinceOrCity(detail);
}
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
private static List parseProvinceOrCity(SoapObject detail)
{
ArrayList result = new ArrayList();
for (int i = 0; i detail.getPropertyCount(); i++)
{
String str = detail.getProperty(i).toString();
// 解析出每个省份
result.add(str.split(",")[0]);
}
return result;
}
public static SoapObject getWeatherByCity(String cityName)
{
// 根据城市或地区名称查询获得未来三天内天气情况、现在的天气实况、天气和生活指数
String methodName = "getWeather";
HttpTransportSE httpTranstation = new HttpTransportSE(SERVICE_URL);
httpTranstation.debug = true;
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
SoapObject soapObject = new SoapObject(SERVICE_NS, methodName);
soapObject.addProperty("theCityCode", cityName);
envelope.bodyOut = soapObject;
envelope.dotNet = true;
try
{
// 调用Web Service
httpTranstation.call(SERVICE_NS + methodName, envelope);
if (envelope.getResponse() != null)
{
// 获取服务器响应返回的SOAP消息
SoapObject result = (SoapObject) envelope.bodyIn;
SoapObject detail = (SoapObject) result.getProperty(methodName
+ "Result");
// 解析服务器响应的SOAP消息。
return detail;
}
} catch (Exception e)
{
e.printStackTrace();
}
return null;
}
}
我做的项目中有从中国天气网获取的5日天气数据的,你要不要?因为目前处于功能设计阶段,界面不怎么美观,要后期才会美化!你如果有基础的话,我可以提供获取数据的代码,只要自己设计个界面,数据放上去显示就好。
近期,网络安全公司Binarly研究人员发现16个影响惠普企业设备的统一可扩展固件接口高危漏洞。攻击者可以利用这些漏洞植入固件,使其能够在操作系统更新后继续存在并绕过 UEFI安全启动、Intel Boot Guard和基于虚拟化的安全性。受影响的设备包括多个惠普企业设备,如笔记本电脑、...
经历了持续一年多的追踪,网络安全研究人员终于摸清了“中东之眼”新闻网站入侵事件的来龙去脉。由 ESET 周二发布的报告可知,一群黑客入侵了总部位于伦敦的这家热门新闻网站。这家网站着眼于中东地区的新闻报道,而攻击者的最终目标却是网站访客。 伊朗驻阿布扎比大使馆网站的脚本注入 据悉,这轮黑客活动一直从...
根据FBI的年度互联网犯罪报告,2021年人们因互联网犯罪而损失了超69亿美元,这比2020年猛增了20多亿美元。该报告于周二发布,包含了向美联邦执法机构的互联网犯罪投诉中心报告的最普遍的互联网诈骗信息 资料图 据FBI介绍称,2021年共有847,376起互联网犯罪投诉,虽然比2020年只增加了...
适用于桌面 PC 和笔记本的 Chrome 稳定版将新增“Privacy Guide”功能,它将帮助该网络浏览器的用户理解和实施隐私、安全和在线安全设置。虽然 Chrome 浏览器一直有大部分的这些设置,但现在 Google 声称隐私和安全控制应该更容易理解。 图片链接:https://static...
Hackernews 编译,转载请注明出处: 一个新的安卓银行木马通过官方的 Google Play Store 分发,安装量超过50,000次,其目的是针对56家欧洲银行,从受损的设备中获取敏感信息。 这款恶意软件被荷兰安全公司ThreatFabric命名为 Xenomorph,据说它与另...
一场严重的勒索软件危机打乱了很多大公司的运作,一些工人则担忧无法在圣诞假期前拿到最后一笔工资。而这一切的魁首就是近期臭名昭著的 Log4Shell 攻击,这让劳务解决方案公司 Kronos 可能要面临持续数周的业务中断。这一安全事件已经影响了纽约市地铁交通局、本田公司、GameStop 等机构的人力...