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
近期下载者:
相关文件:
收藏者: