判断软件是否为首次运行只要在运行软件的时候来读取配置文件,如果不存在配置文件,则是首次运行,让用户填写信息后生成配置文件,如果配置文件已经存在则不是首次运行,直接读取城市就行了
思路为:
如果配置文件存在:
读取配置信息,#比如"城市"
否则:
弹出输入框("之一次会用本软件请设置您所在城市")
写入配置文件
没研究过安卓开发,所以只能在思路上帮助你,语法上你自己琢磨一下吧
安卓编程设计很多方面,非常复杂,需要系统的学习才可以,这里以一个简单的天气预报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日天气数据的,你要不要?因为目前处于功能设计阶段,界面不怎么美观,要后期才会美化!你如果有基础的话,我可以提供获取数据的代码,只要自己设计个界面,数据放上去显示就好。
上周,Chrome Security 团队的 Adrian Taylor,在一篇谷歌安全博客文章中解释了“为何在野外被利用的 CVE 漏洞似乎有所增加”。对于这种漏洞利用的可见性增长趋势,归咎于多个方面的因素。而谷歌旗下的 Project Zero 团队,也有对包括 WebKit、IE、Flash、...
一名安全研究人员发现了Cue Health公司家用COVID-19检测试剂盒的一个漏洞,可能会让用户伪造结果。Cue Health的COVID-19检测试剂盒是一种蓝牙操作的分子测试,可以在20分钟内检测出阳性标本。该系统使用鼻拭子测试冠状病毒,鼻拭子被插入一个一次性盒中,由电池供电的Cue阅读器进...
据Techspot报道,根据卡巴斯基的一项调查,30%的人认为使用跟踪软件来监视他们的伴侣是正常的。跟踪软件是一类允许一个人监视另一个人的软件,通常是在目标的移动设备上安装该软件,而他们并不知情。这类应用程序通常伪装成家长控制应用程序或防盗解决方案,可以监控互联网活动,跟踪用户的行踪,录制音频和视频...
周五晚上,一场破坏性网络攻击使巴基斯坦国家银行运营陷入瘫痪。该事件影响了该银行的自动取款机、内部网络和移动应用程序。目前,该事件被定为抹除数据的恶意软件攻击,而不是勒索软件攻击。 该事件发生在周五和周六之间的晚上,影响了银行后台系统,并影响了用于连接银行分支机构的服务器、控制银行ATM网络的后台基础...
专业处理固件威胁的安全研究公司 Binarly,刚刚在周二的一篇博客文章中披露了 InsydeH2O“Hardware-2-Operating System”UEFI BIOS 中存在的问题。作为微软、英特尔、惠普、戴尔、联想、西门子、富士通等多家科技巨头的固件供应商,这意味着它们都易受将近两打安全...
据《连线》报道,IOActive安全研究员Josep Rodriquez警告说,许多现代ATM和POS系统中使用的NFC读卡器使它们容易受到攻击。这些缺陷使它们容易受到一系列问题的影响,包括被附近的NFC设备对撞攻击、作为勒索软件攻击的一部分而被锁定、甚至被黑客提取某些信用卡数据。 Rodriqu...