contact 基础知识总结与类图

4.基础知识总结与类图

三要素基本关系如下:


Fragment(Activity),LoaderManager, AsyncLoader等类

Fragment

1,创建并且管理LoaderManager:

   getLoaderManager().initLoader(i, null,this);

2, 实现的LoaderManager回调callback接口函数:

    public Loader<D> onCreateLoader(intid, Bundle args) { ... }

    public void onLoadFinished(Loader<D>loader, D data) { ... }

    public void onLoaderReset(Loader<D>loader) { ... } 

AsyncLoader(抽象类)子类(CursorLoader)

CursorLoade必须实现loadInBackground()方法,必须覆写onStartLoading(),onStoppLoading(),onReset(),onCanceled()和deliverResult(D results)来实现一个完整功能的Loader。

界面类图

显示的Fragment:  Contacts中的MultiSelectContactsListFragment

Dialer AllContactsFragment,SmartDialSearchFragment和RegularSearchFragment

AsyncLoader类图

不断的运用继承以及多态,人都转晕了。

### Java 课程设计实现通讯录管理系统 #### 设计理念目标 通讯录管理系统旨在提供一种高效的方式管理和维护联系人的信息。通过采用面向对象的设计方法,可以更好地组织代码结构并提高可扩展性和易读性[^1]。 #### 功能需求分析 此系统应具备如下基本功能: - 添加新联系人; - 修改已有联系人详情; - 删除不再需要保存的条目; - 查询特定条件下的记录; - 支持批量操作如导入导出文件等附加特性; 为了满足上述要求,在具体编码之前应当先规划好以及各实体之间的关系模型[^3]。 #### 技术选型说明 考虑到项目规模较小但又希望保持良好的性能表现,选用纯Java SE环境作为开发平台是比较合适的选择之一。对于持久化层,则可以通过JDBC API连接MySQL或其他关系型数据库完成数据存取工作。 #### 关键技术点解析 以下是几个重要的知识点及其应用场景: ##### 使用ArrayList存储联系人实例集合 ```java import java.util.ArrayList; public class AddressBook { private ArrayList<Contact> contacts; public void addContact(Contact contact){ this.contacts.add(contact); } } ``` ##### 创建Contact表示单个联系人属性 ```java class Contact{ String name; String phoneNumber; // 构造函数、getter/setter 方法省略... } ``` ##### 数据库交互逻辑封装于DAO(Data Access Object)模式下 ```java // 假设已经配置好了DriverManager 和 Connection 对象 PreparedStatement pstmt = conn.prepareStatement(sqlInsertString); pstmt.setString(1,contact.getName()); pstmt.setString(2,contact.getPhoneNumber()); int affectedRows=pstmt.executeUpdate(); if (affectedRows==0){ throw new SQLException("Creating user failed,no rows affected."); } conn.commit(); ``` 以上片段展示了如何利用预编译语句安全有效地向表内插入一条新的联系人记录。 ##### 用户界面构建(简易命令行版) 由于本案例主要关注后台业务流程而非前端展现形式,因此这里仅给出一个简单的CLI(Command Line Interface),供测试调用接口之用。 ```java Scanner scanner=new Scanner(System.in); while(true){ System.out.println("\n请选择要执行的操作:"); System.out.println("[A]dd | [E]dit | [D]elete|[S]earch|[Q]uit"); char choice=scanner.nextLine().charAt(0).toLowerCase(); switch(choice){ case 'a': // 执行添加动作.. break; ... }} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值