在鸿蒙应用开发中,有一道"分水岭"——
能不能让 App 和服务器"对话",能不能把数据"存下来"。
掌握网络请求和数据持久化,意味着你的 App 不再是"花瓶",而是真正能跑起来的实用工具。
今天这篇,用最直白的方式,帮你一次性拿下这两个核心技能。
ArkTS 提供了 @ohos.net.http 模块来处理网络请求。本质上和你在其他语言里用的 HTTP 客户端没有本质区别,但用法更简洁。
核心就三步:
第1步:创建 HTTP 请求对象
import http from '@ohos.net.http';
let httpRequest = http.createHttp();
httpRequest.request( 'https://api.example.com/data', { method: http.RequestMethod.GET, header: { 'Content-Type': 'application/json' }, expectDataType: http.HttpDataType.STRING, }, (err, data) => { if (!err) { console.info('请求成功:' + data.result); } });
GET 用来获取数据,POST 用来提交数据,用法一样,换个 method 就行。
第3步:记得关闭请求
小贴士:很多新手容易忘这步,导致内存泄漏。养成好习惯,用完就 destroy()。
网络请求拿到数据后,如果用户关了 App 数据就没了,体验就太差了。这时候就需要数据持久化。
ArkTS 提供两种主流方案:
方案A:用户首选项(Preferences)
适合存什么?用户设置、主题、登录状态等少量轻量数据。
import preferences from '@ohos.data.preferences';// 获取偏好设置实例let prefs = await preferences.getPreferences(context, 'my_prefs');// 存数据await prefs.put('username', '张三');await prefs.put('theme', 'dark');await prefs.flush(); // 持久化到磁盘// 取数据let name = await prefs.get('username', '默认值');
特点:简单、轻量、同步读写,数据以键值对形式存储。
方案B:关系型数据库(RDB)
适合存什么?结构化数据,比如聊天记录、订单列表、商品信息等。
import relationalStore from '@ohos.data.relationalStore';// 配置数据库const config = { name: 'myapp.db', securityLevel: relationalStore.SecurityLevel.S1};// 创建/打开数据库let store = await relationalStore.getRdbStore(context, config);// 建表await store.executeSql( 'CREATE TABLE IF NOT EXISTS user (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)');// 插入数据let valueBucket = { name: '李四', age: 25 };await store.insert('user', valueBucket);// 查询数据let predicates = new relationalStore.RdbPredicates('user');predicates.equalTo('age', 25);let result = await store.query(predicates);
特点:支持 SQL 语法、结构化查询、适合复杂数据管理。
// 先从本地缓存读取let cached = await prefs.get('user_list', '');if (cached) { // 有缓存,直接展示 displayData(JSON.parse(cached as string));}// 同时请求最新数据httpRequest.request(url, options, (err, data) => { if (!err) { // 更新UI displayData(JSON.parse(data.result)); // 写入缓存 await prefs.put('user_list', data.result); await prefs.flush(); }});
这套"先读缓存、再请求数据"的策略,是实战中最常用的数据加载方案。既能秒开页面,又能保证数据最新。
记住这三样东西,你的 ArkTS 应用就能"连网+存数据"了。
鸿蒙开发不难,难的是找到正确的学习路径。如果你也在学ArkTS,欢迎来交流学习心得!
咨询课程详情、预约试听名额、免费资料共享携手共建鸿蒙花园