用手机查询北京实时路况

我想读这篇文章的朋友应该是被标题所吸引的, 毕竟手机已经成为我们日常生活中不可缺少的一部分, 除了很小的孩子和老人外, 基本上是每个人必备的装备^_^。 我们每天与自己的手机形影不离, 如果能通过手机来了解出行信息, 那将极大的方便我们的生活。 没错, 通过手机是可以得到实时的路况信息的。 下面我来详细说明一下。


上周我无意间发现北京公安交通管理局的网站提供了实时的路况信息。

http://210.73.74.215/realroad/

而且实时更新, 所以马上就产生了一个灵感, 能不能把这个通过手机来访问呢。 (其实这个网站是完全可以通过手机内置的浏览器访问的), 于是我准备通过手机上的JAVA程序来实现这个功能。


思路很简单, 这个网站的所有路况信息都是以图片的形式展现的。 我首先的出发点是不通过任何的代理服务器来处理, 也就是说直接用手机来访问URL实现。 不过我发现网站默认的图片格式都是JPG的, 好在现在的大部分手机还是支持这个格式的。 好, 我们现在创建一个工程。

项目名就叫trafficinfo吧, 包含两个类和一个接口。

Main: 继承自MIDlet, 程序的入口点与界面实现。
Network: 负责网络连接
NetworkListener:  一个联网过程的反馈接口。 我稍后解释它。

  1. import javax.microedition.lcdui.Command;
  2. import javax.microedition.lcdui.CommandListener;
  3. import javax.microedition.lcdui.Display;
  4. import javax.microedition.lcdui.Displayable;
  5. import javax.microedition.lcdui.Form;
  6. import javax.microedition.lcdui.Gauge;
  7. import javax.microedition.lcdui.Image;
  8. import javax.microedition.lcdui.List;
  9. import javax.microedition.midlet.MIDlet;
  10. import javax.microedition.midlet.MIDletStateChangeException;
  11. public class Main extends MIDlet implements CommandListener, NetworkListener {
  12.     
  13.     private String[] locations = 
  14.             {"西直门", "雍和宫", "东直门", 
  15.             "朝阳门", "建国门", "左安门", 
  16.             "永定门", "广安门", "菜户营",             
  17.             "六里桥", "莲花桥", "蓟门桥", 
  18.             "马甸桥", "洋桥", "航天桥", 
  19.             "紫竹桥", "长虹桥", "三元桥", 
  20.             "玉泉营桥", "分钟寺桥", "双井桥",
  21.             "定慧桥", "五棵松", "学院桥"};   
  22.     
  23.     
  24.     public static final String imgSuffix = ".jpg";
  25.     
  26.     private List list;
  27.     
  28.     private Form form;
  29.     
  30.     private Gauge process;
  31.     
  32.     private Command view = new Command("查看", Command.OK, 1);
  33.     
  34.     private Command exit = new Command("退出", Command.EXIT, 1);
  35.     
  36.     public Command back = new Command("菜单", Command.OK, 1);
  37.     
  38.     public Command backForm = new Command("地图", Command.OK, 1);
  39.     
  40.     private Command log = new Command("信息", Command.OK, 1);
  41.     
  42.     private static Main mainInstance;   
  43.     
  44.     
  45.     public Main() {
  46.         list = new List("选择区域", List.IMPLICIT, locations, null);
  47.         list.addCommand(view);
  48.         list.addCommand(exit);
  49.         list.addCommand(log);
  50.         list.setCommandListener(this);  
  51.         
  52.         form = new Form("");
  53.         form.addCommand(back);
  54.         form.addCommand(log);
  55.         form.setCommandListener(this);
  56.         
  57.         process = new Gauge("下载中...", false, 100, 1);
  58.         
  59.         
  60.         
  61.         mainInstance = this;
  62.         
  63.         Display.getDisplay(this).setCurrent(list);
  64.         
  65.     }
  66.     
  67.     static Main getInstance() {
  68.         return mainInstance;
  69.     }
  70.     protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
  71.         // TODO Auto-generated method stub
  72.     }
  73.     protected void pauseApp() {
  74.         // TODO Auto-generated method stub
  75.     }
  76.     
  77.     private void exitApp() {
  78.         try {
  79.             destroyApp(false);
  80.             notifyDestroyed();
  81.         } catch (Exception e) {e.printStackTrace();}
  82.     }
  83.     protected void startApp() throws MIDletStateChangeException {
  84.         // TODO Auto-generated method stub
  85.         
  86.     }
  87.     public void commandAction(Command cmd, Displayable d) {
  88.         // TODO Auto-generated method stub
  89.         
  90.         if (cmd == view) {
  91.             int index = list.getSelectedIndex();
  92.             
  93.             Network net = new Network(index + 1, mainInstance);
  94.             net.start();
  95.                         
  96.             form.setTitle(locations[index]);
  97.             form.deleteAll();
  98.             process.setValue(1);
  99.             form.append(process);           
  100.             Display.getDisplay(mainInstance).setCurrent(form);
  101.         }
  102.         
  103.         if (cmd == exit) {
  104.             exitApp();
  105.         }
  106.         
  107.         if (cmd == back) {
  108.             Display.getDisplay(mainInstance).setCurrent(list);
  109.         }
  110.         
  111.         if (cmd == log) {
  112.             Display.getDisplay(mainInstance).setCurrent(Logger.getInstance().getForm());
  113.         }
  114.         
  115.         if (cmd == backForm) {          
  116.             Display.getDisplay(mainInstance).setCurrent(form);
  117.         }
  118.         
  119.     }
  120.     public void connectProcess(int i, boolean b) {
  121.         // TODO Auto-generated method stub
  122.         if (b) {
  123.             Display.getDisplay(mainInstance).setCurrent(form);
  124.         } else {
  125.             process.setValue(i);            
  126.         }
  127.     }
  128.     public void inputImage(Image img) {
  129.         // TODO Auto-generated method stub
  130.         if (img != null) {
  131.             form.deleteAll();
  132.             form.append(img);           
  133.         } else {
  134.             System.out.println(" get img is null");
  135.         }
  136.     }
  137.     public void errorInfo(String str) {
  138.         // TODO Auto-generated method stub
  139.         
  140.     }
  141. }

