判断软件是否为首次运行只要在运行软件的时候来读取配置文件,如果不存在配置文件,则是首次运行,让用户填写信息后生成配置文件,如果配置文件已经存在则不是首次运行,直接读取城市就行了
思路为:
如果配置文件存在:
读取配置信息,#比如"城市"
否则:
弹出输入框("之一次会用本软件请设置您所在城市")
写入配置文件
没研究过安卓开发,所以只能在思路上帮助你,语法上你自己琢磨一下吧
安卓编程设计很多方面,非常复杂,需要系统的学习才可以,这里以一个简单的天气预报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日天气数据的,你要不要?因为目前处于功能设计阶段,界面不怎么美观,要后期才会美化!你如果有基础的话,我可以提供获取数据的代码,只要自己设计个界面,数据放上去显示就好。
近日,据Reddit上的帖子和Cyber Kendra上的一份报告显示,LAPSUS$ (Lapsus) 组织入侵了微软的DevOps帐户,该组织此前入侵了NVIDIA和三星。 下面的截图由Lapsus发布,但很快被删除,由Cyber Kendra保存了下来。该组织声称可以访问微软的一些DevOps...
Hackernews 编译,转载请注明出处: 一个广泛应用于 Windows、 Linux 和 Mac 环境的开源模块的维护者最近破坏了它的功能,以抗议乌克兰的战争,大众再次将注意力集中在与软件代码依赖相关的潜在的严重安全问题上。 Node-ipc 是一个用于进程间通信的 JavaScrip...
一名安全研究人员发现了Cue Health公司家用COVID-19检测试剂盒的一个漏洞,可能会让用户伪造结果。Cue Health的COVID-19检测试剂盒是一种蓝牙操作的分子测试,可以在20分钟内检测出阳性标本。该系统使用鼻拭子测试冠状病毒,鼻拭子被插入一个一次性盒中,由电池供电的Cue阅读器进...
文件压缩软件 7-Zip 被爆零日安全漏洞,允许攻击者提权并执行任意代码。目前开发团队并未发布补丁,但普通用户可以通过简单操作来让这个漏洞失效。上周,研究人员 Kağan Çapar 发现并公布了 7-Zip 的一个零日漏洞,该漏洞可以授予权限升级和命令执行。 它被命名为 CVE-2022-290...
经历了持续一年多的追踪,网络安全研究人员终于摸清了“中东之眼”新闻网站入侵事件的来龙去脉。由 ESET 周二发布的报告可知,一群黑客入侵了总部位于伦敦的这家热门新闻网站。这家网站着眼于中东地区的新闻报道,而攻击者的最终目标却是网站访客。 伊朗驻阿布扎比大使馆网站的脚本注入 据悉,这轮黑客活动一直从...
周五晚上,一场破坏性网络攻击使巴基斯坦国家银行运营陷入瘫痪。该事件影响了该银行的自动取款机、内部网络和移动应用程序。目前,该事件被定为抹除数据的恶意软件攻击,而不是勒索软件攻击。 该事件发生在周五和周六之间的晚上,影响了银行后台系统,并影响了用于连接银行分支机构的服务器、控制银行ATM网络的后台基础...