@SuppressWarnings("unchecked")
public List<Map<String, Object>> fetch(String name)
{
List<Map<String, Object>> data = null;
SharedPreferences preferences = getSharedPreferences("base64",Context.MODE_PRIVATE);
String dataBase64 = preferences.getString(name, "");
if (dataBase64 != "") {
byte[] base64 = Base64.decode(dataBase64.getBytes(),Base64.DEFAULT);
ByteArrayInputStream bais = new ByteArrayInputStream(base64);
try {
ObjectInputStream bis = new ObjectInputStream(bais);
try {
data = (List<Map<String, Object>>) bis.readObject();
} catch (ClassNotFoundException e) {
}
} catch (StreamCorruptedException e) {
} catch (IOException e) {
}
}
return data;
}
public void save(List<Map<String, Object>> data,String name)
{
SharedPreferences preferences = getSharedPreferences("base64",Context.MODE_PRIVATE);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
try {
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(data);
String dataBase64 = new String(Base64.encodeToString(baos.toByteArray(),Base64.DEFAULT));
Editor editor = preferences.edit();
editor.putString(name, dataBase64);
editor.commit();
} catch (IOException e) {
}
}
相关推荐
Android Reservoir是一个轻量级的库,专门为Android应用设计,用于高效、安全地存储和检索本地数据。这个库简化了应用程序在本地持久化数据的过程,无论是小规模的数据,如偏好设置,还是中等规模的数据,如JSON对象...
Android系统内置了SQLite支持,允许开发者创建自定义数据库表,执行SQL查询来存取数据。网络请求后接收到的结构化数据可以被持久化到SQLite数据库中,以供离线使用或进一步处理。 3. **内部存储和外部存储**:...
- Android提供了读写文件的方法,但仅限于本地文件。 - 文件存储的优点是可以存储大量数据;缺点是文件的更新或格式更改可能会带来大量的编程工作。 - **文件操作**: - **读文件**: - 使用`Context....
在Android中,如果需要用到更复杂的文件管理和版本控制功能,可以考虑使用Jackrabbit库。 4. **Android WebDAV工具类的核心功能**: - **连接管理**:建立与WebDAV服务器的安全连接,可能涉及到HTTPS、Basic Auth...
总的来说,通过将Java对象序列化为二进制数据并存储在SQLite的`BLOB`列中,我们可以实现对象级别的数据存取,这在处理复杂数据结构时能提供便利。然而,这种“另类存取”方式也有其局限性,需要权衡其性能和可维护性...
每个文件都有其特定的功能,例如MainActivity负责处理用户交互,activity_main.xml定义界面元素,DatabaseHelper处理数据存取,NoteAdapter将数据模型与UI元素关联。 在这个项目中,学生需要了解以下几个核心知识点...
对于“在线词典”这种应用,源码分析有助于我们学习如何在Android平台上进行网络请求、数据解析、UI设计和本地存储等关键功能的实现。 1. **网络请求**:在线词典通常需要连接到服务器获取翻译数据,这涉及到网络...
此外,文件存储、SQLite数据库操作、SharedPreferences配置管理等本地数据存取技术也可能是实例的一部分。 除此之外,还有一些高级功能的实现,比如权限管理(Android运行时权限),通知推送,多媒体处理(音频、...
开发者需要熟练掌握SQL查询和Android的SQLiteOpenHelper类,以实现高效的数据存取。 Content Provider是Android的四大组件之一,用于在应用间共享数据。虽然邮件客户端不一定需要提供公开的Content Provider,但在...
第9章可能涉及到数据存储,包括SQLite数据库、SharedPreferences、File以及网络数据的存取。SQLite是Android内置的关系型数据库,适用于存储结构化数据;SharedPreferences适合保存小量配置数据;File用于本地文件...
最后,这个压缩包中的“android文件下载存储demo”项目,尽管可能需要自行调试才能运行,但它提供了一种基础结构,你可以从中学习如何组织代码、如何处理网络请求,以及如何在Android环境中实现文件的存取和解压。...
这些工具类的集合覆盖了Android开发中的多个方面,从基本的数据类型操作到复杂的UI和网络交互,为开发者提供了一站式的解决方案。在使用时,只需根据具体需求调用相应的方法即可,大大减少了代码重复,提高了开发...
- Android内置了SQLite数据库系统,用于本地数据存储。记事本源码可能会有一个SQLiteOpenHelper子类,用于创建和升级数据库,以及一个ContentProvider用于数据访问。数据存储可能包含记事的标题、内容、创建日期等...
"笔记十二--文件存取、数据库编程.pdf"则涵盖了数据存储技术,包括使用SQLite数据库进行本地数据管理,以及读写文件到外部存储。理解数据持久化是任何应用不可或缺的部分,它能让应用在关闭后仍能保存用户数据。 在...
- Android Studio提供了一套强大的可视化设计工具,可以帮助开发者快速构建复杂的用户界面。 - 设计器支持拖拽操作,可以直接在界面上添加、调整控件。 8. **获取标识ID**: - 在Android中,每个控件都需要有一...
首先,SQLite作为Android默认的数据库,其性能主要体现在快速的本地数据存取、简单的API接口和良好的兼容性。它的优势在于无需额外的依赖库,即可实现基本的数据操作,如创建表、插入、更新和查询数据。然而,SQLite...
- **简介**:SQLite是一个轻量级的关系型数据库管理系统,非常适合用于Android应用中的本地数据存储。 - **操作示例**:创建数据库表、插入数据、查询数据、更新数据、删除数据。 **3.3 文件存储** - **内部存储**...
6. **文件存取与数据库编程**:笔记十二介绍Android中的文件系统,如何读写文件,以及如何使用SQLite数据库存储数据。理解SQLite数据库的基本操作,如创建表、插入、查询和更新数据,是开发持久化应用的基础。 7. *...