Main.java

  1. import java.io.InputStream;
  2. import javax.microedition.io.Connector;
  3. import javax.microedition.io.HttpConnection;
  4. import javax.microedition.lcdui.Image;
  5. public class Network/* implements Runnable*/ {
  6.     private int imgIndex;   
  7.     
  8.     private NetworkListener listener;
  9.     
  10.     private boolean done;   
  11.     
  12.     private HttpConnection hc;
  13.     
  14.     private HttpConnection urlConn;
  15.     
  16.     private HttpConnection mobileConn;
  17.     
  18.     private String urlKey;      
  19.     
  20.     private boolean getKeywordDone;
  21.     
  22.     private boolean getMobileInfoDone;
  23.     
  24.     private static final String mainurl = "http://210.73.74.215/realroad/submap.jsp";
  25.     
  26.     private String parsedURL;
  27.     
  28.     private static final String commiturl = "http://210.73.74.215/realroad/getimages.jsp?fileName=";
  29.     
  30.     Logger logger = Logger.getInstance();
  31.     
  32.     public Network(int index, NetworkListener nk) {
  33.         imgIndex = index;
  34.         listener = nk;  
  35.         
  36.     }
  37.     
  38.     
  39.     
  40.     public void start() {
  41.         
  42.         
  43.         
  44.         Thread getUrl = new Thread(new Runnable(){
  45.             
  46.             public void run() {
  47.                 while (!getMobileInfoDone) {
  48.                     
  49.                 }
  50.                 logger.put("Thread 1 continue");
  51.                 try {
  52.                     if (parsedURL == null) {
  53.                         
  54.                         
  55.                         urlConn = (HttpConnection) Connector.open(mainurl, Connector.READ_WRITE);
  56.                     } else {
  57.                         
  58.                         
  59.                         urlConn = (HttpConnection) Connector.open(parsedURL, Connector.READ_WRITE);
  60.                     }
  61.                     
  62.                     if (urlConn.getResponseCode() == 200) {
  63.                         logger.put("200 ok");
  64.                         InputStream is = urlConn.openInputStream();                         
  65.                         if (is != null) {
  66.                             
  67.                             StringBuffer sb = new StringBuffer();
  68.                             String temp = null;
  69.                             int ch = 0;
  70.                             int times = 0;
  71.                             while ((ch = is.read()) != -1) {
  72.                                 times++;
  73.                                 sb.append((char)ch);
  74.                                 
  75.                                  temp = sb.toString();
  76.                                 if (temp.endsWith(".jpg")) {
  77.                                     logger.put("find key");
  78.                                     String keyStr = temp.substring(temp.length() - 50, temp.length() - 4);
  79.                                     int qa = keyStr.lastIndexOf('=');
  80.                                     urlKey = keyStr.substring(qa + 1, keyStr.length() - 1);
  81.                                     break;
  82.                                 }
  83.                             }
  84.                             
  85.                             
  86.                         }
  87.                     }
  88.                         
  89.                 } catch (Exception e) {
  90.                     logger.put("Thread 1 #! " + e.getMessage());
  91.                     e.printStackTrace();                    
  92.                     
  93.                 } finally {                 
  94.                     try {
  95.                         logger.put("to close thread 1");
  96.                       urlConn.close();                  
  97.                       getKeywordDone = true;
  98.                       
  99.                       if (urlKey != null) {
  100.                           logger.put("URL Connection colosed! " + urlKey);
  101.                       } else {
  102.                           logger.put("urlKey is null");
  103.                       }
  104.                     } catch (Exception e) {
  105.                         logger.put("Thread 1 ##! " + e.getMessage());
  106.                         
  107.                         e.printStackTrace(); }
  108.                 }
  109.                 
  110.             }
  111.         });
  112.         
  113.         
  114.         
  115.         Thread getImage = new Thread(new Runnable(){
  116.             public void run() {
  117.                 // TODO Auto-generated method stub
  118.                 
  119.                 while (!getKeywordDone) {
  120.                     
  121.                 }
  122.                 logger.put("Thread 2 continue");
  123.                 try {
  124.                     logger.put("URL :: " + commiturl + urlKey + imgIndex + Main.imgSuffix);
  125.                     hc = (HttpConnection)Connector.open(commiturl + urlKey + imgIndex + Main.imgSuffix,  Connector.READ_WRITE);
  126.                     int rs = hc.getResponseCode();
  127.                     if (rs == 200) {
  128.                         logger.put("Thread 2 200 ok");
  129.                         Thread download = new Thread(new Runnable(){
  130.                             public void run() {
  131.                                 try {
  132.                                     InputStream is = hc.openInputStream();  
  133.                                     
  134.                                     if (is != null) {
  135.                                         logger.put("Thread 2 inputstream not null");
  136.                                         Image img = Image.createImage(is);                              
  137.                                         listener.inputImage(img);
  138.                                         done = true;
  139.                                         logger.put("Thread 2 image done");
  140.                                     }
  141.                                 
  142.                                 } catch (Exception e) { 
  143.                                 logger.put("Thread 2 :" + e.getMessage());
  144.                                 e.printStackTrace();
  145.                                 }
  146.                             }
  147.                             
  148.                         });
  149.                         download.start();
  150.                         int p = 1;
  151.                         while (!done) {
  152.                             
  153.                             try {
  154.                                 Thread.sleep(500L);
  155.                                 listener.connectProcess(p, false);
  156.                             } catch (Exception e) { e.printStackTrace(); };
  157.                             
  158.                             p++;
  159.                         }
  160.                         
  161.                         if (done) {
  162.                             listener.connectProcess(p, true);
  163.                             
  164.                         }
  165.                         
  166.                     } else {
  167.                         logger.put("response code " + rs);
  168.                     }
  169.                 } catch (Exception e) {
  170.                     logger.put("Thread 2 # :" + e.getMessage());
  171.                     e.printStackTrace();
  172.                     
  173.                 } finally {
  174.                     try {
  175.                         hc.close();
  176.                         logger.put("Thread 2 closed");
  177.                     } catch (Exception e) { e.printStackTrace(); }
  178.                 }
  179.             }
  180.             
  181.             
  182.         });
  183.         
  184.         getUrl.start();
  185.         getImage.start();
  186.     }
  187.     
  188.     
  189. }

