- 浏览: 119383 次
- 性别:
- 来自: 南京
文章分类
- 全部博客 (135)
- java (135)
- [转]c# 画圆角矩形 (1)
- 设计模式生活实例 (1)
- .nET2.0小技巧 (1)
- 从另一个角度看敏捷实践(一)--IPM:承诺的仪式 (1)
- javascript字符串转json对象 (1)
- 使用BeanUtils时,Date类型值为空的解决方法 (1)
- Lenovo V460+Ubuntu 11.10 无线网问题 (1)
- Lucene 索引和搜索过程核心类详解 (1)
- Android短信编解码方式 (1)
- 股神巴菲特十大致富秘籍 (1)
- Map遍历的三种方法 (1)
- Android中用Toast.cancel()方法优化toast内容的显示 (1)
- ViewFlipper “Receiver not registered” Error (1)
- javax.xml.transform.TransformerFactoryConfigurationError (1)
- JNI调用的注意事项 (1)
- JUnit单元测试感悟 (1)
- 用C#写定时关机的程序 (1)
- ASP.NET开发工具Web Matrix介绍 (1)
- MapXtreme2004代码 MapControl控件中显示地图文件 (1)
- 《使用 Microsoft .NET 的企业解决方案模式》读书笔记3 (1)
- 微创短信开发平台 (1)
- 谈谈Q+平台的技术实现 (1)
- 手机防盗软件实现(源码) (1)
- 虚析构函数(总结 帖子) (1)
- c语言中去除const修饰 (1)
- ORA-01012: not logged on 解决办法 (1)
- paypal提现如何省钱 (1)
- 数独suduku (1)
- MyISAM InnoDB 区别 (1)
- 随 笔 (1)
- Android上的log,日志相关 (1)
- 百度质量部实习居然通过了~ (1)
最新评论
-
野狐禅:
ext.get('imagebrowse') is null
ExtJs上传图片预览功能 -
zhuyl_wind:
不切实际,呵呵
[]5年内买车买房-理财篇 -
in南京:
关键你那两千块钱就够交一个多月的房租!换个城市你那六百也远远不 ...
[]5年内买车买房-理财篇 -
javac_xinyun:
呵呵,看完了,确实不错,貌似第一年的房租每月算进去 ,人际关系 ...
[]5年内买车买房-理财篇 -
dishikun:
貌似很不错,就是没把房租算进去!
[]5年内买车买房-理财篇
<font size='4'> 现在越来越多的手机都支持拍照功能,但是各种型号的手机所能存储的照片容量都是有限的,而且如果想把照片导出放到电脑上观看,要么需要有数据线或者红外线,要么就通过发彩信的方式获得,这两种方式第一种需要有电脑在身边,第二种发一条彩信至少需要5角钱吧,又太浪费钱而且也不太方便,而目前支持kjava的手机也越来越多,为何不想办法利用j2me的网络功能和手机的拍照功能把拍到的照片直接上传到网络上呢?这样,在任何地方,只要可以利用gprs上网,都可以随时上传自己拍的照片。而且照片是通过网络传输到服务器上去的,因此并不占用手机的存储空间,这样,想拍多少照片都没问题!</font><font size='4'> 首先需要一部支持拍照功能和java的手机,并且需要了解一下你的手机的java支持不支持mmapi(</font><a href='http://java.sun.com/products/mmapi/index.jsp' class='l' target='_blank'><font size='4' color='#0000cc'>mobile media api </font></a><font size='4'>),如果程序在你的手机上无法执行,那说明你的手机不支持,那就没办法了,换个支持的手机吧:)</font>
<font size='4'> 既然是把照片传到网上去,还需要你有一个服务器,其实不一定是服务器,只要是有一个独立的ip,可以在公网访问的到,就可以了,你完全可以使用自己拨号上网的机器,再装一个动态域名的工具实现。</font>
<font size='4'> 有了以上两个条件,我们就可以建立一个我们自己的网络相册了!</font>
<font size='4'> 首先,需要启动摄像头,代码如下:</font>
<font size='4'>package com.infinitouch.xiaowei.mobile;</font>
<font size='4'>import javax.microedition.lcdui.*;<br/>import javax.microedition.media.player;<br/>import javax.microedition.media.control.videocontrol;<br/>import javax.microedition.media.manager;<br/>import javax.microedition.media.*;</font>
<font size='4'>public class catchscreen extends canvas {<br/> player p;<br/> videocontrol vc;<br/> public static int bytes = 0;<br/> public catchscreen() {<br/> this.setfullscreenmode(true);<br/> try {<br/> p = manager.createplayer("capture://video");<br/> p.realize();<br/> vc = (videocontrol) p.getcontrol("videocontrol");<br/> if (vc != null) {<br/> vc.initdisplaymode(videocontrol.use_direct_video, this); vc.setdisplaysize(128,160);<br/> }<br/> vc.setvisible(true); //设置可见<br/> p.start();<br/> } catch (exception e) {}<br/> }</font>
<font size='4'> //按任意键拍照</font>
<font size='4'> public void keypressed(int key)<br/> {<br/> httpthread thread = new httpthread();<br/> thread.setdata(vc);<br/> thread.start();<br/> }</font>
<font size='4'> protected void paint(graphics g) {<br/> /** @todo add paint codes */<br/> }</font>
<font size='4'>}<br/></font>
<font size='4'> 以上就是启动摄像头的代码,这里我们的screen是继承了cavans类,如果是继承其他,比如form,需要稍作修改,网上也有介绍这方面的文章,这里就不多说了。</font>
<font size='4'> 拍照和上传功能我们单独放在一个线程里面实现,因为拍照和网络传输都会阻塞,如果他们和当前屏幕处于一个线程中,在拍照和传输的时候界面就会没有反应,这是我们不希望的,因此单独开一个线程是最好的办法。</font>
<font size='4'>package com.infinitouch.xiaowei.mobile;</font>
<font size='4'>import javax.microedition.io.*;<br/>import java.io.*;<br/>import javax.microedition.media.control.videocontrol;<br/>import javax.microedition.media.*;</font>
<font size='4'>public class httpthread extends thread {</font>
<font size='4'> byte[] data;<br/> videocontrol vc;<br/> public void setdata(videocontrol vc)<br/> {<br/> this.vc = vc;<br/> }</font>
<font size='4'> public void run()<br/> {<br/> try {<br/> data = vc.getsnapshot(null);//拍照,生成png格式的数据<br/> } catch (mediaexception ex) {<br/> ex.printstacktrace();<br/> }</font>
<font size='4'> try {<br/> httpconnection conn = (httpconnection) connector.open("</font><a href='http://192.168.0.12/mmsmonth/post.jsp'><font size='4'>http://192.168.0.12/mmsmonth/post.jsp</font></a><font size='4'>");<br/> conn.setrequestmethod("post");<br/> dataoutputstream out = conn.opendataoutputstream();<br/> out.write(data, 0, data.length);//发送数据至服务器<br/> out.close();<br/> } catch (ioexception ex) {<br/> ex.printstacktrace();<br/> }<br/> }</font>
<font size='4'>}</font>
<font size='4'> 原理也很简单,拍照,获取数据,发送数据。如果想发送数据完毕的时候通知界面,让界面显示信息,也是很容易做到的。</font>
<font size='4'> 这里,手机部分的程序就差不多了,主要的就是上面的两个类。现在开始服务器端的程序。服务器端需要接收发送过来的数据并且保存成文件,这些步骤在一个jsp中就可以实现,也很简单:</font>
<font size='4'><%<br/> byte[] b;<br/> java.io.inputstream in = request.getinputstream();<br/> b = new byte[100000];<br/> byte[] tmp = new byte[100000];<br/> int index = 0;<br/> int size = 0;<br/> java.io.file f = new java.io.file("/home/www/mmsmonth/pics/" + system.currenttimemillis() + ".png");<br/> java.io.dataoutputstream o = new java.io.dataoutputstream(new java.io.fileoutputstream(f));<br/> <br/> while(in.available()>0){<br/> int len = in.read(tmp);<br/> o.write(tmp,0,len);<br/> size+=len;<br/> }<br/> o.close();<br/>%></font>
<font size='4'>还需要一个文件来显示照片列表:</font>
<font size='4'><%@ page contenttype="text/html; charset=gb2312" language="java" import="java.io.*"%><br/><%<br/> file file = new file("/home/www/mmsmonth/pics/");<br/> file[] files = file.listfiles();<br/> for(int i=0;i<files.length;i++)<br/> {<br/> out.print("<a href=\"pics/" + files[i].getname() + "\"><img width=160 height=120 border=0 src=\"pics/" + files[i].getname() + "\"></a>");<br/> if((i+1) % 5 == 0)<br/> out.print("<p>");<br/> }<br/>%></font>
<font size='4'>很简单吧,这里只是把最基本的东西写了出来,如果需要加什么更完善的功能,基本的东西还是这些。</font>
<font size='4'>以上程序在我的阿而卡特ot756通过测试,效果还挺不错的:)</font>
<font size='4'><a href='http://ilxw.bokee.com/inc/src.rar'>下载源程序</a></font>
<font size='4'> 既然是把照片传到网上去,还需要你有一个服务器,其实不一定是服务器,只要是有一个独立的ip,可以在公网访问的到,就可以了,你完全可以使用自己拨号上网的机器,再装一个动态域名的工具实现。</font>
<font size='4'> 有了以上两个条件,我们就可以建立一个我们自己的网络相册了!</font>
<font size='4'> 首先,需要启动摄像头,代码如下:</font>
<font size='4'>package com.infinitouch.xiaowei.mobile;</font>
<font size='4'>import javax.microedition.lcdui.*;<br/>import javax.microedition.media.player;<br/>import javax.microedition.media.control.videocontrol;<br/>import javax.microedition.media.manager;<br/>import javax.microedition.media.*;</font>
<font size='4'>public class catchscreen extends canvas {<br/> player p;<br/> videocontrol vc;<br/> public static int bytes = 0;<br/> public catchscreen() {<br/> this.setfullscreenmode(true);<br/> try {<br/> p = manager.createplayer("capture://video");<br/> p.realize();<br/> vc = (videocontrol) p.getcontrol("videocontrol");<br/> if (vc != null) {<br/> vc.initdisplaymode(videocontrol.use_direct_video, this); vc.setdisplaysize(128,160);<br/> }<br/> vc.setvisible(true); //设置可见<br/> p.start();<br/> } catch (exception e) {}<br/> }</font>
<font size='4'> //按任意键拍照</font>
<font size='4'> public void keypressed(int key)<br/> {<br/> httpthread thread = new httpthread();<br/> thread.setdata(vc);<br/> thread.start();<br/> }</font>
<font size='4'> protected void paint(graphics g) {<br/> /** @todo add paint codes */<br/> }</font>
<font size='4'>}<br/></font>
<font size='4'> 以上就是启动摄像头的代码,这里我们的screen是继承了cavans类,如果是继承其他,比如form,需要稍作修改,网上也有介绍这方面的文章,这里就不多说了。</font>
<font size='4'> 拍照和上传功能我们单独放在一个线程里面实现,因为拍照和网络传输都会阻塞,如果他们和当前屏幕处于一个线程中,在拍照和传输的时候界面就会没有反应,这是我们不希望的,因此单独开一个线程是最好的办法。</font>
<font size='4'>package com.infinitouch.xiaowei.mobile;</font>
<font size='4'>import javax.microedition.io.*;<br/>import java.io.*;<br/>import javax.microedition.media.control.videocontrol;<br/>import javax.microedition.media.*;</font>
<font size='4'>public class httpthread extends thread {</font>
<font size='4'> byte[] data;<br/> videocontrol vc;<br/> public void setdata(videocontrol vc)<br/> {<br/> this.vc = vc;<br/> }</font>
<font size='4'> public void run()<br/> {<br/> try {<br/> data = vc.getsnapshot(null);//拍照,生成png格式的数据<br/> } catch (mediaexception ex) {<br/> ex.printstacktrace();<br/> }</font>
<font size='4'> try {<br/> httpconnection conn = (httpconnection) connector.open("</font><a href='http://192.168.0.12/mmsmonth/post.jsp'><font size='4'>http://192.168.0.12/mmsmonth/post.jsp</font></a><font size='4'>");<br/> conn.setrequestmethod("post");<br/> dataoutputstream out = conn.opendataoutputstream();<br/> out.write(data, 0, data.length);//发送数据至服务器<br/> out.close();<br/> } catch (ioexception ex) {<br/> ex.printstacktrace();<br/> }<br/> }</font>
<font size='4'>}</font>
<font size='4'> 原理也很简单,拍照,获取数据,发送数据。如果想发送数据完毕的时候通知界面,让界面显示信息,也是很容易做到的。</font>
<font size='4'> 这里,手机部分的程序就差不多了,主要的就是上面的两个类。现在开始服务器端的程序。服务器端需要接收发送过来的数据并且保存成文件,这些步骤在一个jsp中就可以实现,也很简单:</font>
<font size='4'><%<br/> byte[] b;<br/> java.io.inputstream in = request.getinputstream();<br/> b = new byte[100000];<br/> byte[] tmp = new byte[100000];<br/> int index = 0;<br/> int size = 0;<br/> java.io.file f = new java.io.file("/home/www/mmsmonth/pics/" + system.currenttimemillis() + ".png");<br/> java.io.dataoutputstream o = new java.io.dataoutputstream(new java.io.fileoutputstream(f));<br/> <br/> while(in.available()>0){<br/> int len = in.read(tmp);<br/> o.write(tmp,0,len);<br/> size+=len;<br/> }<br/> o.close();<br/>%></font>
<font size='4'>还需要一个文件来显示照片列表:</font>
<font size='4'><%@ page contenttype="text/html; charset=gb2312" language="java" import="java.io.*"%><br/><%<br/> file file = new file("/home/www/mmsmonth/pics/");<br/> file[] files = file.listfiles();<br/> for(int i=0;i<files.length;i++)<br/> {<br/> out.print("<a href=\"pics/" + files[i].getname() + "\"><img width=160 height=120 border=0 src=\"pics/" + files[i].getname() + "\"></a>");<br/> if((i+1) % 5 == 0)<br/> out.print("<p>");<br/> }<br/>%></font>
<font size='4'>很简单吧,这里只是把最基本的东西写了出来,如果需要加什么更完善的功能,基本的东西还是这些。</font>
<font size='4'>以上程序在我的阿而卡特ot756通过测试,效果还挺不错的:)</font>
<font size='4'><a href='http://ilxw.bokee.com/inc/src.rar'>下载源程序</a></font>
发表评论
-
百度质量部实习居然通过了~
2012-02-08 12:23 992[size=small;]? ? ?本来打算在软工所苦 ... -
Android上的log,日志相关
2012-02-07 14:18 1533摘自:http://blog.csdn.net/met ... -
随 笔
2012-02-04 13:39 600金风玉露一相逢,便胜却人间无数。英文版: chemis ... -
MyISAM InnoDB 区别
2012-02-02 16:59 737<h1 id="artibody ... -
数独suduku
2012-01-31 14:38 916sudu sudu sudu sudu sudu su ... -
paypal提现如何省钱
2011-12-28 16:58 1224据PayPal中文注册得知,如今很多收样品费的外贸商户 ... -
ORA-01012: not logged on 解决办法
2011-12-28 13:08 3512<span style="font-f ... -
c语言中去除const修饰
2011-12-21 10:54 1435[size=16px;]<span style= ... -
虚析构函数(总结 帖子)
2011-12-21 09:54 706<span style="" ... -
手机防盗软件实现(源码)
2011-12-20 12:54 938<a href="http://blo ... -
谈谈Q+平台的技术实现
2011-12-20 09:49 963这篇文章是我个人 ... -
微创短信开发平台
2011-12-19 11:39 772在网上闲逛,发现了一个站点,微创短信开发平台(http ... -
《使用 Microsoft .NET 的企业解决方案模式》读书笔记3
2011-12-19 10:24 783第3章 Web表示模式 没有一个设计策略能够适合所有情 ... -
MapXtreme2004代码 MapControl控件中显示地图文件
2011-12-15 14:29 912::<?xml:namespace prefix ... -
ASP.NET开发工具Web Matrix介绍
2011-12-15 13:39 970<p class="MsoPlain ... -
用C#写定时关机的程序
2011-12-15 11:14 704</span></font>& ... -
JUnit单元测试感悟
2011-12-14 11:29 863<p class="MsoNorma ... -
JNI调用的注意事项
2011-12-14 09:34 754JNI的简单教程网上很多,看看就能够明白,照着操作也基 ... -
javax.xml.transform.TransformerFactoryConfigurationError
2011-12-13 13:34 854<span style="" ... -
ViewFlipper “Receiver not registered” Error
2011-12-12 10:59 1126偶尔出现这个错误: <span> < ...
相关推荐
以上这些例子涵盖了J2ME开发的多个方面,包括用户界面设计、数据存储、网络通信、游戏开发和动画制作。通过深入研究和实践这些代码,开发者可以增强对J2ME平台的理解,提升开发移动和嵌入式应用的能力。
通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 ...
通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 ...
通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 ...
通过网络或磁盘等方式,把公钥编码传送给李四,李四接收到张三编码后的公钥,将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 ...
将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 同上 java聊天室 2个目标文件,简单。 java模拟掷骰子2个 1个目标文件,输出演示...
将其解码,李四用张三的公钥加密信息,并发送给李四,张三用自己的私钥解密从李四处收到的信息…… Java利用DES私钥对称加密代码实例 同上 java聊天室 2个目标文件,简单。 java模拟掷骰子2个 1个目标文件,输出演示...
Java源码包100个设计实例, 大量 实例,可以作为你的学习设计参考。 实例如下: Applet钢琴模拟程序java源码 Calendar万年历 copass源代码.rar DataBuffer在Java中使用ADO.NET.rar EJB 模拟银行ATM流程及操作源代码 ...
余志龙,来自于手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及J2EE、JSP、Servlet、JavaBeans、PHP、C#等程序语言,熟悉面向对象技术与Eclipse...