当前位置: 编程技术>移动开发
本页文章导读:
▪struts2处置上传的文件 struts2处理上传的文件
public abstract class ActionEngine extends ActionSupport implements ServletRequestAware
{
private HttpServletRequest httpServletRequest;
public void setServletRequest(HttpServletRequest servletRequest)
{
.........
▪ 透过代码设置Activity的Launch Mode 通过代码设置Activity的Launch Mode
在AndroidManifest.xml里,可以设置每个Activity的启动模式(Launch Mode),但是如果希望动态的切换就需要在代码中添加相应的flag来实现。通过调查发现,代码中添加.........
▪ 新浪Weibo开发回到小弟我们Activity经验总结 新浪Weibo开发回到我们Activity经验总结
在今天的Weibo项目开发中发现一即简单又容易出错的地方让我2了好一会不过还是让我给解决了,问题如下: 我在开发新浪微博客户端的时候采用.........
[1]struts2处置上传的文件
来源: 互联网 发布时间: 2014-02-18
struts2处理上传的文件
public abstract class ActionEngine extends ActionSupport implements ServletRequestAware { private HttpServletRequest httpServletRequest; public void setServletRequest(HttpServletRequest servletRequest) { this.httpServletRequest = servletRequest; } protected Map<String, Object> fileMap = new HashMap<String, Object>(); public void preExecute() throws Exception { if (httpServletRequest instanceof MultiPartRequestWrapper) { MultiPartRequestWrapper requestWrapper = (MultiPartRequestWrapper) httpServletRequest; if (requestWrapper.hasErrors()) { Collection<String> errors = requestWrapper.getErrors(); if (errors != null && !errors.isEmpty()) { Iterator iterator = errors.iterator(); long maxSize = 0; if (requestWrapper.getAttribute("maxSize") != null) { maxSize = Long.parseLong(requestWrapper.getAttribute("maxSize") .toString()); maxSize = maxSize / 1024 / 1024; } while (iterator.hasNext()) { throw new XXXException; } } return; } Enumeration<String> parameterNames = requestWrapper.getFileParameterNames(); while (parameterNames.hasMoreElements()) { @SuppressWarnings("unused") String paramterName = parameterNames.nextElement(); File[] files = requestWrapper.getFiles(paramterName); if (null == files || files.length == 0) { continue; } else if (files.length == 1) { FileBean fileBean = new FileBean(); fileBean.setAbsolutePath(files[0].getAbsolutePath()); fileBean.setFileSize(files[0].length()); fileBean.setFilename(requestWrapper.getFileNames(paramterName)[0]); this.fileMap.put(paramterName, fileBean); } else { ArrayList<FileBean> list = new ArrayList(); for (int i = 0; i < files.length; i++) { File file = files[i]; FileBean fileBean = new FileBean(); fileBean.setAbsolutePath(file.getAbsolutePath()); fileBean.setFileSize(file.length()); fileBean.setFilename(requestWrapper.getFileNames(paramterName)[i]); list.add(fileBean); } this.fileMap.put(paramterName, list); } } } } }
[2] 透过代码设置Activity的Launch Mode
来源: 互联网 发布时间: 2014-02-18
通过代码设置Activity的Launch Mode
在AndroidManifest.xml里,可以设置每个Activity的启动模式(Launch Mode),但是如果希望动态的切换就需要在代码中添加相应的flag来实现。
通过调查发现,代码中添加下列flag就可以近似的实现不同的启动模式
1. Standard
2. Single Top
会触发onNewIntent()函数
3. Single Task
不会触发onNewIntent()函数,还在调查中。。。
败给google了,一定要把launch mode设成single top才会触发onNewIntent()函数。
不然就只会先finish(),再onCreate()了。
4. Single Instance
会触发onNewIntent()函数
当然这样添加了flag后,只能保证在当前工程内Activity的行为是正确的,跨工程的没有尝试。
最后上传整个工程。
在AndroidManifest.xml里,可以设置每个Activity的启动模式(Launch Mode),但是如果希望动态的切换就需要在代码中添加相应的flag来实现。
通过调查发现,代码中添加下列flag就可以近似的实现不同的启动模式
1. Standard
// 标准启动模式,不用添加任何flag
2. Single Top
会触发onNewIntent()函数
i.addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
3. Single Task
不会触发onNewIntent()函数,还在调查中。。。
败给google了,一定要把launch mode设成single top才会触发onNewIntent()函数。
不然就只会先finish(),再onCreate()了。
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
4. Single Instance
会触发onNewIntent()函数
i.addFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
当然这样添加了flag后,只能保证在当前工程内Activity的行为是正确的,跨工程的没有尝试。
最后上传整个工程。
[3] 新浪Weibo开发回到小弟我们Activity经验总结
来源: 互联网 发布时间: 2014-02-18
新浪Weibo开发回到我们Activity经验总结
在今天的Weibo项目开发中发现一即简单又容易出错的地方让我2了好一会不过还是让我给解决了,问题如下:
我在开发新浪微博客户端的时候采用的是MVC模式开发用一个Servers来负责我的所有业务逻辑的处理,而把我的所有的界面的显示都交给我们的Activity来显示,当有了数据的更新的时候我就不断的回调这些Activity。当然这里被回到的Activity都是继承了我自己写的一个接口如:
public interface IAcitvity {
public void init();//负责初始化
public void refresh(Object ...param);//负责刷新界面
}
在我的开发中就是让我蛋疼的地方就是:
例如:我在通过开启线程去下载图片的时候时当有了新的图片被加载到我的程序的时候我需要回到Activity去刷新数据这是=注意:在我们回到我们的activity的时候一定要确保我们的实例还存在,如果不存在我们还去调用这个实例的话就有空指针异常啦!!!哈哈!虽然听上去很简单但是这是值得注意的所有我们在回到这个activity得时候要先去判断这个实例是否存在...好了就写这么多。希望对您有帮助...
在今天的Weibo项目开发中发现一即简单又容易出错的地方让我2了好一会不过还是让我给解决了,问题如下:
我在开发新浪微博客户端的时候采用的是MVC模式开发用一个Servers来负责我的所有业务逻辑的处理,而把我的所有的界面的显示都交给我们的Activity来显示,当有了数据的更新的时候我就不断的回调这些Activity。当然这里被回到的Activity都是继承了我自己写的一个接口如:
public interface IAcitvity {
public void init();//负责初始化
public void refresh(Object ...param);//负责刷新界面
}
在我的开发中就是让我蛋疼的地方就是:
例如:我在通过开启线程去下载图片的时候时当有了新的图片被加载到我的程序的时候我需要回到Activity去刷新数据这是=注意:在我们回到我们的activity的时候一定要确保我们的实例还存在,如果不存在我们还去调用这个实例的话就有空指针异常啦!!!哈哈!虽然听上去很简单但是这是值得注意的所有我们在回到这个activity得时候要先去判断这个实例是否存在...好了就写这么多。希望对您有帮助...
最新技术文章: