名称:265天气根据IP自动获得当地的天气情况 代码:iframe src="weather/weather/Weather/news_new/inc/ss258/cgi-bin/news_weather_search?city=厦门" allowTransparency="true"/iframe 说明 :这种适合于在网页的正栏插入。上面的城市可以自定,比如厦门可改成别的。定制的 *** 是修改我代码中标红的 名称。这里比较简单,直接用汉字改就行了。比如是福州的,你就直接把“厦门”改成福州就行。名称: *** 天气预报代码(四) 代码 :iframe width=160 height=230 frameborder=0 scrolling=NO src=appnews/cgi-bin/news_qq_search?city=南昌/iframe 名称: *** 天气预报代码(五) 代码 :iframe src="appnews/cgi-bin/news_qq_search?city=南昌" frameborder="0" width="160" scrolling="no" height="230"/iframe
我这边有 2227421573 不过是简单的实现天气预报,只能查看当天的天气信息, 自动定位到当前的城市,然后去查询天气信息的.
package com.nrzc.weatherstation;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;
import java.util.Timer;
import java.util.TimerTask;
/**
* 环境传感器
* 气象站
*/
public class MainActivity extends AppCompatActivity {
private SensorManager sensorManager;
private TextView temperatureTextView;
private TextView pressureTextView;
private TextView lightTextView;
private float currentTemperature=Float.NaN;
private float currentPressure=Float.NaN;
private float currentLight=Float.NaN;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
init();
Timer updateTimer=new Timer("weatherUpdate");
updateTimer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
updateGUI();
}
},0,1000);
}
private void init(){
temperatureTextView=(TextView)findViewById(R.id.temperature);
pressureTextView=(TextView)findViewById(R.id.pressure);
lightTextView=(TextView)findViewById(R.id.light);
sensorManager=(SensorManager)getSystemService(Context.SENSOR_SERVICE);
}
private final SensorEventListener tempSensorEventListener=new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
currentTemperature=event.values[0];
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
private final SensorEventListener pressureSensorEventListener=new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
currentPressure=event.values[0];
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
private final SensorEventListener lightSensorEventListener=new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
currentLight=event.values[0];
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
@Override
protected void onResume() {
super.onResume();
Sensor lightSensor=sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
if (lightSensor!=null)
sensorManager.registerListener(lightSensorEventListener,
lightSensor,
SensorManager.SENSOR_DELAY_NORMAL);
else
lightTextView.setText("Light Sensor Unavailable");
Sensor pressureSensor=sensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE);
if (pressureSensor!=null)
sensorManager.registerListener(pressureSensorEventListener,
pressureSensor,SensorManager.SENSOR_DELAY_NORMAL);
else
pressureTextView.setText("Barometer Unavailable");
Sensor temperatureSensor=sensorManager.getDefaultSensor(Sensor.TYPE_AMBIENT_TEMPERATURE);
if (temperatureSensor!=null)
sensorManager.registerListener(tempSensorEventListener,
temperatureSensor,
SensorManager.SENSOR_DELAY_NORMAL);
else
temperatureTextView.setText("Thermometer Unavailable");
}
@Override
protected void onPause() {
sensorManager.unregisterListener(pressureSensorEventListener);
sensorManager.unregisterListener(tempSensorEventListener);
sensorManager.unregisterListener(lightSensorEventListener);
super.onPause();
}
private void updateGUI(){
runOnUiThread(new Runnable() {
@Override
public void run() {
if(!Float.isNaN(currentPressure)){
pressureTextView.setText(currentPressure+"hPa");
pressureTextView.invalidate();
}
if (!Float.isNaN(currentLight)){
String lightStr="Sunny";
if (currentLight=SensorManager.LIGHT_CLOUDY)
lightStr="night";
else if (currentLight=SensorManager.LIGHT_OVERCAST)
lightStr="Cloudy";
else if (currentLight=SensorManager.LIGHT_SUNLIGHT)
lightStr="Overcast";
lightTextView.setText(lightStr);
lightTextView.invalidate();
}
if (!Float.isNaN(currentTemperature)){
temperatureTextView.setText(currentTemperature+"C");
temperatureTextView.invalidate();
}
}
});
}
}
丰田汽车旗下零部件制造商日本电装于13日宣布,其德国当地法人受到了网络攻击。该公司确认其网络感染了勒索软件。被认定发动了此次攻击的黑客集团已经发布了勒索声明。公司称虽然目前并没有立刻对公司经营造成影响,但是“关于受害的详细情况正在调查中”。公司已向德国当地政府提交了受害报告。 据信息安全公司三井物...
不少 WordPress 网站正在遭受黑客们的攻击,通过注入的恶意脚本,利用访问者的浏览器对乌克兰网站进行分布式拒绝服务攻击。今天,MalwareHunterTeam 发现一个 WordPress 网站被入侵使用这个脚本,针对十个网站进行分布式拒绝服务(DDoS)攻击。 这些网站包括乌克兰政府机构、...
援引 BBC News 报道,伦敦警方已经逮捕了 7 名青年,怀疑他们和近期非常猖獗的黑客组织 Lapsus$ 有关。在一份提交给 The Verge 的声明中,伦敦市警方的探长迈克尔·奥沙利文表示:“伦敦市警方一直在与合作伙伴一起对一个黑客组织的成员进行调查。在调查中有 7 名年龄在 16-21...
当地时间5月6日,宜家(IKEA)加拿大公司表示已经将该公司大约9.5万名客户的个人信息数据泄露事件通报给加拿大的隐私监管机构。宜家(IKEA)加拿大公司在致受影响客户的一封信中表示,可能已被泄露的数据包括客户姓名、电子邮件地址、电话号码和邮政编码。 宜家加拿大公司已通知加拿大隐私专员,因为有95...
在美国遭受多次利用开源软件漏洞的攻击后,包括苹果在内的科技公司高管将于周四参加白宫的网络安全会议。1月13日星期四的会议是由于发现了开源Log4j软件的漏洞而专门召开的,该软件在国际上被用于应用程序的数据记录。 白宫国家安全顾问杰克-沙利文在12月写信给大科技公司的首席执行官,说这种开源软件是一个”...
网络安全公司Proofpoint/Cloudmark最近发现了一种新的威胁,可以通过短信控制受害者的手机。美国和加拿大也发现了这种威胁,根据报告,Android用户是这种恶意软件的主要目标。 这种安全威胁被命名为Tangle Bot,因为它能够接管一些设备的功能,包括联系人列表、电话记录、摄像头和麦...