Android助手库使用指南

AndroidSDK提供了许多内置功能,但也有一些它不为处理的事情。API指南只能带走这么远。这个框架试图在Android示例停止的地方继续,并解决一些更棘手的问题。希望能在这个库中找到功能,帮助代码变得更加健壮。

WorxForUsAndroid库的主要功能:

数据库管理(如何使用):

提供了一个序列化访问框架,用于编写线程安全的(多线程)应用程序。

允许在每个表级别进行升级,而不是每个数据库。

支持方法以跟踪数据与远程服务器的同步。

网络工具(如何使用):

允许轻松检测和处理网络错误。

内置支持Cookie。

允许轻松使用网络重试模式(例如,尝试5次后才返回错误)。

处理经过认证和未经认证的网络请求。

隐藏SharedPreferences数据(如何使用):

com.worxforus.ObscuredSharedPreferences

共享数据通常以明文形式存储。这个工具可以轻松地加密SharedPreferences数据。

对象池- com.worxforus.Pool

将对象放入池中,以保持内存使用低并最小化对象创建。

安装

有两种使用库的方法:

克隆GitHub上的源代码:

WorxForUs Library

并导入到IDE中。将WorxForUs库项目链接到项目。

从GitHub下载jar文件,并包含在项目/lib文件中。

如果使用网络工具,可能想要从他们的下载页面获取最新的Apache HttpClient包。

将需要httpcore-4.x.x.jar、httpclient-4.x.x.jar、httpclient-cache-4.x.x.jar和httpmime-4.x.x.jar。将这些导入到引用jar库中。截至本文撰写时,最新的二进制版本是4.3.3包。

为什么创建这个框架?

除了编写软件时通常会收集或创建的典型实用程序外,还有一些特定的需求,需要健壮的数据库访问和网络处理。

数据库管理

Android中使用SQLite数据库的典型示例显示扩展了SQLiteOpenHelper。这很好,但如果有几张表,每张表都有自己的版本怎么办?此外,示例项目显示了dbHelper.getWritableDatabase(),但没有说明如何处理多个线程争夺同一资源。这在单核CPU设备上可能没问题,但突然间应用程序可能会在多核Nexus 7上崩溃,因为数据库访问没有序列化。这个包使用单例来提供对SQLite数据库的访问,并使用信号量来提供锁定,这默认情况下序列化了数据库访问,并防止了许多常见的数据库异常发生。

网络工具:

需要处理Cookie并检测网络连接何时失败,并确定失败的类型。问题是服务器故障还是用户设备上的不良连接?在移动网络中,错误是常态,正确处理它们很重要。还想要一种简单的方法来重新尝试连接,直到成功。这个包基于Apache HttpClient,因为它很容易支持需要的东西,如Cookie和错误检测。计划未来的版本将使用Velocity框架。

http://stackoverflow.com/questions/785973/what-is-the-most-appropriate-way-to-store-user-settings-in-android-application/6393502#6393502
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485