-
c++编译动态链接库示例源码 以及使用方法
如何编译动态连接库,及其使用方法
- 2014-04-27下载
- 积分:1
-
android音频处理显示
android平台下的语音识别完整代码,喜欢研究的童鞋不可错过~
- 2022-02-02 12:20:07下载
- 积分:1
-
Android 图像简单的效果
此 Projectcan 图片更改、 添加颜色通道
此示例中,可以添加黄色通道和红色通道
它使用了类的LightingColorFilter ","setColorFilter" 和 "drawFilter"
- 2022-07-17 13:03:01下载
- 积分:1
-
pressluck
碰运气的游戏, 点击可以获得随机生成的礼物,实施手气吧。(Luck of the game, click on the gift can be randomly generated, the implementation I m feeling it. )
- 2011-10-20 00:23:18下载
- 积分:1
-
04_File
Android文件上传演示范例,用于学习文件传送的基本特点及相关代码。(file upload demo)
- 2012-09-03 13:41:45下载
- 积分:1
-
微信公众平台开发模式(JAVA) SDK/微信app
【核心代码】package com.gson;import java.io.File;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.Date;import java.util.Properties;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletInputStream;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.log4j.Logger;import com.gson.bean.Articles;import com.gson.bean.InMessage;import com.gson.bean.OutMessage;import com.gson.bean.TextOutMessage;import com.gson.inf.MessageProcessingHandler;import com.gson.util.Tools;import com.gson.util.XStreamFactory;import com.thoughtworks.xstream.XStream;/** * 请求拦截 * * @author GodSon * */public class WeChatFilter implements Filter { private final Logger logger = Logger.getLogger(WeChatFilter.class); private String _token; private String conf = "classPath:wechat.properties"; private String defaultHandler = "com.gson.inf.DefaultMessageProcessingHandlerImpl"; private Properties p; @Override public void destroy() { logger.info("WeChatFilter已经销毁"); } @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) req; HttpServletResponse response = (HttpServletResponse) res; Boolean isGet = request.getMethod().equals("GET"); String path = request.getServletPath(); String pathInfo = path.substring(path.lastIndexOf("/")); if (pathInfo == null) { response.getWriter().write("error"); } else { _token = pathInfo.substring(1); if (isGet) { doGet(request, response); } else { doPost(request, response); } } } private void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException { response.setCharacterEncoding("UTF-8"); response.setContentType("text/xml"); OutMessage oms = new OutMessage(); ServletInputStream in = request.getInputStream(); // 转换微信post过来的xml内容 XStream xs = XStreamFactory.init(false); xs.alias("xml", InMessage.class); String xmlMsg = Tools.inputStream2String(in); logger.debug("输入消息:[" xmlMsg "]"); InMessage msg = (InMessage) xs.fromXML(xmlMsg); // 获取自定消息处理器,如果自定义处理器则使用默认处理器。 String handler = p.getProperty("MessageProcessingHandlerImpl"); if (handler == null) handler = defaultHandler; try { // 加载处理器 Class clazz = Class.forName(handler); MessageProcessingHandler processingHandler = (MessageProcessingHandler) clazz.newInstance(); // 取得消息类型 String type = msg.getMsgType(); Method mt = clazz.getMethod(type "TypeMsg", InMessage.class); oms = (OutMessage) mt.invoke(processingHandler, msg); if (oms == null) { oms = new TextOutMessage(); ((TextOutMessage) oms).setContent("系统错误!"); } setMsgInfo(oms,msg); } catch (Exception e) { logger.error(e); oms = new TextOutMessage(); ((TextOutMessage) oms).setContent("系统错误!"); try { setMsgInfo(oms,msg); } catch (Exception e1) { logger.error(e); } } // 把发送发送对象转换为xml输出 xs = XStreamFactory.init(true); xs.alias("xml", oms.getClass()); xs.alias("item", Articles.class); String xml = xs.toXML(oms); logger.debug("输出消息:[" xml "]"); response.getWriter().write(xml); } private void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { String signature = request.getParameter("signature");// 微信加密签名 String timestamp = request.getParameter("timestamp");// 时间戳 String nonce = request.getParameter("nonce");// 随机数 String echostr = request.getParameter("echostr");// // 验证 if (Tools.checkSignature(_token, signature, timestamp, nonce)) { response.getWriter().write(echostr); } } private void setMsgInfo(OutMessage oms,InMessage msg) throws Exception { // 设置发送信息 Class outMsg = oms.getClass().getSuperclass(); Field CreateTime = outMsg.getDeclaredField("CreateTime"); Field ToUserName = outMsg.getDeclaredField("ToUserName"); Field FromUserName = outMsg.getDeclaredField("FromUserName"); ToUserName.setAccessible(true); CreateTime.setAccessible(true); FromUserName.setAccessible(true); CreateTime.set(oms, new Date().getTime()); ToUserName.set(oms, msg.getFromUserName()); FromUserName.set(oms, msg.getToUserName()); } /** * 启动的时候加载wechat.properties配置 可以在过滤器配置wechat.properties路径 */ @Override public void init(FilterConfig config) throws ServletException { String cf = config.getInitParameter("conf"); if (cf != null) { conf = cf; } String classPath = this.getClass().getResource("/").getPath().replaceAll("%20", " "); conf = conf.replace("classPath:", classPath); p = new Properties(); File pfile = new File(conf); if (pfile.exists()) { try { p.load(new FileInputStream(pfile)); } catch (FileNotFoundException e) { logger.error("未找到wechat.properties", e); } catch (IOException e) { logger.error("wechat.properties读取异常", e); } } logger.info("WeChatFilter已经启动!"); }}
- 2014-01-21下载
- 积分:1
-
iOSDiner 例子源码下载(商业)
iOSDiner 例子源码下载(商业)
- 2015-02-27下载
- 积分:1
-
android 自定义Spinner 控件源码下载
android 自定义Spinner 控件源码下载
- 2015-04-22下载
- 积分:1
-
网络获取图片(缓存)
package com.hsx.imageloader.adapter;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.hsx.imageloader.listener.AnimateFirstDisplayListener;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.assist.ImageLoadingListener;import com.nostra13.universalimageloader.core.display.RoundedBitmapDisplayer;import com.hsx.imageloader.R;public class ItemAdapter extends BaseAdapter {DisplayImageOptions options;private ImageLoadingListener animateFirstListener = new AnimateFirstDisplayListener();String[] imageUrls;Context context;public ItemAdapter(String[] imageUrls, Context context) {super();this.imageUrls = imageUrls;this.context = context;options = new DisplayImageOptions.Builder().showStubImage(R.drawable.ic_launcher)//设置图片在下载期间显示的图片.showImageForEmptyUri(R.drawable.ic_launcher)//设置图片Uri为空或是错误的时候显示的图片.showImageOnFail(R.drawable.ic_launcher)//设置图片加载/解码过程中错误时候显示的图片.cacheInMemory(true)//是否緩存都內存中.cacheOnDisc(true)//是否緩存到sd卡上.displayer(new RoundedBitmapDisplayer(20)).build();}private class ViewHolder {public TextView text;public ImageView image;}@Overridepublic int getCount() {return imageUrls.length;}@Overridepublic Object getItem(int position) {return position;}@Overridepublic long getItemId(int position) {return position;}@Overridepublic View getView(final int position, View convertView, ViewGroup parent) {final ViewHolder holder;if (convertView == null) {LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);convertView = inflater.inflate(R.layout.item_list_image, parent, false);holder = new ViewHolder();holder.text = (TextView) convertView.findViewById(R.id.text);holder.image = (ImageView) convertView.findViewById(R.id.image);convertView.setTag(holder);} else {holder = (ViewHolder) convertView.getTag();}holder.text.setText("Item " (position 1));// ImageLoaderImageLoader imageLoader = ImageLoader.getInstance();imageLoader.displayImage(imageUrls[position], holder.image, options, animateFirstListener);return convertView;}}
- 2015-03-05下载
- 积分:1
-
sdk分享到主流社交平台的demo
可以分享到qq,新浪微博,qq微博,微信等主流社交平台。Android系统调用新浪微博、腾讯微博、开心、
人人网分享接口
- 2023-05-19 16:00:03下载
- 积分:1