smsmanager
智能 

所属分类:Windows编程
开发工具:Java
文件大小:289KB
下载次数:6
上传日期:2014-03-30 18:44:51
上 传 者dm1299
说明:  短信智能管理器(应用源码级开发): 功能描述:1 会话列表 2 文件夹视图 3 群组 4 新建信息 5 提供了短息搜索机制 1 会话列表 : 通过异步查询获取会话数据,不会导致anr异常,对于会话可以进行单条和多条的删除,查看会话详情,我们在对listView进行了优化 2 文件夹视图: 对信息进行了分类管理:收件箱 发件箱 已发送 草稿箱这四类,并且我们对信息进行了日期分隔显示。 3 群组: 创建了群组数据库,里面有两张表:groups和thread_groups,groups是用来存放群组的。 4 新建信息 号码的输入控件采用的是AutoCompelteTextView.透析filter的过滤机制。 5 提供了短息搜索机制 应用能在应用的内部任何一个activity进行搜索,并且支持全局搜索。
(Short message intelligent manager (application development): Function Description: the 1 session list 2 folder view 3 group 4 new information 5 provides SMS search mechanism The 1 session list: The asynchronous query access to the session data, anr will not lead to abnormal, the session can be a single and a plurality of delete, view session details, we carried out on listView optimization 2 folder view: The information was classified management: inbox outbox sent drafts of these four categories, and we carried out to date separate display of information. The 3 group: Create a group database, there are two tables: groups and thread_groups, groups is used to store the group. 4 new information The input control number is used in filtering mechanism of AutoCompelteTextView. dialysis filter. 5 provides SMS search mechanism Application of any activity application in internal search, global search and support.)

文件列表:
smsmanager\.classpath (364, 2012-05-22)
smsmanager\.project (846, 2012-05-22)
smsmanager\.settings\org.eclipse.jdt.core.prefs (208, 2012-05-22)
smsmanager\AndroidManifest.xml (2799, 2012-05-26)
smsmanager\bin\AndroidManifest.xml (2799, 2012-10-24)
smsmanager\bin\classes\cn\itcast\smsmanager\BuildConfig.class (349, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ContactAdapter$ContactViews.class (758, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ContactAdapter.class (3586, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversastionListActivity$ConversationListAdapter.class (3454, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversastionListActivity$ConversationListViews.class (898, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversastionListActivity$QueryHandler.class (1368, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversastionListActivity.class (4865, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity$1$1.class (1386, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity$1$2.class (1307, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity$1.class (2676, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity$2.class (900, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity$ConversationAdapter.class (5487, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity$ConversationViews.class (935, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity$DeleteTask.class (2055, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity$DISPLAYMODE.class (1260, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity$MyOnItemClickListener.class (3555, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity$MyOnItemLongClickListener$1.class (2939, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity$MyOnItemLongClickListener.class (4928, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity$QueryHandler.class (1271, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\ConversationActivity.class (11346, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\domain\Groups.class (675, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\domain\Sms$Draft.class (652, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\domain\Sms$Inbox.class (652, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\domain\Sms$Outbox.class (656, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\domain\Sms$Sent.class (648, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\domain\Sms.class (1100, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\domain\Thread_Groups.class (742, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\FolderActivity$FolderAdapter.class (2682, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\FolderActivity$FolderViews.class (798, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\FolderActivity$MyContentObserver.class (965, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\FolderActivity$MyOnItemClickListener.class (2124, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\FolderActivity$QueryHandler.class (1580, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\FolderActivity.class (5391, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\FolderListActivity$FolderListAdapter.class (5625, 2012-10-25)
smsmanager\bin\classes\cn\itcast\smsmanager\FolderListActivity$FolderListViews.class (864, 2012-10-25)
... ...

public class AutoCompleteTextView extends EditText implements Filter.FilterListener 过滤是由谁来完成?Filter.FilterListener addTextChangedListener(new MyWatcher()); 输入改变事件的相应 doAfterTextChanged(); if (mFilter != null) { mPopupCanBeUpdated = true; performFiltering(getText(), mLastKeyCode); 执行过滤 } protected void performFiltering(CharSequence text, int keyCode) { mFilter.filter(text, this); } 研究 mFilter是什么? mAdapter == ContactAdapter == CursorAdapter Filter mFilter;Filter是一个抽象类 mFilter == new CursorFilter(this); mFilter的初始化在 void setAdapter(T adapter) { mFilter = ((Filterable) mAdapter).getFilter(); } 研究CursorAdapter? getFilter(){ if (mCursorFilter == null) { mCursorFilter = new CursorFilter(this); } return mCursorFilter; } 研究CursorFilter? class CursorFilter extends Filter 研究Filter? 在filter(text,FilterListener){ 开启了一个子线程,并且子线程里面创建了一个RequestHandler,并且发送消息 } 控制权就到了RequestHandler。 args.results = performFiltering(args.constraint);执行过滤,该方法是一个抽象方法,他的实现在CursorFilter 研究CursorFilter? Cursor cursor = mClient.runQueryOnBackgroundThread(constraint); mClient是什么? CursorFilter(CursorFilterClient client) { mClient = client; } CursorFilterClient = mClient = CursorAdapter == ContactAdapter 查询出来的数据是如何交给AutoCompleteTextView的? message = mResultHandler.obtainMessage(what); message.obj = args; message.sendToTarget(); 控制权就交给了ResultHandler。 publishResults(args.constraint, args.results);出版结果,该方法是一个抽象方法,他的实现在CursorFilter

近期下载者

相关文件


收藏者