WebUploader是由Baidu
WebFE(FEX)团队开发的一个简单的以HTML5为主,FLASH为辅的现代文件上传组件。在现代的浏览器里面能充分发挥HTML5的优势,同时又不摒弃主流IE浏览器,沿用原来的FLASH运行时,兼容IE6+,iOS
6+, android 4+。两套运行时,同样的调用方式,可供用户任意选用。
采用大文件分片并发上传,极大的提高了文件上传效率。
默认如果啥也不处理,只要有返回数据就认为是成功,就算返回的是错误信息,也认为是成功了。
但是,在认为成功前会派送一个事件uploadAccept,这个事件是用来询问是否上传成功的。在这个事件中你可以拿到上传的是哪个文件,以及对应的服务端返回reponse。
//如:上传成功返回 {"success" :"1"} //如:上传失败返回 {"success" :"0"}
uploader.on("uploadAccept", function( file, data){ if (
data.success=="0") { // 通过return false来告诉组件,此文件上传有错。 return false} })
response是个对象,如果服务器返回是json格式,那么正和你意,都已经解析好了,如果不是json格式,response._raw里面可以拿到原始数据。所以,webuploader对于后端返回的数据格式是没有要求的。
你需要写一个方法,读取网络图片,在上传 *** 作完成后,调用这个方法,这个是我经常用的读取网络图片的方法,你参考一下:
//url为图片的网络地址,
public static Bitmap getImg(String url)
{
URL imgurl = null
Bitmap bitmap = null
try
{
imgurl = new URL(url)
}
catch(MalformedURLException e)
{
e.printStackTrace()
}
try
{
HttpURLConnection conn = (HttpURLConnection)imgurl.openConnection()
conn.setRequestMethod("POST")
conn.setDoInput(true)
conn.setDoOutput(true)
conn.setUseCaches(false)
conn.connect()
InputStream is = conn.getInputStream()
bitmap = BitmapFactory.decodeStream(is)
is.close()
conn.disconnect()
}catch(IOException e)
{
e.printStackTrace()
}
return bitmap
}
然后在要显示的的activity里,将这个方法传给imageview就可以了
imageview.setImageBitmap(MainActivity.getImg(url))
首先我们上传一个视频文件到手机做为测试,我用的是Genymotion模拟器,所以只要简单拖拽就可以实现上传了,这个模拟器速度超快,非常适合开发者使用。上传后可以看到已经把视频文件放到了/sdcard/download目录下面。我们需要记住这个路径,在VideoView的属性里需要用到。通过模拟机手机里面的文件管理器来到相应的目录下,确保视频文件正常上传到手机了。
接下来我们来拖拽创建一个VideoView控件。
或手写xml代码来创建。
接下来在代码部分,我们就可以使用这个控件了。我先让程序运行时屏幕是水平显示的。就是我们横卧手机的显示。
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE)
然后我们需要设置一下videoView正常运行的几个关键参数。
vd.setVideoPath("/sdcard/download/videoviewdemo.mp4")设置了要播放的视频文件位置。
vd.setMediaController(new MediaController(this))设置了一个播放控制器。
vd.start()程序运行时自动开始播放视频。
vd.requestFocus()播放窗口为当前窗口
我们来看看运行的效果。可以正常播放了,这篇只是简单的介绍了videoView的用法,更详细的使用,我会陆续发布新的经验,欢迎留言关注。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)