Network.java

 

  1. import javax.microedition.lcdui.Image;
  2. public interface NetworkListener {
  3.     void connectProcess(int i, boolean b);
  4.     void inputImage(Image img);
  5.     void errorInfo(String str);
  6.     
  7. }

NetworkListener.java

 

 

以上是每个类的具体代码, 其实我还写了一个Log类, 负责在真机查看调试信息。 在真机上联网时,还是比较有帮助的。

核心的思路就是, 从List上选择一个地名后, 会传入相应的URL, 交给Network去联网。 然后建立连接后, 返回一张图片的数据, 通过OpenInputStream 来创建一副图片。 当连接建立后, NetworkListener接口就该发挥作用了, Network类可以通过这个就接口来传递联网的进度和状态。 也就会反应在界面上了。 等图片被创建后, 这样就可以看到跟网站上的图片一样的效果了。

这里有一点需要解释一下, 大家可以仔细看一下那个网站, 当每2分钟刷新一次的时候, 每幅图片的URL就变化了, 也就是说图片名字是自动生成的。 这个问题我是如何处理的呢?  我打开那个网页的源代码,仔细的研究了一下, 没发现什么好办法。 后来我想了一条比较笨的方法, 也就是当每次查询前, 我首先请求一下那个页面, 它会返回一个标准的HTML格式页面, 里面包含所有的图片的URL, 其实每张图片名字只有最后一位不同。 这样我就想了一个折中的办法, 我把返回的这个HTML页面的字符遍历一遍, 当第一次遇到.jpg结尾的字符后, 我就跳出来, 然后把签名的数字名称解析出来, 留做备用, 这样我通过从界面上传来的List的index, 就可以知道程序想要请求哪幅图, 只要把这串数字后加上这个index, 再加上.jpg的后缀, 前面加上完整的服务器请求地址,就是实际的图片路径了。

 

以下是在模拟器上的截图:

 

List

(主界面)

 

Downloading

(下载界面)

 

map

 

(区域地图)

 

 

我记得以前郑钧的BLOG上有关于手机查看路况信息的文章, 是视频的。 所以这个相比于流媒体来说没有什么技术含量了。 呵呵。 路况图片上不同颜色表示不同的道路状况, 绿色表示畅通,黄色表示缓慢,红色表示拥堵,灰色则表示暂时无数据。

下面是打包的程序包的下载地址:

 

http://121.198.86.108/ebooks/trafficinfo.jar
http://121.198.86.108/ebooks/trafficinfo.jad

 

本程序在Nokia 6120上测试通过, 目前仅支持240 x 320 屏幕的真机。 仅仅是个测试版本, 如果真的想通过这条途径来查看路况, 我觉得还是需要一个代理服务器去中转的, 毕竟不是所有的手机都支持JPG格式的图片。

手把手教你用Java设计并实现一个城市公交查询系统 近年来,Internet推动了以互联网技术为核心的各项工作蓬勃展开,互联网的强大也大大的促进了社会的发展,整个社会信息化进程逐步加快,网络也变成了我们日常活动中越来越重要的组成成分。为了使得我国公交乘客出行及查询有关信息更方便,本文运用JAVA语言技术,Jsp技术,Mysql数据库开发了B/S结构的城市公交查询系统。 该系统顺应了时代发展且具有以下优点:首先,方便乘客的出行,乘客不用询问站牌工作人员如何倒车,便可到达目的地。其次,乘客在网上就可以查询到公交公司发布的路况信息,以便提早做好换乘准备节约出.. 阅读详情

