在上两篇文章中,我们依次介绍openfire部署以及smack常用API的使用,这一节中我们着力介绍如何基于asmack开发一个Android的客户端,本篇的重点在实践,讲解和原理环节,大家可以参考前两篇的文章 基于xmpp openfire smack开发之openfire介绍和部署[1] 基于xmpp openfire smack开发之smack类库介绍和使用[2] 1.源码结构介绍 activity包下存放一些android页面交互相关的控制程序,还有一个些公共帮助类 db包为sqlite…
前言 http://blog.csdn.net/shimiso/article/details/8816558 Java领域的即时通信的解决方案可以考虑openfire+spark+smack.当然也有其他的选择. Openfire是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使用3.8.1版本,这个版本是当前最新的版本,而且网上可以找到下载的源代码. 即时通信客户端可使用spark2.6.3,这个版本是目前最新的release版本,经过测试发现上一版本在视频支持,msn…
http://blog.csdn.net/shimiso/article/details/8816540 关于Smack编程库,前面我们提到,它是面向Java端的api,主要在PC上使用,利用它我们可以向openfire服务器注册用户,发送消息,并且可以通过监听器获得此用户的应答消息,以及构建聊天室,分组,个人通讯录等等. 下面我们写几个程序小例子测试一下. (1)登录操作 PPConnection.DEBUG_ENABLED = true; AccountManager accountMana…
前言 Java领域的即时通信的解决方案可以考虑openfire+spark+smack.当然也有其他的选择. Openfire是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使用3.8.1版本,这个版本是当前最新的版本,而且网上可以找到下载的源代码. 即时通信客户端可使用spark2.6.3,这个版本是目前最新的release版本,经过测试发现上一版本在视频支持,msn网关支持上可能有问题,所以选择openfire3.8.1+spark2.6.3是最合适的选择. Smack…
整个世界林林种种,把所有的事情都划分为对立的两个面. 每个人都渴望的财富划分为富有和贫穷,身高被划分为高和矮,身材被划分为胖和瘦,等等. 我们总是感叹,有钱人的生活我不懂;有钱人又何尝能懂我们每天起早贪黑的工作,总是做不到来一次说走就走的旅行. 程序员的生活也是这样.当你觉得自己学有所成是去面试一家互联网公司,很可能面临的是一盆冷水泼下. 面试的人员可能委婉的告诉你:我们是企业级开发,你那些个人演示的项目经验在我们这里的实际项目中几乎没用; 我们做的是分布式应用,分布式你懂吗?我们的应用都是要上…
最近在整理一些这方面的资料,闲话少说,咱还是直奔主题吧 :) 一.基于xmpp实现的openfire的配置安装 1. 下载最新的openfire安装文件 官方下载站点: http://www.igniterealtime.org/downloads/index.jsp#openfire 下载地址: Exe: http://www.igniterealtime.org/downloads/download-landing.jsp?file=openfire/openfire_3_7_1.exe Z…
最近在整理一些这方面的资料,闲话少说,咱还是直奔主题吧 :) http://blog.csdn.net/sk719887916/article/details/40541163 https://github.com/ubiety/xmpp https://github.com/robbiehanson/XMPPFramework https://github.com/superfeedr/xmpp-server https://github.com/emi-ly/NightHeron https…
前言 Java领域的即时通信的解决方案可以考虑openfire+spark+smack.当然也有其他的选择. Openfire 是基于Jabber协议(XMPP)实现的即时通信服务器端版本,目前建议使用3.8.1版本,这个版本是当前最新的版本,而且网上可以找到下载的源代码. 即时通信客户端可使用spark2.6.3,这个版本是目前最新的release版本,经过测试发现上一版本在视频支持,msn网关支持上可能有问题,所以选择openfire3.8.1+spark2.6.3是最合适的选择. Smac…
重新整理下这篇文章. 这篇文章的主要任务是使用AndroidStudio,通过Openfire,利用XMPP协议完成一个可以即时通讯.拥有好友系统的聊天软件. 一.服务器配置与相关库 理论不多说,只谈怎么操作.下面先说三个工具. 1.mysql服务器(版本5.7.25) 首先电脑要安装好mysql,这里建议不要安装最新版,因为本人之前就是安装的8.0最新版,然后跟Openfire服务器进行对接的时候出现了非常多问题,解决后,用JDBC连接mysql时也出了许多问题,还是无法解决的.但是换成5.7…
Android NDK开发指南---Android.mk文件 博客分类: Android NDK开发指南   Android.mk文件语法详述 介绍: ------------ 这篇文档是用来描述你的C或C++源文件中Android.mk编译文件的语法的,为了理解她们我们需要您先看完 docs/OVERVIEW.html(http://hualang.iteye.com/blog/1135105)文件来了解它的作用 概览: ------------ Android.mk文件是用来描述build…
前言  Android 开发的起步 我们可以先来看看百科上面怎么说? 百度百科上 Android的介绍 一.Windows环境下在线搭建Android环境. 1. 下载 Android开发工具. JDK下载网站 : JDK1.7 :http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html JDK1.8 :http://www.oracle.com/technetwork/java/jav…
平时在做Android客户端的时候经常要与服务器之间通信,客户端通过服务端提供的接口获取数据,然后再展示在客户端的界面上,作为Android开发者,我们平时更多的是关注客户端的开发,而对服务端开发的关注相对较少,但是如果我们要自己一个人设计并开发一套完整的系统,我们就必须同时具备客户端和服务端的开发知识,而且我认为同时掌握客户端和服务端的开发技术还是很有用处的,不仅有助于提升我们的架构知识和能力,而且还……你懂得!身边一些做WEB开发的朋友很多都说为客户端开发接口和单纯地做WEB项目并没有很大的…
申明:MobileIMSDK 目前为个人维护的原创开源工程,现陆续整理了一些资料,希望对需要的人有用.如需与作者交流,见文章底签名处,互相学习. MobileIMSDK开源工程的代码托管地址请进入 Git@OSC:点击进入 MobileIMSDK的Android客户端SDK文档:点击进入 学习交流 讨论学习和资料区:点此进入 推荐 移动端即时通讯交流: 215891622 推荐 bug/建议发送至:jb2011@163.com [写在前面] MobileIMSDK的Android客户端Demo工…
一.功能介绍虹软人证核验 2.0 SDK(以下简称SDK)包含人脸检测.人脸跟踪.人证核验等能力,主要实现人证的1:1比对.其中暴露对外的功能方法有:active 引擎激活init 引擎初始化inputIdCardData 输入身份证图片进行人脸检测onPreviewData 输入视频或图片数据进行人脸检测compareFeature 人证特征比对getVersion 获取sdk版本信息unInit 销毁引擎二.获取SDK1. 进入SDK的申请地址https://ai.arcsoft.com.c…
1.到支付宝官网,下载支付宝集成开发包 由于android设备一般用的都是无线支付,所以我们申请的就是支付宝无线快捷支付接口.下面是申请的地址以及下载接口开发包的网址:https://b.alipay.com/order/productDetail.htm?productId=2014110308141993(如果链接失效,你可以到支付宝官网商家服务模块中找到 快捷支付(无线)这个服务.)  下载集成开发包(http://download.alipay.com/public/api/base/W…
框架采用cordova,android编译环境为android studio.系统为mac,cordova 环境搭建参考网址:http://cordova.apache.org/docs/en/5.0.0/cordova/plugins/pluginapis.html#Plugin%20APIs 1.index.html <!DOCTYPE html> <!-- Licensed to the Apache Software Foundation (ASF) under one or m…
一.bundle文件 React-Native开发步骤中,有一个步骤是使用命令 react-native start 去启动一个基于Node.js的服务,名字为packager.这个packager的主要功能是:1.监视当前目录下相关文件的改动:2.监听在本机的8081(默认)端口,为正确的请求提供相应的bundle文件.总结一点来说就是:bundle文件是根据项目目录下相应文件的最新内容来动态生成的,这样在开发过程中就能实时地观察我们修改JS文件所带来的程序的改变.因为这个bundle文件就是…
我们继续的沿用上一篇所建立的应用. Android应用程序可以分为:应用程序源代码(.java),应用程序描述文件(.xml),各种资源. 可以这么理解: 安卓应用程序,通过java代码来实现其业务逻辑,由XML文件来描述其界面及其他一切资源. 我们来看看下面的几类文件: 一.资源极其描述文件. 1. strings.xml 文件 strings.xml 文件是定义程序中使用的字符串资源. 打开HelloWorld项目,展开res/values/目录,找到strings.xml 文件. 建立项目…
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 上次讲了Android手机与BLE终端之间的通信,而最常见的BLE终端应该是苹果公司倡导的iBeacon基站. iBeacon技术基于BLE.它的特点是通过广播对外发送消息.手机不须要连上iBeacon基站也能获取它的信息.眼下主要用来做室内定位和营销信息推送,在BLE发出的广播里带上带上特定的信息从而被识别为iBeacon.在iOS里面使用iBeacon要经过passbook注冊iBeacon的UUID和…
一.自定义Toolbar的menu: 在menu下新建menu.xml文件,自定义menu的样式: <menu xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" tools:co…
今天经过一天超过8小时的实践,有很多CSS上的细节需要注意: 1, /*注意是对before的操作*/ .content ul li .icon-check-empty:before{ display: block; /*webFont设置其width和height时无效,只有设置font-size*/ /*width: 3rem;*/ /*height: 3rem;*/ font-size: 1.5rem; position: absolute; top:0; left: 0; bottom:…
增加操作栏,使用felxbox居中,felx相关参考网址:http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html 使用webFont添加图标,webFont下载地址为http://fontello.com/ index.html: <!DOCTYPE html> <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor l…
Android是一个为组件化而搭建的平台,它的应用是由一些零散的有联系的组件组成,并通过AndroidManifest.xml文件 把它们绑定起来. Android常用的组件有: Activity(活动)  , Service (服务),Broadcast Receiver(广播接收器) ,Intent (意图),Content Provide (内容提供器)和Notification(通知) . 一. Activity  1. Activity 介绍 Activity是最常用的组件,实现应用程…
建立的HelloWorld的应用项目,其代码是由ADT插件自动生成的,形成Android项目特有的结构框架. 接下来让我带领大家解析一个Android程序的各个组成部分,这次我们拿一个Hello,World做例子,虽然只是一个Hello,World,但也是麻雀虽小五脏俱全,通过分析Hello,World的目录结构,让我们对Android程序有一个整体全面的认识. 一.创建一个Android 应用项目 启动Eclipse: 选择File->New->Project…:选择Android 下的An…
由于每个应用程序都运行在自己的进程空间,并且可以从应用程序UI运行另一个服务进程,而且经常会在不同的进程间传递对象.在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需要将对象分解成操作系统可以理解的基本单元,并且有序的通过进程边界.  通过代码来实现这个数据传输过程是冗长乏味的,Android提供了AIDL工具来处理这项工作. 这里通过与闹钟实例来实现这一机制的简单实现: 闹钟设置的实现是通过AlarmManager来实现的,AlarmManager提供系统警报服务…
转载:http://blog.csdn.net/lmj623565791/article/details/40481055 1.Context概念Context,相信不管是第一天开发Android,还是开发Android的各种老鸟,对于Context的使用一定不陌生~~你在加载资源.启动一个新的Activity.获取系统服务.获取内部文件(夹)路径.创建View操作时等都需要Context的参与,可见Context的常见性.大家可能会问到底什么是Context,Context字面意思上下文,或者…
android:windowSoftInputMode activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性. 这个属性能影响两件事情: [一]当有焦点产生时,软键盘是隐藏还是显示 [二]是否减少活动主窗口大小以便腾出空间放软键盘 它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合.在任一组设置多个值——多个”state…”values,例如&mdash有未定义的结果.各个值之间用|分开.例如:<…
本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处! 近期穿戴设备发展得非常火.把相关技术也带旺了,当中一项是BLE(Bluetooth Low Energy).BLE是蓝牙4.0的核心Profile,主打功能是高速搜索,高速连接.超低功耗保持连接和数据传输,弱点是数据传输速率低,因为BLE的低功耗特点,因此普遍用于穿戴设备.Android 4.3才開始支持BLE API,所以请各位客官把本文代码执行在蓝牙4.0和Android 4.3及其以上的系统,另外本文…
基于ionic的iOS的hybird APP无法使用focus获取焦点和键盘的问题. 解决办法就是: 原本APP的配置文件config.xml里面默认有一句 这句话的大概意思就是键盘的显示需要用户去触发,而且是设置为true的!!! 所以我们只用吧value 的值改为false就行了. <preference name="KeyboardDisplayRequiresUserAction" value="false" />…