系列文章目录
提示:此文章代码基于《开课吧》体验课,源码非原创,不分享。天气信息依赖于网站实现,如果用户没有域名,则无法获取,可参考“中国气象网数据”。
目录
一、项目需求
对于初入者来说程序给手机发送短信来说,是十分困难的,当然发送邮件的程序是十分普遍的。对于,大佬来说此十分简单,望各位大神做出指导,谢谢。
马上就要到教师节了,想给老师发送祝福短信,摒弃qq或微信发送消息,想用自己学的技术发送消息。当然原创源码是想实现给自己的女神或男神发送表白信息。
二、项目材料
(1)代码编辑器:idea或eclipse等等。本人习惯用idea。
(2)基础:基础功能的实现比如会用视图、框架、线程等。
(3)扎包:fastjson-1.2.75.jar
(3)耐心,细心。
三、代码实现
信息发送:
public static String getWeather(String city){
try {
city = URLEncoder.encode(city,"utf-8");
URL url =new URL(……);
URLConnection conn=url.openConnection();
InputStream is=conn.getInputStream();
BufferedReader br =new BufferedReader(new InputStreamReader(is,"utf-8"));
String text=br.readLine();
return text;
} catch (Exception e) {
e.printStackTrace();
}
return null;
天气获取:
msg.setName(URLEncoder.encode(msg.getName(),"utf-8"));
msg.setS1(URLEncoder.encode(msg.getS1(),"utf-8"));
msg.setS2(URLEncoder.encode(msg.getS2(),"utf-8"));
msg.setS3(URLEncoder.encode(msg.getS3(),"utf-8"));
URL url =new URL(……);
URLConnection conn=url.openConnection();
InputStream is=conn.getInputStream();
BufferedReader br =new BufferedReader(new InputStreamReader(is,"utf-8"));
String text=br.readLine();
return text;
四、效果展示
手机截图(隐私打了马赛克)
五、难点疑问总结
(1)因为没有及时整理代码,造成代码凌乱,后续书写时出现了一个错,至今未解决,列出来求大佬指点。
连接到目标VM, 地址: ''127.0.0.1:62776',传输: '套接字'', 传输: '{1}'
{"resp": {与目标VM断开连接, 地址为: ''127.0.0.1:62776',传输: '套接字'', 传输: '{1}'
Process finished with exit code 0
(2)未知错误(后续会及时补充)
Exception in thread "Thread-2" com.alibaba.fastjson.JSONException: syntax error
at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:264)
at com.alibaba.fastjson.parser.DefaultJSONParser.parseObject(DefaultJSONParser.java:577)
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1417)
at com.alibaba.fastjson.parser.DefaultJSONParser.parse(DefaultJSONParser.java:1383)
at com.alibaba.fastjson.JSON.parse(JSON.java:182)
at com.alibaba.fastjson.JSON.parse(JSON.java:192)
at com.alibaba.fastjson.JSON.parse(JSON.java:148)
at com.alibaba.fastjson.JSON.parseObject(JSON.java:253)
at com.kkb.test.Main.getInfo(Main.java:56)
at com.kkb.test.Main.access$400(Main.java:12)
at com.kkb.test.Main$1.run(Main.java:36)
总结
对于初入者来说这是一个极大的挑战,当然对于要做相关需求的开发者来说也是一个参考。声明一下:此项目与获取手机验证码完全是两码事,不可同日而语。