这个地址可以参考:http://www.cnblogs.com/freespider/archive/2010/06/23/1763656.html,很详细的...
swfupload对于大文件上传等比较好用,下面以classic form demo为例,简单说明下用法
下载地址:http://code.google.com/p/swfupload/downloads/list
其中 SWFUpload_v250_beta_3_samples.zip 为实例代码,解压后重命名为swfupload,保存到本地主文件夹(nginx+php环境)下,便可以通过
http://localhost/swfupload/demos/ 访问
其中两个文件夹,demos 为客户端的实例,samples 提供了各语言的文件保存代码。
切换到 http://localhost/swfupload/demos/formsdemo/ 即普通表单模式
在/demos/formsdemo/下新建文件夹 uploads
将 /smaples/php/upload.php 中的代码拷贝到 /demos/formsdemo/upload.php 开头,即
这个注释下面。
修改其中的
为:
(与/demos/formsdemo/index.php中的表单元素名称一致)
此时,可以使用表单正常上传文件,上传的文件保存在/demos/formsdemo/uploads/目录下
数据库处理部分,应修改下面的代码:
这段代码是原来demo中的upload,其作用时返回一个已经上传的文件的id并赋给表单的hidFileID标签(注意到,这个标签是一个hidden元素)
原demo是随机产生的一个数,在这要修改为数据库插入操作得到的一个数据库表的id值。即下面的做法:
去掉对$_FILES的if判断(这在上面的move_uploaded_file之后is_uploaded_file判断为false);进行数据库插入操作;直接echo得到的id(数字型)。
对于大文件上传,需要首先修改表单部分的,即
/demos/formsdemo/index.php中
修改为期待的尺寸(最大2G)
修改nginx.conf,/etc/init.d/nginx reload,若不添加下面的设置,则nginx会出现413 Request Entity Too Large错误
同时需要修改服务器配置 php.ini, /etc/init.d/php-cgi reload
注意到swfupload并不要求修改max_execution_time和max_input_time的配置。
demo参考:http://demo.swfupload.org/v220/index.htm官方网址:http://code.google.com/p/swfupload/
给listview循环出来的按钮添加事件
需要重写一个adapter类,继承BaseAdapter,里面的getView方法里面这样写:
@Override public View getView(final int position, View convertView, ViewGroup parent) { appInfo = listItem.get(position); AppItem appItem; if(convertView == null) { View v = LayoutInflater.from(mContext).inflate(R.layout.news_item, null); appItem = new AppItem(); appItem.title = (Button)v.findViewById(R.id.news_title); v.setTag(appItem); convertView = v; } else { appItem = (AppItem)convertView.getTag(); } appItem.title.setText(appInfo.get("title").toString()); appItem.title.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Intent intent = new Intent(mContext, NewsDetailActivity.class); Map<String,Object> m =listItem.get(position); intent.putExtra("link", (String)m.get("link")); mContext.startActivity(intent); } }); return convertView; }
Android Sharedpreferences实现用户偏好存储