相关推荐

Java模拟交通路况

JAVA模拟交通路况,不过,没有写报告文档。但是呢,程序已经有了,可以直接运行的。实验报告电子文档自己写出来,应该没有问题吧,我把所要积分降到可以得到的最少了,我也要积分呀,亲

北京各个路口的摄像头实况,在线实时查看

能实时看到以下各路口情况的地址。较流畅,但不情晰        从 mms://real.u-mail.cn/cebeijing1 到 mms://real.u-ail.cn/cebeijing58         已经辨认出来的,欢迎继续识别:         3 三元桥 mms://real.u-mail.cn/cebeijing3         7 马甸 mms://real.u-mail

米灰色的天空~~ 1万+

基于java开发的交通信息管理系统

本软件是基于netbeans开发的一个应用软件,应用起来方便,欢迎大家下载学习!!

地图网站显示实时交通路况信息的原理

1、名词解释:TMC:Traffic Message Channel【实时交通信息】 2、通过带GPS功能的手机以及其他移动设备收集位置信息及移动速度信息,通过大量的数据得到某个路段的交通情况,Google就是采取这种方式,Google的搜集数据的方式是匿名的,还和你是否打开GoogleMap获取地址有关,另外Google还有预测交通路况的功能。此种方法需要大量的终端设备做支撑才能获得更加准确的

jcx5083761的专栏 2万+

基于传输门与传输管逻辑的全加器设计

全加器是指对输入的两个二进制数相加(A与B)同时会输入一个低位传来的进位(Ci-1),得到和数(SUM)和进位(Ci)。一位全加器可以处理低位进位,并输出本位加法进位。由于这种晶体管的漏极和源极完全可以互换使用,因此这种电路的输入端与输出端也可以互换,这就是具有信号传输双向特性的传输管。传输管的输入信号可以传输到输出端,同时输出端的信号也可以传输到输入端。半加器是指对输入的两个一位二进制数相加(A与B),输出一个结果位(SUM)和进位(C),没有进位的输入加法器电路,是一个实现一位二进制数的加法电路。

qq_40353731的博客 4387

VFIO框架源码分析(二十一)- IOMMUFD 模式下的 DMA 映射机制

在虚拟化 I/O 的世界里,无论上层管理面(如对象模型、设备绑定)如何重构,数据面最核心的任务始终未变——DMA 映射(DMA Mapping)。即如何建立 Guest Physical Address (GPA) 到 Host Physical Address (HPA) 的映射关系,并将其填入 IOMMU 的硬件页表中,使得直通设备能够正确访问虚拟机内存。在 Legacy VFIO (Type1) 时代,这一职责由承担,它通过ioctl 操作 Container。

qq_36071928的博客 1011

北京地铁拥挤度实时查询

百度地图有实时路况信息,可以看看哪堵车, 现在北京地铁也可以实时查看拥挤度了,网址: https://map.bjsubway.com/mobile?realtime=true 效果如下图: 拥挤程度分为四种模式,用不同颜色区别: 这张图是周末截的,所以基本都是绿色的, 早高峰我见过4号线新宫到公益西桥,北京南到宣武门,1号线高碑店到四惠东,13号线西二旗到上地等区间,是黑色的...

rclijia的专栏 4132

Anaconda 2026.07 安装配置完全指南:从下载到PyCharm整合

