首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏一“技”之长

    iOS开发之AddressBook框架详解

    iOS开发之AddressBook框架详解 一、写在前面     首先,AddressBook框架是一个已经过时的框架,iOS9之后官方提供了Contacts框架来进行用户通讯录相关操作。 尽管如此,AddressBook框架依然是一个非常优雅并且使用方便的通讯录帮助库。本篇博客只要总结AddressBook框架的相关使用方法。     在AddressBook框架中,两个最重要的数据模型为ABAddressbookRef与ABRecordRef。 ); //拿到所有联系人 CFArrayRef peopleArray = ABAddressBookCopyArrayOfAllPeople(addressBook); 在AddressBook框架中,这一组数据被封装为ABMultiValueRef对象。

    1.9K10发布于 2018-09-20
  • 来自专栏Alice

    iOS 获取通讯录里边的电话号码AddressBook

    1  首先导入库 <AddressBook/AddressBook.h> 2 然后在导入#import <AddressBook/AddressBook.h>文件 3 声明  @property (nonatomic ,assign) ABAddressBookRef addressBook;//电话簿   并进行初始化   self.addressBook = ABAddressBookCreateWithOptions (NULL, NULL); 4 然后进行获取通讯录的操作 ABAddressBookRequestAccessWithCompletion(self.addressBook, ^(bool granted } //取得记录 CFArrayRef allPeopleCF = ABAddressBookCopyArrayOfAllPeople(self.addressBook

    1.3K100发布于 2018-02-01
  • 来自专栏Java后端开发博客

    瑞吉外卖-移动端业务开发

    > save(@RequestBody AddressBook addressBook) { addressBook.setUserId(BaseContext.getCurrentId ()); log.info("addressBook:{}", addressBook); addressBookService.save(addressBook); R<AddressBook> setDefault(@RequestBody AddressBook addressBook) { log.info("addressBook:{}", public R<List<AddressBook>> list(AddressBook addressBook) { addressBook.setUserId(BaseContext.getCurrentId ()); log.info("addressBook:{}", addressBook); //条件构造器 LambdaQueryWrapper<AddressBook

    1.3K20编辑于 2022-12-25
  • 来自专栏小沐沐吖

    瑞吉外卖(七)地址簿业务开发

    > save(@RequestBody AddressBook addressBook) { addressBook.setUserId(BaseContext.getCurrentId()); 查询指定用户的全部地址 */ @GetMapping("/list") public R<List<AddressBook>> list(AddressBook addressBook) { addressBook.setUserId(BaseContext.getCurrentId()); log.info("addressBook:{}", addressBook); = addressBook.getUserId(), AddressBook::getUserId, addressBook.getUserId()); queryWrapper.orderByDesc (@RequestBody AddressBook addressBook) { log.info("addressBook:{}", addressBook); LambdaUpdateWrapper

    65320编辑于 2022-09-22
  • Day | 08【苍穹外卖:订单地址,用户下单功能开发】

    > list(AddressBook addressBook); /** * 根据id修改地址 */ void update(AddressBook addressBook addressBook = new AddressBook(); BeanUtils.copyProperties(addressBookDTO, addressBook); ("查询用户{}的地址列表", userId); AddressBook addressBook = new AddressBook(); addressBook.setUserId addressBook = new AddressBook(); BeanUtils.copyProperties(addressBookDTO, addressBook); 查询地址") public Result<AddressBook> getById(@PathVariable Long id) { AddressBook addressBook

    7110编辑于 2026-04-22
  • 来自专栏秋落雨微凉Java开发栏

    瑞吉外卖实战项目全攻略——第六天

    >> list(AddressBook addressBook) { addressBook.setUserId(BaseContext.getCurrentId()); log.info("addressBook:{}", addressBook); //条件构造器 LambdaQueryWrapper<AddressBook> queryWrapper = addressBook.getUserId(), AddressBook::getUserId, addressBook.getUserId()); queryWrapper.orderByDesc > setDefault(@RequestBody AddressBook addressBook) { log.info("addressBook:{}", addressBook); > setDefault(@RequestBody AddressBook addressBook) { log.info("addressBook:{}", addressBook);

    76420编辑于 2022-10-25
  • 来自专栏韩曙亮的移动开发专栏

    【Android Protobuf 序列化】Protobuf 使用 ( Protobuf 序列化 | Protobuf 反序列化 )

    对象转为字节数组 var bytes: ByteArray = addressBook.toByteArray() 序列化操作代码示例 : // 序列化操作 var serializeStart = System.currentTimeMillis() // 将 addressBook 对象转为字节数组 var bytes: () var deserializeAddressBook: AddressBook = AddressBook.parseFrom(bytes) Log.i(TAG : AddressBook.Builder = AddressBook.newBuilder(). () // 将 addressBook 对象转为字节数组 var bytes: ByteArray = addressBook.toByteArray()

    1.2K51编辑于 2023-03-29
  • 来自专栏小小程序员——DATA

    基于Springboot和Mybatis的外卖项目 瑞吉外卖Day6

    > save(@RequestBody AddressBook addressBook) { addressBook.setUserId(BaseContext.getCurrentId ()); log.info("addressBook:{}", addressBook); addressBookService.save(addressBook); R<AddressBook> setDefault(@RequestBody AddressBook addressBook) { log.info("addressBook:{}", public R<List<AddressBook>> list(AddressBook addressBook) { addressBook.setUserId(BaseContext.getCurrentId ()); log.info("addressBook:{}", addressBook); //条件构造器 LambdaQueryWrapper<AddressBook

    90120编辑于 2023-03-31
  • 来自专栏逮虾户

    protobuf 2 kotlin 插件

    <pbandk.examples.addressbook.pb.AddressBook> get() = Companion.descriptor override val protoSize: > { public val defaultInstance: pbandk.examples.addressbook.pb.AddressBook by lazy { pbandk.examples.addressbook.pb.AddressBook orDefault(): pbandk.examples.addressbook.pb.AddressBook = this ? : AddressBook.defaultInstance private fun AddressBook.protoMergeImpl(plus: pbandk.Message?) : AddressBook = (plus as? AddressBook)?.

    92720编辑于 2023-10-16
  • 来自专栏Chasays

    protocol-buffers简介

    /usr/bin/python import addressbook_pb2 import sys # This function fills in a Person message based on ") if type == "mobile": phone_number.type = addressbook_pb2.Person.MOBILE elif type == = addressbook_pb2.Person.WORK else: print "Unknown phone type; leaving as default value = 2: print "Usage:", sys.argv[0], "ADDRESS_BOOK_FILE" sys.exit(-1) address_book = addressbook_pb2 /usr/bin/python import addressbook_pb2 import sys # Iterates though all people in the AddressBook and

    71830发布于 2019-08-16
  • 来自专栏C语言入门到精通

    C语言实现简易手机通讯录,自学C语言小项目!

    ; 12345 3.定义结构体变量 全局变量addressbook AddressBook addressbook; 1 五、通讯录初始化 针对整个通讯录初始化,只需要将size设置为0。 \n"); return; } addressbook->persons[id] = addressbook->persons[addressbook->size- 1]; addressbook->size void clearPerson(AddressBookaddressbook){ for (int i = 0; i < addressbook->size; i++) { addressbook void sortPerson(AddressBookaddressbook){ if (addressbook->size <= 0){ printf("通讯录中没有联系人,请添加! Person tmp = addressbook->persons[j]; addressbook->persons[j] = addressbook->persons[j + 1]; addressbook

    2K2218发布于 2020-12-22
  • 来自专栏程序猿阿朗的专栏

    Protobuf: 高效数据传输的秘密武器

    addressBook1 = AddressBook.newBuilder().addPeople(person1).build(); System.out.println(addressBook1) ; System.out.println("------------------"); // 链式构建 AddressBook addressBook2 = AddressBook .newBuilder byte[] byteArray = addressBook1.toByteArray(); // 反序列化 - 字节数组转对象 AddressBook addressBook2 (addressBook2); // 序列化到文件 addressBook1.writeTo(new FileOutputStream("AddressBook1.txt ")); // 读取文件反序列化 AddressBook addressBook3 = AddressBook.parseFrom(new FileInputStream

    1.4K50编辑于 2023-09-01
  • 来自专栏韩曙亮的移动开发专栏

    【Android Protobuf 序列化】Protobuf 性能测试 ( fastjson 序列化与反序列化 | gson 序列化与反序列化 | 三种序列化与反序列化性能对比 )

    { repeated Person people = 1; } 需要构造 AddressBook , Person , AddressBook 3 个 JavaBean , 构造结果如下 : 对象 var addressBook: AddressBook = AddressBook() addressBook.persons = mutableListOf 对象 var addressBook: AddressBook = AddressBook() addressBook.persons = mutableListOf : AddressBook.Builder = AddressBook.newBuilder(). 对象 var addressBook: AddressBook = AddressBook() addressBook.persons = mutableListOf

    2.7K30编辑于 2023-03-29
  • 来自专栏张善友的专栏

    给 ABP vNext 应用安装私信模块

    将 NuGet 包 EasyAbp.PrivateMessaging.Domain,安装到 AddressBook.Domain项目。 将 NuGet 包 EasyAbp.PrivateMessaging.HttpApi,安装到 AddressBook.HttpApi 项目。 将 NuGet 包 EasyAbp.PrivateMessaging.MongoDB,安装到 AddressBook.MongoDB 项目。 将 NuGet 包 EasyAbp.PrivateMessaging.Web,安装到 AddressBook.Web 项目。 第四步:安装完毕 启动 AddressBook.Web 项目,可以看到私信模块已经安装成功了。 ?

    92621发布于 2020-06-19
  • 来自专栏测吧测试开发

    Pb协议的接口测试

    /addressbook.proto 命令即可生成 addressbook_pb2.py 文件: syntax = "proto2"; package tutorial; message Person { repeated Person people = 1; } 测试人员的代码只需导入 addressbook_pb2 ,对其初始化后即可使用,比如对 Person 的字段加入一些测试值: import addressbook_pb2 person = addressbook_pb2.Person() person.id = 1234 person.name = "John Doe" person.email /usr/bin/python import addressbook_pb2 import sys # This function fills in a Person message based on /usr/bin/python import addressbook_pb2 import sys # Iterates though all people in the AddressBook and

    1.3K10编辑于 2022-04-29
  • 来自专栏韩曙亮的移动开发专栏

    【Android Protobuf 序列化】Protobuf 使用 ( Protobuf 源码分析 | 创建 Protobuf 对象 )

    文章目录 一、Protobuf 源码分析 二、创建 Protobuf 对象 三、完整代码示例 四、参考资料 一、Protobuf 源码分析 ---- Protobuf 源文件如下 : addressbook.proto 对象 , 每个 AddressBook 对象中包含若干 Person 对象 , 每个 Person 对象中包含 若干 PhoneNumber 枚举值 , 如果对象的某字段在 Protobuf 源码中被 AddressBook.Builder 对象 var addressBookBuilder: AddressBook.Builder = AddressBook.newBuilder(). addPeople(person2Builder) 最终 , 调用 AddressBook.Builder 这个拼装后最大的构造器的 build 方法 , 创建 AddressBook 对象 ; 三、完整代码示例 : AddressBook.Builder = AddressBook.newBuilder().

    1.4K50编辑于 2023-03-29
  • 来自专栏授客的专栏

    Python 在Python中使用Protocol Buffers基础介绍

    _serialized_end=324 _globals['_ADDRESSBOOK']._serialized_start=326 _globals['_ADDRESSBOOK']. 例如: import addressbook_pb2 person = addressbook_pb2.Person() person.id = 1234 person.name = "John Doe 这里示例代码从文件中读取 AddressBook,根据用户输入向其中添加一个新 Person,然后将新的 AddressBook 再次写回文件。直接调用或引用协议编译器生成的代码的部分已突出显示。 address_book = addressbook_pb2.AddressBook() # 读取已存在地址簿 if os.path.exists('my_addressbook.db'): .AddressBook() # 读取已存在地址簿 with open('my_addressbook.db', 'rb') as f: address_book.ParseFromString(

    95810编辑于 2024-11-21
  • 来自专栏后端开发随笔

    protobuf使用简介

    { repeated Person people = 1; } 编译addressbook.proto,在windows控制台进入addressbook.proto文件所在目录路径下,执行如下编译操作 /addressbook.proto 生成java class:org.chench.test.protobuf.AddressBookProtos.java,将生成的java文件拷贝到前面新建的maven addressBook = AddressBook.newBuilder(); try { // 从指定文件读取数据 addressBook.mergeFrom addressBook) { for(Person p : addressBook.getPeopleList()) { System.out.println( addressBook = AddressBook.parseFrom(new FileInputStream(args[0])); Print(addressBook);

    2.5K20发布于 2019-09-11
  • 来自专栏Flink实战应用指南

    Protocol Buffer Basics: Java(二)

    Here is a program which reads an AddressBook from a file, adds one new Person to it based on user input , and writes the new AddressBook back out to the file again. addressBook = AddressBook.newBuilder(); // Read the existing address book. static void Print(AddressBook addressBook) { for (Person person: addressBook.getPeopleList()) { AddressBook addressBook = AddressBook.parseFrom(new FileInputStream(args[0])); Print(addressBook

    56240发布于 2019-10-12
  • 来自专栏wOw的Android小站

    [Protocol Buffer]Java使用Protocol Buffer

    /addressbook.proto {18-07-20 15:09}wOw-RMBP:~/Projects/Protobuf wow% ls addressbook.proto com 生成的文件结构为 这是一个从文件读取AddressBook的程序,根据用户输入向其添加一个新Person,并将新的AddressBook再次写回文件。直接调用或引用协议编译器生成的代码的部分将用*标识。 addressBook = AddressBook.newBuilder(); // Read the existing address book. static void Print(AddressBook addressBook) { for (Person person: addressBook.getPeopleList()) { * AddressBook addressBook = * AddressBook.parseFrom(new FileInputStream(args[0])); Print

    2.5K10发布于 2018-09-18
领券