判断软件是否为首次运行只要在运行软件的时候来读取配置文件,如果不存在配置文件,则是首次运行,让用户填写信息后生成配置文件,如果配置文件已经存在则不是首次运行,直接读取城市就行了
思路为:
如果配置文件存在:
读取配置信息,#比如"城市"
否则:
弹出输入框("之一次会用本软件请设置您所在城市")
写入配置文件
没研究过安卓开发,所以只能在思路上帮助你,语法上你自己琢磨一下吧
安卓编程设计很多方面,非常复杂,需要系统的学习才可以,这里以一个简单的天气预报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日天气数据的,你要不要?因为目前处于功能设计阶段,界面不怎么美观,要后期才会美化!你如果有基础的话,我可以提供获取数据的代码,只要自己设计个界面,数据放上去显示就好。
研究人员近日发现了针对乌克兰计算机的新型擦除恶意软件(以破坏关键文件和数据为目的),这是俄乌冲突以来发现的第 3 款擦除恶意软件。 这种被称为 CaddyWiper 的恶意软件是由总部位于斯洛伐克的网络安全公司 ESET 的研究人员发现的,他们在周一发布的推文中分享了细节。 据研究人员称,该...
Hackernews 编译,转载请注明出处: 一个名为“RED-LILI”的攻击者发布了近800个恶意模块,与正在进行的针对 NPM 软件包库的大规模供应链攻击活动联系紧密。 以色列安全公司 Checkmarx 说: “通常,攻击者使用一个匿名的一次性 NPM 帐户发动攻击。”“这一次,攻击...
Surfshark的一项研究显示,自3月开始入侵乌克兰以来,俄罗斯账户被攻破的次数比2月多136%。反过来,乌克兰在黑客攻击中充当受害者的场景比战争前的那个季度少67%。这些数字很可能是由于黑客组织Anonymous在冲突开始时宣布它将特意针对俄罗斯的事实。 sandr Valentij说。”泄...
本周三,包括美国能源部(DOE)、网络安全和基础设施安全局(CISA)和联邦调查局(FBI)在内的多个机构,向关键基础设施运营商发出了严重的潜在攻击警报。近年来,某些持续威胁(APT)参与者创建了许多定制工具,并在针对工业控制系统(ICS)、监控和数据采集设备(SCADA)等关键基础设施的攻击事件中...
虽然这家俄罗斯安全公司近几个月来已经失宠,但卡巴斯基宣布它已经成功破解了Yanluowang勒索软件(没错,它真的叫阎罗王,字面上Yanluowang。)这一充满了东方文化气息的恶意软件是去年由赛门铁克公司首次发现的,现在,卡巴斯基已经发现了它使用的加密算法中的一个漏洞。这使得该公司能够开发一个免费...
一场在全球范围性欺诈行为被发现,它利用151个恶意Android应用程序,下载量达1050万次,在未经用户同意和知情的情况下将用户拉入付费订阅服务。 名为“Ultimams”的付费短信诈骗活动据信于2021年5月开始,涉及的应用程序涵盖范围广泛,包括输入法、二维码扫描仪、视频和照片编辑器、垃圾邮件拦...