Python 环境管理一直是开发者绕不开的课题,而 Anaconda 作为集成了 conda 与 300+ 科学计算包的发行版,极大降低了环境配置门槛。其核心价值在于通过虚拟环境实现不同项目的依赖隔离,避免版本冲突。但在实际安装与配置过程中,用户常因版本差异、镜像源访问慢、与 IDE 集成不畅等问题陷入困境。本文以 Anaconda 2026.07 为例,系统讲解从官方渠道或国内镜像源下载、安全校验、安装选项分析、conda 命令初始化,到配置清华镜像源、创建指定 Python 版本的虚拟环境,再到与 Py

weixin_32520095的博客 418

android软件路况软件,随身路况利器 安卓专用APP测试解析

上班堵、下班堵、晴天堵、雨天堵,能拥有一辆汽车也算是白领身份的一种象征,但是无论是摇号也好、限行也罢,一出行就要堵上一会是真让人烦闷。所以准确的路况信息现在成为了出行的防堵利器。以往的产品借助TMC广播、CMMB电视等方式,都需要购入专用的产品,现在智能手机上也有专用的应用程序可以达到同样的效果了。今天我们就来看一款名为路况交通眼的软件。首先我们今天看到的这款安卓应用是免费的,这一点可以说对于用户...

weixin_39869378的博客 208

SAP 批量处理分包事后调整:BAPI_GOODSMVT_CREATE 关键参数与避坑指南

本文详细解析了SAP系统中使用BAPI_GOODSMVT_CREATE进行分包事后批量调整的关键参数配置与常见错误排查。重点介绍了GOODSMVT_CODE设置为'07'的必要性、GOODSMVT_ITEM结构体的正确配置方法,以及如何避免M7384、M7386等常见错误,帮助用户高效处理分包业务中的数量调整问题。

weixin_29276847的博客 568

华为OD机试真题2025双机位B卷 Python&JS 实现【朋友圈个数】

给定一组朋友关系,统计一下该朋友关系网中的朋友圈个数。 朋友圈的定义:一个朋友圈至少由3个朋友组成,且要求同一个朋友圈中的任意两个人都具有直接的朋友关系。 输入描述 输入一个朋友关系列表,如 Fiends =A.B],[A.C],IB,DI,其中的每一个元素 Friendsi表示 Friends[i][0)和 Friends [i][1] 是朋友关系 先输入一个数字 N 代表关系的总数,后面每条关系一行,两个成员以逗号分隔

MISAYAONE的博客 564

汽车相关的手机应用

应用图标 应用名称 费用 简单描述 手机平台 交通路况 听闻上海 免费 利用TTS(文本到语音)技术,让你不用看手机屏幕,就可以听闻上海。 iOS 上海快速路路况 免费 应用TTS(文本到语音)技术,让您了解上海快速路的准实时路况信息。

maimai511的专栏 7112

【k8s故障处理篇】calico-node启动失败“Felix is not live: Get “http://localhost:9099/liveness” 解决办法(V1.30.3版本)

【k8s故障处理篇】calico-node启动失败“Felix is not live: Get “http://localhost:9099/liveness” 解决办法(V1.30.3版本)

jks212454的博客 1091

畅享公交出行:实时路况、到站提醒一站式服务方案

更贴心的是,到站信息也一目了然,无论是精确的到站时间,还是剩余的到站距离,都能为你合理规划出行时间提供有力依据,再也不用在公交站台盲目等待。从繁华的一线城市如北京、上海、广州、深圳,到众多二三线城市,无论你身处何方,只要当地有公交运营,大概率就能使用这款 APP 享受精准的公交查询服务,真正做到让公交出行信息尽在掌握。没有繁杂的操作流程,初次使用的用户也能迅速上手,轻松找到自己需要的功能,在简洁的交互中享受便捷的公交出行服务。

weixin_62784879的博客 1268

Exploring Automated Distractor Generation for Math Multiple-choice Questions via Large Language Mode

