1.第三方jar包的使用
如果在Java Build Path中使用Add External JARs这种方式,运行时会有找不到类的错误(我的上面有,如果你没出现,恭喜你),上网查了几种方式,我这边运行通过的方式如下:
在项目中建个lib文件夹,把需要的jar包复制进去,在 Java Build Path中使用 Add JARs ,选择项目下的lib包中的jar文件即可,发布apk文件时会自动打包进去。
网上还有一种方式,在 Java Build Path 中使用 Add Library, 选择 User Libaray -> 新建一个User Libaray的方式,这种我没试,有通过的同志们说下。
本人推荐项目建文件夹的方式。
2. mina包的使用之日志
我使用的是mina2.0.2,如果没有特殊需求,使用mina-core-2.0.2核心包就可以了。
关键点在这里: 模板
mina中使用slf4j作为日志框架(不知道slf4j的同志们请google下), 这个只是一个日志框架,是没有实现的,你需要一个具体的实现,比如说log4j(具体使用方法我就不说了,很简单,实在不知道给我发站内信)。使用 mina必须把slf4j的jar包也引入,那么你也要引入一个实现日志的包,在普通客户端开发这个不是问题,但在android中,已经有了一个日志实 现,而且配合logcat,其功能是很强大的,那么怎么配合slf4j来使用呢?(ps:slf4j是必须的,mina要用到)
这里就要感谢网络了,我在slf4j的官网居然发现有一个slf4j-android的jar包
http://www.slf4j.org/android/ 同志们可以去看看,(强烈推荐去看看)下载这个包,引入到项目中,注意啊,这个包是不能和slf4j-api包共存的,我的解决方式是只使用slf4j- android这个包,其余的日志相关的包都删除,(其实别的日志包也没什么用,我们有android提供的日志类),这样mina就不会报日志类找不到 的错误了,而且日志都输出到logcat,调试程序也方便。这方面我们要感谢slf4j,如果没有这个实现,mina使用就麻烦了,我能想到的方式就只有 更改mina源代码,重新编译了,当然你也可以自己提供日志实现类。 http://www.huiyi8.com/moban/
android的日志类中有一个限制,tag不能超过23个字符(你不知道tag,我也不知道该怎么说了...),slf4j也给解决了,官网上面有介绍。(再建议看下官网)
3. mina包的使用之NioSocketConnector
在android2.1中好像没有问题,但在android2.2中会有Bad address family的异常,这个异常是由于IPv6引起的,这个bug已经在 http://code.google.com/p/android/issues/detail?id=9431 (同志们看看吧),android2.2不支持IPV6,在使用nio 时会有问题,有建议是使用io,可以解决,但我们如果一定要使用nio呢,解决方法如下:
设置系统属性: System.setProperty("java.net.preferIPv6Addresses", "false"); 就这一行解决问题,有同志可能要问,在哪加啊?系统开始的地方加,比如说是service,在onCreate()中启动mina前加上就 行,activity中也一样。
相关文章
- Android ViewPager2 + FragmentStateAdapter 的使用以及问题
- 使用webView访问https的url-处理SslError解决android2.2版本之前的https请求问题
- TSL 和 SSL 是什么?它们有何关系?-定义:SSL(安全套接层)是一种早期的加密协议,用于在互联网通信中保障数据传输的安全性。它通过加密和身份验证机制,确保客户端(如浏览器)与服务器之间的通信不被窃听或篡改。 版本:SSL 1.0(未发布)、SSL 2.0(1995年,已废弃)、SSL 3.0(1996年,已淘汰)。 问题:SSL 3.0 及早期版本存在严重安全漏洞(如 POODLE 攻击),目前已被现代系统禁用。 2. TLS(Transport Layer Security) 定义:TLS(传输层安全协议)是 SSL 的继任者,旨在提供更安全的通信协议。TLS 由国际互联网工程任务组(IETF)标准化,逐步替代了 SSL。 版本:TLS 1.0(1999年,已淘汰)、TLS 1.1(2006年,已淘汰)、TLS 1.2(2008年,广泛使用)、TLS 1.3(2018年,最新标准)。 优势:更强的加密算法(如 AES、ChaCha20)、更高效的握手过程、支持前向保密(Perfect Forward Secrecy)等。 SSL 与 TLS 的关系 继承关系 TLS 直接基于 SSL 3.0 设计,可以视为 SSL 的升级版。TLS 1.0 最初命名为 SSL 3.1,后因标准化需要更名为 TLS。 协议兼容性
- Android 使用android-support-multidex解决Dex超出方法数的限制问题
- 用junit对java代码进行单元测试时需要注意的问题。
- Android高版本的Uri及其使用注意问题
- android_TabLayout设置setupWithViewPager需要注意的问题
- Android屏幕适配问题,ImageView在代码中设置宽高,以及使用LayoutParams的坑
- 使用CefSharp的一些需要注意的点
- java中Integer比较需要注意的问题