HarmonyOS鸿蒙Next中使用new一个Contact对象的方式创建数据,错误,求大神指点!

HarmonyOS鸿蒙Next中使用new一个Contact对象的方式创建数据,错误,求大神指点!

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-contact-V5#contact,文档说可以通过new一个Contact对象的方式创建数据,如下:

或使用new一个Contact对象的方式创建数据:

  1. let myContact = new contact.Contact();
  2. let name = new contact.Name();
  3. name.fullName = “fullName”;
  4. let phoneNumber = new contact.PhoneNumber();
  5. phoneNumber.phoneNumber = “138xxxxxxxx”;
  6. myContact.name = name;
  7. myContact.phoneNumbers = [phoneNumber];

但是实际开发中,当new contact.Name()的时候报错“Constructor is false)这是因为什么?


更多关于HarmonyOS鸿蒙Next中使用new一个Contact对象的方式创建数据,错误,求大神指点!的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

这个是文档编写有点儿问题,有一些对象没有实现构造器所以无法用new的方式创建。已经反馈给负责人,后续会修改,目前先用 JSON 格式创建数据吧。感谢反馈!

更多关于HarmonyOS鸿蒙Next中使用new一个Contact对象的方式创建数据,错误,求大神指点!的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,直接使用new Contact()的方式创建Contact对象是错误的,因为Contact类并未提供默认的公共构造函数。正确的做法是使用Contact类提供的静态方法或工厂方法来创建对象。

例如,可以使用Contact.createContact()方法来创建一个新的Contact对象:

let contact = Contact.createContact();

或者使用ContactBuilder来构建Contact对象:

let contactBuilder = new Contact.ContactBuilder();
let contact = contactBuilder.build();

确保在创建Contact对象时遵循鸿蒙系统的API规范,避免直接调用未公开的构造函数。

在HarmonyOS鸿蒙Next中,创建Contact对象时,不能直接使用new关键字,因为Contact是一个系统定义的类。正确的做法是通过DataAbilityHelperContactManager等系统提供的API来操作联系人数据。例如:

Contact contact = new Contact(); // 错误方式

应使用类似以下方式:

Contact contact = ContactManager.createContact(context, new Contact()); // 正确方式

请确保你已正确导入相关类并遵循鸿蒙的API规范。

回到顶部