-
仿微信代码
仿照微信的代码,具有基本功能:欢迎页面、登陆页面、注册页面、朋友页面、设置页面。未添加后台服务,元素设计按照AS基本风格。
- 2022-03-26 13:31:36下载
- 积分:1
-
Android 高仿【优酷】圆盘旋转菜单的实现
Android 高仿【优酷】圆盘旋转菜单的实现把界面做的很炫,很有用处
- 2014-09-01下载
- 积分: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
-
人脸检测
这个项目是关于在 android 上的人脸检测。它确定您选择从库的掉线都检测到人脸的照片上的面孔写入后脸上被检测到。
- 2023-07-06 15:10:03下载
- 积分:1
-
XMPP熟悉Android Eclipse
安卓系统的示例 XMpp 客户端我正在开发聊天在安卓系统中的应用。现在服务器已准备就绪。而我想要使用 XMPP (Jabber) 与服务器连接 android 应用程序。我有以下的信息-主持人: 108.167.167.22User: user1@skycpassword: 111111port: 5222 / 5280有在市场具有类似功能的可用的任何应用程序(我的意思是我可以连接到服务器和聊天,只是为了测试的应用什么是问这里是困难的。这个问题是模糊的,模糊的,不完整的,太过于宽泛,或修辞,不能合理地回答了在其目前的形式。为了帮助澄清这一问题,它可以重新开放,访问我们的帮助中心。这个问题可以改写以适应规则在帮助中心,请编辑问题。
- 2022-04-21 09:19:25下载
- 积分:1
-
android widget小部件开发实例源码下载
android widget小部件开发实例源码下载
- 2014-09-04下载
- 积分:1
-
android-tcp
android使用TCP协议传输数据的例子和教程,具有很好的参考价值(Examples of android using the TCP protocol to transmit data and tutorials, has the very good reference value)
- 2013-09-30 10:19:55下载
- 积分:1
-
android 省市县三级联动 实例源码(含sqlite数据库)下载
android版的省市三级联动,使用sqllite本地数据,数据库在这个目录下 resaw
- 2014-12-22下载
- 积分:1
-
社交聊天APP源代码出售(附+Demo)
因原来创业团队解散,此产品对外整套系统出售源码。 第一,APP开发于2013年,相对创作思想,交互模式,UI模式已经落后了,故此才将APP有出售的想法。 第二,APP项目没有申请著作权,对各位后续开发都提供了方便,解决了后顾之忧。 第三,第三方开发者可以自行采用本架构和底层,自行做演进开发,也可自行做UI创新。 APP说明: 产品包含Android端以及IOS端,包含后台管理web端以及做好的业务资源管理接口服务端。 整套系统搭建即可运行。 系统包含添加/删除好友 地理位置好友查看 微群组 系统通知等部分 包含点对点即时通讯聊天 文字/表情/图片语音/地理位置等 提供前台自注册/后台审核认证功能 包含各类社交客户端的分享机制等。 演示说明: 请下载本邮件附件APK,(需要IPa演示,请提供您的appstore账号或者您越狱IOS7.1以上的设备)。 成功客户案例: (网址已被缩短,直接复制浏览器下载即可)http://dwz.cn/EAZaV (Android版) 演示帐号:13333330001 密码:154654http://dwz.cn/EB02C (iOS版) 提示: 1.APP内置的百度地图SDk可能存在接口延迟,请重新关闭APP或刷新几次地图 2.APP登陆和注册,包括消息的延迟,请
- 2022-12-24 05:30:04下载
- 积分:1
-
prjHello
Google Android SDK开发范例大全(完整版)虽然半行代码都没有写,但向导却帮忙写好了程序进入点、布局配置、字符 串常数、应 用程序访问权限等, 除了可作为程序模板之外, 也是 Android 手机程 序的最佳学习范例。让 我们回过头来看看刚才 Android 项目建立向导帮忙做了哪些工作, 以此来 了解 Android 应 用程序的生命周期及其文件组成方式; 首先, 展开 (package helloworld.irdc.eracom.com.cn import android.app.Activity import android.os.Bundle public class HelloWorld extends Activity { * Called when the activity is first created. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState) setContentView(R.layout.main) } } )
- 2015-12-22 12:23:05下载
- 积分:1