多项选择题(MCQ)在几乎所有级别的教育中都无处不在,因为它们易于管理、评分,并且是评估和实践中可靠的格式。MCQ最重要的方面之一是干扰因素,即旨在针对真实学生常见错误或误解的不正确选项。迄今为止,对于教师和学习内容设计师来说,制作高质量的干扰物的任务在很大程度上仍然是一个劳动和时间密集型的过程,其可扩展性有限。在这项工作中,我们研究了数学MCQ领域的自动干扰物生成任务,并探索了从上下文学习到微调的各种基于大型语言模型(LLM)的方法。

c_cpp_csharp的专栏 317

一文讲清产品开发流程:IPD、门径管理、敏捷开发到底有什么区别?

夜视清晰人形识别异常声音提醒App 远程查看本地隐私保护研发开始评估芯片算力、摄像头模组、功耗、散热、算法可行性。让产品开发更少浪费、更少返工、更快验证、更高质量、更接近客户真实需求。IPD:让公司端到端协同,把产品做成。门径管理:在关键节点做决策,把资源投对。敏捷开发:用短周期迭代,把变化接住。精益开发:减少等待和返工,把效率做高。对新人来说,不必一开始就背很多术语。产品开发不是从画图、写代码、做样机开始,而是从理解客户、定义价值、控制风险、持续验证开始。

qq_52293640的博客 61

路况交通信息服务

现如今从理论上讲,不需要设置任何交通检测器,就可以建设一个实时交通信息服务应用。当第一个用户上来查询路况时,就提供了该用户周边的实时交通信息。这是一个实时信息反馈的循环。服务商收集了足够的...

weixin_55366265的博客 231

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

NEO-6M解析串口GPS数据用于通勤路况查询

本文介绍如何利用NEO-6M GPS模块与ESP32/Arduino构建离线通勤路况监控系统。通过解析NMEA 0183协议获取实时速度,结合历史数据判断拥堵状态,实现不依赖网络的轻量级交通感知方案,适用于骑行、车载等低功耗场景。

weixin_42577735的博客 389

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

北京市普通公路配齐交通诱导屏

9月1日起,北京市普通公路重要交通节点的32块交通诱导屏将实时发布周边道路路况,为公众驾车出行提供实时路况,明年将覆盖普通公路主要节点。 市交通委路政局相关负责人介绍,本次发布实时路况的32块交通诱导屏主要分布在京沈线、京塘线、京昆线、京拉线、顺密路、南中轴路、黄马路、京开辅路、G6辅路等重点路段。届时,公众驾车出行途经以上路段时,不但可通过交通广播...

weixin_33694620的博客 252

爱尔兰网友邀请我对Dublin交通监视器进行手机端开发

    去年我写了一个手机看北京交通监视器实时录像的开源程序,虽然获得很多人欣赏,但是后来由于那些交通监视器流媒体服务器的关闭而无法玩下去。    今天,爱尔兰的中国网友邀请对Dublin的交通监视器流媒体(http://stream.netro.ca/allcladdagh )进行手机端开发,哪位网友有兴趣,可以试试看,源程序在后面的blog中提供了,您只需要修改修改。    手机实时看交通

.NET博文收藏 955

北京摇号系统服务器,支付宝“城市服务”平台可查询北京小客车摇号结果

支付宝“城市服务”平台可查询北京小客车摇号结果【TechWeb报道】9月7日消息,北京市交通委与支付宝达成合作,市内交通出行服务将登陆城市服务平台。市民在手机上进入支付宝“城市服务”平台,可以查询实时路况、车牌摇号等10项市内交通服务。城市服务平台在北京还接入了首都机场和ETCP智能停车等交通服务,未来还将为北京市民带来更多方便的“互联网+交通”移动出行服务。一期北京市交通委将在支付宝“城市服务”...

weixin_35952000的博客 882
上一篇: 从零学习freemarker(5)Include的使用
下一篇: Ext2.2用数组为数据源显示Grid的例子
java2000_test
博客等级 码龄19年 10粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值