登录
首页 » Java » android 线性布局新手入门例子

android 线性布局新手入门例子

于 2015-03-19 发布
0 199
下载积分: 1 下载次数: 0

代码说明:

android 线性布局新手入门例子

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 微信公众模式(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 AppWidgetExample(AppWidget示例)源码
    android AppWidgetExample(AppWidget示例)源码
    2014-03-16下载
    积分:1
  • android 界面-高仿美团界面 源码下载
    android界面,高仿美团界面效果
    2015-04-20下载
    积分:1
  • android 可横向滚动的viewgroup 例子源码下载
    android 可横向滚动的viewgroup 例子源码下载
    2015-05-09下载
    积分:1
  • android 仿哔哩哔哩源码实例,附源码,截图
    android 仿哔哩哔哩源码实例,附源码,截图
    2015-06-17下载
    积分:1
  • android wifi 搜索 连接 创建 等相关实例源码下载
    android wifi 搜索 连接 创建 等相关实例源码下载
    2014-08-27下载
    积分:1
  • android 操作 wifi 教程以及项目源码下载
    在Android中对Wifi操作,android本身提供了一些有用的包,在android.net.wifi包下面。简单介绍一下:大致可以分为四个主要的类ScanResult,wifiConfiguration,WifiInfo,WifiManager(1)ScanResult,主要是通过wifi 硬件的扫描来获取一些周边的wifi 热点的信息。(2)wifiConfiguration 在我们连通一个wifi 接入点的时候,需要获取到的一些信息。大家可以跟我们有线的设备进行对比一下。(3)WifiInfo 在我们的wifi 已经连通了以后,可以通过这个类获得一些已经连通的wifi 连接的信息获取当前链接的信息,这里信息就比较简单了,这里简单介绍一下这里的方法:       getBSSID() 获取BSSID       getDetailedStateOf() 获取客户端的连通性       getHiddenSSID() 获得SSID 是否被隐藏       getIpAddress() 获取IP 地址       getLinkSpeed() 获得连接的速度       getMacAddress() 获得Mac 地址       getRssi() 获得802.11n 网络的信号       getSSID() 获得SSID       getSupplicanState() 返回具体客户端状态的信息(4)wifiManager 这个不用说,就是用来管理我们的wifi 连接,这里已经定义好了一些类,可以供我们使用。这里来说相对复杂,里面的内容比较多,但是通过字面意思,我们还是可以获得很多相关的信息。这个类里面预先定义了许多常量,我们可以直接使用,不用再次创建。介绍完了,开始写一个Demo吧。程序已启动效果图如下:看代码,其中有注释,我就不多说了。布局文件代码:= mWifiConfiguration.size()) {                        return;                }                // 连接配置好的指定ID的网络                mWifiManager.enableNetwork(mWifiConfiguration.get(index).networkId,                                true);        }        // 得到MAC地址        public String getMacAddress() {                return (mWifiInfo == null) ? "NULL" : mWifiInfo.getMacAddress();        }        // 得到接入点的BSSID        public String getBSSID() {                return (mWifiInfo == null) ? "NULL" : mWifiInfo.getBSSID();        }        // 得到WifiInfo的所有信息包        public String getWifiInfo() {                return (mWifiInfo == null) ? "NULL" : mWifiInfo.toString();        }        // 添加一个网络并连接        public int addNetwork(WifiConfiguration wcg) {                int wcgID = mWifiManager.addNetwork(mWifiConfiguration.get(3));                mWifiManager.enableNetwork(wcgID, true);                return wcgID;        }}复制代码AndroidManifest.xml:(注意需要添加的权限)                                                                                                                                                                                                                复制代码布局文件就不贴了,我想看界面你都可以自己写出来,如果有需要,这里可以下载源代码:
    2013-09-10下载
    积分:1
  • java 扫雷小游戏 源码下载
    java 扫雷小游戏 源码下载
    2014-08-11下载
    积分:1
  • Android 仿关灯游戏(游戏-17_166).zip
    Android 仿关灯游戏(游戏开发-17_166).zip
    2019-10-07下载
    积分:1
  • android grid 分页示例代码(美团九宫格导航)
       实现美团九宫导航
    2016-06-01下载
    积分:1
  • 696518资源总数
  • 106265会员总数
  • 10今日下载