实例介绍
蘑菇街开源的 IM 项目 TeamTalk,包括 Android、iOS、Win、Mac 客户端以及 Server端、管理后台、环境自动部署,大赞!支持文字、音频、图片、表情、文件传输、屏幕振动、分组等,做聊天的同学可以看看 开源地址在https://github.com/mogutt
【实例截图】
【核心代码】
TTAndroidClient-master
└── TTAndroidClient-master
├── mgandroid-teamtalk
│ ├── AndroidManifest.xml
│ ├── jni
│ │ ├── Android.mk
│ │ ├── Application.mk
│ │ ├── include
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ └── speex
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── speex_bits.h
│ │ │ ├── speex_buffer.h
│ │ │ ├── speex_callbacks.h
│ │ │ ├── speex_config_types.h
│ │ │ ├── speex_config_types.h.in
│ │ │ ├── speex_echo.h
│ │ │ ├── speex.h
│ │ │ ├── speex_header.h
│ │ │ ├── speex_jitter.h
│ │ │ ├── speex_preprocess.h
│ │ │ ├── speex_resampler.h
│ │ │ ├── speex_stereo.h
│ │ │ └── speex_types.h
│ │ ├── libspeex
│ │ │ ├── arch.h
│ │ │ ├── bits.c
│ │ │ ├── buffer.c
│ │ │ ├── cb_search_arm4.h
│ │ │ ├── cb_search_bfin.h
│ │ │ ├── cb_search.c
│ │ │ ├── cb_search.h
│ │ │ ├── cb_search_sse.h
│ │ │ ├── echo_diagnostic.m
│ │ │ ├── exc_10_16_table.c
│ │ │ ├── exc_10_32_table.c
│ │ │ ├── exc_20_32_table.c
│ │ │ ├── exc_5_256_table.c
│ │ │ ├── exc_5_64_table.c
│ │ │ ├── exc_8_128_table.c
│ │ │ ├── fftwrap.c
│ │ │ ├── fftwrap.h
│ │ │ ├── filterbank.c
│ │ │ ├── filterbank.h
│ │ │ ├── filters_arm4.h
│ │ │ ├── filters_bfin.h
│ │ │ ├── filters.c
│ │ │ ├── filters.h
│ │ │ ├── filters_sse.h
│ │ │ ├── fixed_arm4.h
│ │ │ ├── fixed_arm5e.h
│ │ │ ├── fixed_bfin.h
│ │ │ ├── fixed_debug.h
│ │ │ ├── fixed_generic.h
│ │ │ ├── gain_table.c
│ │ │ ├── gain_table_lbr.c
│ │ │ ├── hexc_10_32_table.c
│ │ │ ├── hexc_table.c
│ │ │ ├── high_lsp_tables.c
│ │ │ ├── jitter.c
│ │ │ ├── kiss_fft.c
│ │ │ ├── _kiss_fft_guts.h
│ │ │ ├── kiss_fft.h
│ │ │ ├── kiss_fftr.c
│ │ │ ├── kiss_fftr.h
│ │ │ ├── lpc_bfin.h
│ │ │ ├── lpc.c
│ │ │ ├── lpc.h
│ │ │ ├── lsp_bfin.h
│ │ │ ├── lsp.c
│ │ │ ├── lsp.h
│ │ │ ├── lsp_tables_nb.c
│ │ │ ├── ltp_arm4.h
│ │ │ ├── ltp_bfin.h
│ │ │ ├── ltp.c
│ │ │ ├── ltp.h
│ │ │ ├── ltp_sse.h
│ │ │ ├── Makefile.am
│ │ │ ├── Makefile.in
│ │ │ ├── math_approx.h
│ │ │ ├── mdf.c
│ │ │ ├── misc_bfin.h
│ │ │ ├── modes.c
│ │ │ ├── modes.h
│ │ │ ├── modes_wb.c
│ │ │ ├── nb_celp.c
│ │ │ ├── nb_celp.h
│ │ │ ├── os_support.h
│ │ │ ├── preprocess.c
│ │ │ ├── pseudofloat.h
│ │ │ ├── quant_lsp_bfin.h
│ │ │ ├── quant_lsp.c
│ │ │ ├── quant_lsp.h
│ │ │ ├── resample.c
│ │ │ ├── resample_sse.h
│ │ │ ├── sb_celp.c
│ │ │ ├── sb_celp.h
│ │ │ ├── scal.c
│ │ │ ├── smallft.c
│ │ │ ├── smallft.h
│ │ │ ├── speex.c
│ │ │ ├── speex_callbacks.c
│ │ │ ├── speex_header.c
│ │ │ ├── stack_alloc.h
│ │ │ ├── stereo.c
│ │ │ ├── testdenoise.c
│ │ │ ├── testecho.c
│ │ │ ├── testenc.c
│ │ │ ├── testenc_uwb.c
│ │ │ ├── testenc_wb.c
│ │ │ ├── testjitter.c
│ │ │ ├── vbr.c
│ │ │ ├── vbr.h
│ │ │ ├── vorbis_psy.h
│ │ │ ├── vq_arm4.h
│ │ │ ├── vq_bfin.h
│ │ │ ├── vq.c
│ │ │ ├── vq.h
│ │ │ ├── vq_sse.h
│ │ │ └── window.c
│ │ └── speex_jni.cpp
│ ├── libs
│ │ ├── android-async-http-1.4.6.jar
│ │ ├── armeabi
│ │ │ └── libspeex.so
│ │ ├── armeabi-v7a
│ │ │ └── libspeex.so
│ │ ├── jpinyin-1.0.jar
│ │ ├── netty-3.6.6.Final.jar
│ │ └── universal-image-loader-1.9.3.jar
│ ├── mogujie_android_style.xml
│ ├── project.properties
│ ├── README
│ ├── res
│ │ ├── anim
│ │ │ ├── tt_album_enter.xml
│ │ │ ├── tt_album_exit.xml
│ │ │ ├── tt_image_enter.xml
│ │ │ ├── tt_image_exit.xml
│ │ │ ├── tt_image_left_enter.xml
│ │ │ ├── tt_image_left_exit.xml
│ │ │ ├── tt_speeker_in.xml
│ │ │ ├── tt_speeker_out.xml
│ │ │ ├── tt_stay.xml
│ │ │ ├── tt_stay_x.xml
│ │ │ ├── tt_voice_play_mine.xml
│ │ │ └── tt_voice_play_other.xml
│ │ ├── color
│ │ │ ├── checkbox_background.xml
│ │ │ ├── toggle_checkbox_background.xml
│ │ │ ├── tt_dialog_negative_text_color.xml
│ │ │ └── tt_positive_text_color.xml
│ │ ├── drawable
│ │ │ ├── tt_bgd_relatly_line.xml
│ │ │ ├── tt_bt_nobgd.xml
│ │ │ ├── tt_default_emo_dots.xml
│ │ │ ├── tt_dialog_bg.xml
│ │ │ ├── tt_dialog_negative_btn_bg.xml
│ │ │ ├── tt_dialog_positive_btn_bg.xml
│ │ │ ├── tt_message_cursor.xml
│ │ │ ├── tt_mine_item_bg.xml
│ │ │ ├── tt_other_item_bg.xml
│ │ │ ├── tt_panel_circle.xml
│ │ │ ├── tt_panel_edt_focused.xml
│ │ │ ├── tt_panel_edt_msg_bk.xml
│ │ │ ├── tt_panel_voice_forward.xml
│ │ │ ├── tt_pannel_edt_normal.xml
│ │ │ ├── tt_popup_background.xml
│ │ │ ├── tt_progressbar.xml
│ │ │ ├── tt_search_edt_bk.xml
│ │ │ ├── tt_send_voice_btn_bg.xml
│ │ │ ├── tt_show_emo_btn.xml
│ │ │ └── tt_text_while.xml
│ │ ├── drawable-hdpi
│ │ │ └── tt_loading_circle.png
│ │ ├── drawable-xhdpi
│ │ │ ├── check_box.png
│ │ │ ├── check.png
│ │ │ ├── discussion_group_default.png
│ │ │ ├── group_default.png
│ │ │ ├── im_other_item_bg_normal.9.png
│ │ │ ├── tt_album_arrow.png
│ │ │ ├── tt_album_arrow_sel.png
│ │ │ ├── tt_album_bottom_bar.png
│ │ │ ├── tt_album_img_selected.png
│ │ │ ├── tt_album_img_select_nor.png
│ │ │ ├── tt_album_item_sel_bk.png
│ │ │ ├── tt_back_btn.png
│ │ │ ├── tt_bg_popup_left_nomal.png
│ │ │ ├── tt_bg_popup_left_pressed.png
│ │ │ ├── tt_bg_popup_normal.9.png
│ │ │ ├── tt_bg_popup_pressed.9.png
│ │ │ ├── tt_bg_popup_right_nomal.png
│ │ │ ├── tt_bg_popup_right_pressed.png
│ │ │ ├── tt_chatting_biaoqing_btn_normal.png
│ │ │ ├── tt_clear_bar.png
│ │ │ ├── tt_clock_icon.png
│ │ │ ├── tt_contact_side_search.png
│ │ │ ├── tt_contact_top_left_nor.png
│ │ │ ├── tt_contact_top_left_sel.png
│ │ │ ├── tt_contact_top_right_nor.png
│ │ │ ├── tt_contact_top_right_sel.png
│ │ │ ├── tt_default_album_grid_image.png
│ │ │ ├── tt_default_arrow.png
│ │ │ ├── tt_default_btn_bk.png
│ │ │ ├── tt_default_dot_down.png
│ │ │ ├── tt_default_dot_up.png
│ │ │ ├── tt_default_emo_back_normal.png
│ │ │ ├── tt_default_image_error.png
│ │ │ ├── tt_default_image.png
│ │ │ ├── tt_default_message_error_image.png
│ │ │ ├── tt_default_message_image.png
│ │ │ ├── tt_default_user_portrait_corner.png
│ │ │ ├── tt_dialog_navigative_btn_bg_normal.9.png
│ │ │ ├── tt_dialog_navigative_btn_bg_pressed.9.png
│ │ │ ├── tt_dialog_positive_btn_bg_normal.9.png
│ │ │ ├── tt_dialog_positive_btn_bg_pressed.9.png
│ │ │ ├── tt_e0.png
│ │ │ ├── tt_e10.png
│ │ │ ├── tt_e11.png
│ │ │ ├── tt_e12.png
│ │ │ ├── tt_e13.png
│ │ │ ├── tt_e14.png
│ │ │ ├── tt_e15.png
│ │ │ ├── tt_e16.png
│ │ │ ├── tt_e17.png
│ │ │ ├── tt_e18.png
│ │ │ ├── tt_e19.png
│ │ │ ├── tt_e1.png
│ │ │ ├── tt_e20.png
│ │ │ ├── tt_e21.png
│ │ │ ├── tt_e22.png
│ │ │ ├── tt_e23.png
│ │ │ ├── tt_e24.png
│ │ │ ├── tt_e25.png
│ │ │ ├── tt_e26.png
│ │ │ ├── tt_e27.png
│ │ │ ├── tt_e28.png
│ │ │ ├── tt_e29.png
│ │ │ ├── tt_e2.png
│ │ │ ├── tt_e30.png
│ │ │ ├── tt_e31.png
│ │ │ ├── tt_e32.png
│ │ │ ├── tt_e33.png
│ │ │ ├── tt_e34.png
│ │ │ ├── tt_e35.png
│ │ │ ├── tt_e36.png
│ │ │ ├── tt_e37.png
│ │ │ ├── tt_e38.png
│ │ │ ├── tt_e39.png
│ │ │ ├── tt_e3.png
│ │ │ ├── tt_e40.png
│ │ │ ├── tt_e41.png
│ │ │ ├── tt_e42.png
│ │ │ ├── tt_e43.png
│ │ │ ├── tt_e44.png
│ │ │ ├── tt_e45.png
│ │ │ ├── tt_e4.png
│ │ │ ├── tt_e5.png
│ │ │ ├── tt_e6.png
│ │ │ ├── tt_e7.png
│ │ │ ├── tt_e8.png
│ │ │ ├── tt_e9.png
│ │ │ ├── tt_empty_default_icon.png
│ │ │ ├── tt_empty_no_contact_icon.png
│ │ │ ├── tt_group_manager_add_user.png
│ │ │ ├── tt_ic_launcher.png
│ │ │ ├── tt_login_logo2.png
│ │ │ ├── tt_login_logo.png
│ │ │ ├── tt_login_pwd.png
│ │ │ ├── tt_login_user.png
│ │ │ ├── tt_logo2.png
│ │ │ ├── tt_logo.png
│ │ │ ├── tt_message_notify_double.png
│ │ │ ├── tt_message_notify_single.png
│ │ │ ├── tt_message_text_bg.9.png
│ │ │ ├── tt_message_title_time_bg.9.png
│ │ │ ├── tt_mine_image_default_bk.png
│ │ │ ├── tt_mine_item_bg_normal.9.png
│ │ │ ├── tt_mine_item_bg_pressed.9.png
│ │ │ ├── tt_msg_tip.png
│ │ │ ├── tt_my_message_bkgnd.9.png
│ │ │ ├── tt_other_default_image_bk.9.png
│ │ │ ├── tt_other_image_default_bk.png
│ │ │ ├── tt_other_item_bg_normal.9.png
│ │ │ ├── tt_other_item_bg_pressed.9.png
│ │ │ ├── tt_other_text_background.png
│ │ │ ├── tt_page_item_bk.9.png
│ │ │ ├── tt_page_my_setting.png
│ │ │ ├── tt_pannel_bk.9.png
│ │ │ ├── tt_pannel_btn_voiceforward_normal.9.png
│ │ │ ├── tt_pannel_btn_voiceforward_pressed.9.png
│ │ │ ├── tt_preview_dot_down.png
│ │ │ ├── tt_preview_dot_up.png
│ │ │ ├── tt_search.png
│ │ │ ├── tt_send_message_btn_bg.9.png
│ │ │ ├── tt_send_voice_btn_bg.9.png
│ │ │ ├── tt_send_voice_btn_bg_normal.9.png
│ │ │ ├── tt_send_voice_btn_btn_pressed.9.png
│ │ │ ├── tt_show_add_photo_btn.png
│ │ │ ├── tt_show_head_toast_bg.9.PNG
│ │ │ ├── tt_sound_volume_01.png
│ │ │ ├── tt_sound_volume_02.png
│ │ │ ├── tt_sound_volume_03.png
│ │ │ ├── tt_sound_volume_04.png
│ │ │ ├── tt_sound_volume_05.png
│ │ │ ├── tt_sound_volume_06.png
│ │ │ ├── tt_sound_volume_07.png
│ │ │ ├── tt_sound_volume_cancel_bk.png
│ │ │ ├── tt_sound_volume_default_bk.png
│ │ │ ├── tt_sound_volume_short_tip_bk.png
│ │ │ ├── tt_speeker_tip_bg.png
│ │ │ ├── tt_switch_to_keyboard_btn.png
│ │ │ ├── tt_tab_bk.png
│ │ │ ├── tt_tab_chat_nor.png
│ │ │ ├── tt_tab_chat_sel.png
│ │ │ ├── tt_tab_contact_nor.png
│ │ │ ├── tt_tab_contact_sel.png
│ │ │ ├── tt_tab_innernet_nor.png
│ │ │ ├── tt_tab_innernet_sel.png
│ │ │ ├── tt_tab_me_nor.png
│ │ │ ├── tt_tab_me_sel.png
│ │ │ ├── tt_take_camera_btn_bg.png
│ │ │ ├── tt_take_photo_btn_bg.png
│ │ │ ├── tt_top_back.png
│ │ │ ├── tt_top_default_bk.png
│ │ │ ├── tt_top_right_group_manager.png
│ │ │ ├── tt_top_search.png
│ │ │ ├── tt_unread_message_notify_bg.png
│ │ │ ├── tt_voice_btn_btn.png
│ │ │ ├── tt_voice_node_mine_playing001.png
│ │ │ ├── tt_voice_node_mine_playing002.png
│ │ │ ├── tt_voice_node_mine_playing003.png
│ │ │ ├── tt_voice_node_mine.png
│ │ │ ├── tt_voice_node_other_playing001.png
│ │ │ ├── tt_voice_node_other_playing002.png
│ │ │ ├── tt_voice_node_other_playing003.png
│ │ │ ├── tt_voice_node_other.png
│ │ │ ├── tt_waterfall_refresh_bg.9.png
│ │ │ ├── uncheck_box.png
│ │ │ ├── uncheck.png
│ │ │ └── warning.png
│ │ ├── drawable-xxhdpi
│ │ │ └── ic_launcher.png
│ │ ├── layout
│ │ │ ├── tt_activity_base.xml
│ │ │ ├── tt_activity_groupmanage.xml
│ │ │ ├── tt_activity_group_member_select.xml
│ │ │ ├── tt_activity_image_grid.xml
│ │ │ ├── tt_activity_login.xml
│ │ │ ├── tt_activity_main.xml
│ │ │ ├── tt_activity_message.xml
│ │ │ ├── tt_activity_pick_photo.xml
│ │ │ ├── tt_activity_preview_text.xml
│ │ │ ├── tt_activity_preview.xml
│ │ │ ├── tt_display_image_layout.xml
│ │ │ ├── tt_fragment_activity_chat.xml
│ │ │ ├── tt_fragment_activity_contact.xml
│ │ │ ├── tt_fragment_activity_search.xml
│ │ │ ├── tt_fragment_activity_setting.xml
│ │ │ ├── tt_fragment_activity_userinfo.xml
│ │ │ ├── tt_fragment_base.xml
│ │ │ ├── tt_fragment_chat.xml
│ │ │ ├── tt_fragment_contact.xml
│ │ │ ├── tt_fragment_group_manage.xml
│ │ │ ├── tt_fragment_group_member_select.xml
│ │ │ ├── tt_fragment_internal.xml
│ │ │ ├── tt_fragment_my.xml
│ │ │ ├── tt_fragment_search.xml
│ │ │ ├── tt_fragment_setting.xml
│ │ │ ├── tt_fragment_user_detail.xml
│ │ │ ├── tt_group_manage_grid_item.xml
│ │ │ ├── tt_history_divider_item.xml
│ │ │ ├── tt_image_loadding_layout.xml
│ │ │ ├── tt_item_chat.xml
│ │ │ ├── tt_item_contact.xml
│ │ │ ├── tt_item_image_grid.xml
│ │ │ ├── tt_item_image_pick.xml
│ │ │ ├── tt_item_searchresult.xml
│ │ │ ├── tt_messagelist_header.xml
│ │ │ ├── tt_message_title_time.xml
│ │ │ ├── tt_mine_audio_message_item.xml
│ │ │ ├── tt_mine_image_message_item.xml
│ │ │ ├── tt_mine_text_message_item.xml
│ │ │ ├── tt_navi_tab_button.xml
│ │ │ ├── tt_other_audio_message_item.xml
│ │ │ ├── tt_other_image_message_item.xml
│ │ │ ├── tt_other_text_message_item.xml
│ │ │ ├── tt_popup_item_view.xml
│ │ │ ├── tt_popup_list.xml
│ │ │ ├── tt_progress_ly.xml
│ │ │ ├── tt_progress.xml
│ │ │ ├── tt_sound_volume_dialog.xml
│ │ │ ├── tt_speeker_layout.xml
│ │ │ ├── tt_top_tab_button.xml
│ │ │ ├── tt_top_tab.xml
│ │ │ ├── tt_view_dialog_base.xml
│ │ │ └── tt_voicetip.xml
│ │ ├── values
│ │ │ ├── tt_arrays.xml
│ │ │ ├── tt_color.xml
│ │ │ ├── tt_dimens.xml
│ │ │ ├── tt_ptr_dimens.xml
│ │ │ ├── tt_pull_refresh_strings.xml
│ │ │ ├── tt_strings_activity_contact.xml
│ │ │ ├── tt_strings_activity_login.xml
│ │ │ ├── tt_strings_activity_message.xml
│ │ │ ├── tt_strings_fragment_chat.xml
│ │ │ ├── tt_strings_main_page.xml
│ │ │ ├── tt_strings.xml
│ │ │ └── tt_styles.xml
│ │ ├── values-sw600dp
│ │ │ └── dimens.xml
│ │ ├── values-sw720dp-land
│ │ │ └── dimens.xml
│ │ └── values-w820dp
│ │ └── im_dimens.xml
│ └── src
│ └── com
│ └── mogujie
│ └── tt
│ ├── adapter
│ │ ├── album
│ │ │ ├── AlbumHelper.java
│ │ │ ├── BitmapCache.java
│ │ │ ├── ImageBucketAdapter.java
│ │ │ ├── ImageBucket.java
│ │ │ ├── ImageGridAdapter.java
│ │ │ └── ImageItem.java
│ │ ├── ChatAdapter.java
│ │ ├── ContactAllAdapter.java
│ │ ├── ContactBaseAdapter.java
│ │ ├── ContactDepartmentAdapter.java
│ │ ├── EmoGridViewAdapter.java
│ │ ├── EntityListViewAdapter.java
│ │ ├── GroupAdapter.java
│ │ ├── GroupManagerAdapter.java
│ │ ├── MessageAdapter.java
│ │ ├── SearchAdapter.java
│ │ └── ViewPageAdapter.java
│ ├── app
│ │ └── IMEntrance.java
│ ├── audio
│ │ └── biz
│ │ ├── AudioPlayerHandler.java
│ │ └── AudioRecordHandler.java
│ ├── biz
│ │ ├── ContactHelper.java
│ │ ├── MessageDistCenter.java
│ │ ├── MessageHelper.java
│ │ ├── MessageNotifyCenter.java
│ │ └── SearchHelper.java
│ ├── cache
│ │ ├── AutoCloseable.java
│ │ ├── biz
│ │ │ └── CacheHub.java
│ │ ├── BlockTargetCache.java
│ │ ├── Cache.java
│ │ ├── CacheModel.java
│ │ ├── ContactCacheImpl.java
│ │ ├── Dispatcher.java
│ │ ├── ExpiredCache.java
│ │ ├── IMCacheImpl.java
│ │ ├── MessageCacheImpl.java
│ │ └── UserCacheImpl.java
│ ├── config
│ │ ├── CacheConstant.java
│ │ ├── HandlerConstant.java
│ │ ├── ProtocolConstant.java
│ │ ├── StatisticsConstant.java
│ │ ├── SysConstant.java
│ │ └── TaskConstant.java
│ ├── conn
│ │ ├── ConnectionManager.java
│ │ ├── ConnectionStore.java
│ │ ├── NetStateDispach.java
│ │ └── NetStateManager.java
│ ├── db
│ │ ├── biz
│ │ │ └── DataBaseHelper.java
│ │ ├── ContactModel.java
│ │ ├── DataModel.java
│ │ ├── DBHelper.java
│ │ ├── MessageModel.java
│ │ └── UserModel.java
│ ├── entity
│ │ ├── ContactSortEntity.java
│ │ ├── GroupManagerEntity.java
│ │ ├── IMRecentContact.java
│ │ ├── MessageInfo.java
│ │ ├── MessageList.java
│ │ ├── Pair.java
│ │ ├── RecentInfo.java
│ │ ├── SearchResultItem.java
│ │ ├── ShopMember.java
│ │ ├── TimeTileMessage.java
│ │ ├── Token.java
│ │ ├── UnReadMsgCountInfo.java
│ │ └── User.java
│ ├── exception
│ │ └── BaseException.java
│ ├── https
│ │ └── MoGuHttpClient.java
│ ├── imlib
│ │ ├── common
│ │ │ ├── ConfigDefs.java
│ │ │ └── ErrorCode.java
│ │ ├── db
│ │ │ └── IMDbManager.java
│ │ ├── IMActions.java
│ │ ├── IMApplication.java
│ │ ├── IMBroadcastActions.java
│ │ ├── IMConfigurationManager.java
│ │ ├── IMContactManager.java
│ │ ├── IMGroupManager.java
│ │ ├── IMHeartBeatManager.java
│ │ ├── IMLoginManager.java
│ │ ├── IMManager.java
│ │ ├── IMMessageManager.java
│ │ ├── IMNotificationManager.java
│ │ ├── IMPacketDispatcher.java
│ │ ├── IMRecentSessionManager.java
│ │ ├── IMReconnectManager.java
│ │ ├── IMSession.java
│ │ ├── IMUnAckMsgManager.java
│ │ ├── IMUnreadMsgManager.java
│ │ ├── network
│ │ │ ├── BaseServerHandler.java
│ │ │ ├── LoginServerHandler.java
│ │ │ ├── MsgServerHandler.java
│ │ │ └── SocketThread.java
│ │ ├── proto
│ │ │ ├── AckGroupUnreadMsgPacket.java
│ │ │ ├── AckUnreadMsgPacket.java
│ │ │ ├── AllContactsPacket.java
│ │ │ ├── ChangeTempGroupMemberPacket.java
│ │ │ ├── ContactEntity.java
│ │ │ ├── CreateTempGroupPacket.java
│ │ │ ├── DepartmentEntity.java
│ │ │ ├── DepartmentPacket.java
│ │ │ ├── GroupChangeMemberNotify.java
│ │ │ ├── GroupEntity.java
│ │ │ ├── GroupPacket.java
│ │ │ ├── GroupUnreadMsgPacket.java
│ │ │ ├── GroupUserListPacket.java
│ │ │ ├── HeartBeatPacket.java
│ │ │ ├── LoginPacket.java
│ │ │ ├── MessageEntity.java
│ │ │ ├── MessageNotifyPacket.java
│ │ │ ├── MessagePacket.java
│ │ │ ├── MsgAckEntity.java
│ │ │ ├── MsgServerPacket.java
│ │ │ ├── PacketEncoder.java
│ │ │ ├── RecentContactsPacket.java
│ │ │ ├── UnreadMsgContactListPacket.java
│ │ │ ├── UnreadMsgGroupListPacket.java
│ │ │ └── UnreadMsgPacket.java
│ │ ├── service
│ │ │ └── IMService.java
│ │ └── utils
│ │ ├── DumpUtils.java
│ │ ├── IMContactHelper.java
│ │ ├── IMUIHelper.java
│ │ └── SearchElement.java
│ ├── log
│ │ └── Logger.java
│ ├── logcat.log
│ ├── packet
│ │ ├── action
│ │ │ ├── ActionCallback.java
│ │ │ ├── Action.java
│ │ │ └── ProgressActionCallback.java
│ │ ├── base
│ │ │ ├── DataBuffer.java
│ │ │ ├── DefaultHeader.java
│ │ │ ├── Header.java
│ │ │ └── Packet.java
│ │ ├── MessageDispatchCenter.java
│ │ ├── PacketSendMonitor.java
│ │ ├── SocketMessageQueue.java
│ │ └── WaitingListMonitor.java
│ ├── service
│ │ ├── ConnectionChangeReceiver.java
│ │ ├── IMService.java
│ │ └── StartImServiceReceiver.java
│ ├── socket
│ │ ├── MoGuSocket.java
│ │ ├── SocketHandler.java
│ │ └── SocketStateManager.java
│ ├── support
│ │ └── audio
│ │ ├── AudioFileWriter.java
│ │ ├── OggCrc.java
│ │ ├── OggSpeexWriter.java
│ │ ├── SpeexDecoder.java
│ │ ├── SpeexEncoder.java
│ │ ├── Speex.java
│ │ ├── SpeexWriteClient.java
│ │ └── SpeexWriter.java
│ ├── task
│ │ ├── BaseTask.java
│ │ ├── biz
│ │ │ ├── CheckUserBlockTask.java
│ │ │ ├── DownloadImageTask.java
│ │ │ ├── FinishRecordVoiceTask.java
│ │ │ ├── PushActionToQueueTask.java
│ │ │ ├── SendAudioMessageTask.java
│ │ │ └── UploadImageTask.java
│ │ ├── IProcessing.java
│ │ ├── ITask.java
│ │ ├── MAsyncTask.java
│ │ ├── TaskCallback.java
│ │ ├── TaskCenter.java
│ │ ├── TaskManager.java
│ │ ├── TaskMode.java
│ │ └── TaskTrigger.java
│ ├── timer
│ │ ├── ITimerProcessor.java
│ │ └── TimerHelper.java
│ ├── ui
│ │ ├── activity
│ │ │ ├── ChatFragmentActivity.java
│ │ │ ├── CommonTest.java
│ │ │ ├── ContactFragmentActivity.java
│ │ │ ├── DisplayImageActivity.java
│ │ │ ├── GroupManagermentActivity.java
│ │ │ ├── GroupMemberSelectActivity.java
│ │ │ ├── ImageGridActivity.java
│ │ │ ├── LoginActivity.java
│ │ │ ├── MainActivity.java
│ │ │ ├── MessageActivity.java
│ │ │ ├── PickPhotoActivity.java
│ │ │ ├── PreviewActivity.java
│ │ │ ├── PreviewTextActivity.java
│ │ │ ├── SearchActivity.java
│ │ │ ├── SettingActivity.java
│ │ │ └── UserInfoActivity.java
│ │ ├── base
│ │ │ ├── TTBaseActivity.java
│ │ │ ├── TTBaseFragmentActivity.java
│ │ │ └── TTBaseFragment.java
│ │ ├── fragment
│ │ │ ├── ChatFragment.java
│ │ │ ├── ContactFragment.java
│ │ │ ├── GroupManagerFragment.java
│ │ │ ├── GroupMemberSelectFragment.java
│ │ │ ├── InternalFragment.java
│ │ │ ├── MainFragment.java
│ │ │ ├── MyFragment.java
│ │ │ ├── SearchFragment.java
│ │ │ ├── SettingFragment.java
│ │ │ └── UserInfoFragment.java
│ │ ├── tools
│ │ │ ├── BubbleImageHelper.java
│ │ │ ├── DisplayBitmapCache.java
│ │ │ ├── Emoparser.java
│ │ │ ├── ImageTool.java
│ │ │ ├── MessageBitmapCache.java
│ │ │ └── PhotoHandler.java
│ │ └── utils
│ │ ├── EntityList.java
│ │ ├── IMContactListViewHelper.java
│ │ ├── IMGroupMemberGridViewHelper.java
│ │ ├── IMServiceHelper.java
│ │ └── Md5Helper.java
│ ├── utils
│ │ ├── CharacterParser.java
│ │ ├── CommonUtil.java
│ │ ├── ContactUtils.java
│ │ ├── DateUtil.java
│ │ ├── FileUtil.java
│ │ ├── MessageSplitResult.java
│ │ ├── MsgIdToPositionMap.java
│ │ ├── NetworkUtil.java
│ │ ├── pinyin
│ │ │ ├── HanziToPinyin3.java
│ │ │ └── PinYin.java
│ │ ├── SequenceNumberMaker.java
│ │ ├── SortComparator.java
│ │ └── StringUtil.java
│ └── widget
│ ├── CustomViewPager.java
│ ├── EmoGridView.java
│ ├── GroupManagerGridView.java
│ ├── MessageOperatePopup.java
│ ├── MGDialog.java
│ ├── MGProgressbar.java
│ ├── NaviTabButton.java
│ ├── PinkToast.java
│ ├── SearchEditText.java
│ ├── SortSideBar.java
│ ├── SpeekerToast.java
│ └── TopTabButton.java
├── mgimlibs
│ ├── AndroidManifest.xml
│ ├── libs
│ │ ├── android-support-v4.jar
│ │ └── okhttp-1.3.0-jar-with-dependencies.jar
│ ├── project.properties
│ ├── README
│ ├── res
│ │ ├── anim
│ │ │ ├── slide_in_from_bottom.xml
│ │ │ ├── slide_in_from_top.xml
│ │ │ ├── slide_out_to_bottom.xml
│ │ │ └── slide_out_to_top.xml
│ │ ├── drawable
│ │ │ ├── captcha_lib_image_layout_shape.xml
│ │ │ ├── indicator_bg_bottom.xml
│ │ │ ├── indicator_bg_top.xml
│ │ │ └── pull_to_refresh_indicator_bg.xml
│ │ ├── drawable-xhdpi
│ │ │ ├── default_ptr_flip.png
│ │ │ ├── default_ptr_rotate.png
│ │ │ ├── ic_launcher.png
│ │ │ ├── indicator_arrow.png
│ │ │ ├── pull_to_refresh_indicator.png
│ │ │ ├── shadow_bottom.png
│ │ │ ├── shadow_left.png
│ │ │ └── shadow_right.png
│ │ ├── layout
│ │ │ ├── picutre_borad.xml
│ │ │ ├── pull_refresh_scroll_view.xml
│ │ │ ├── pull_to_refresh_header_horizontal.xml
│ │ │ └── pull_to_refresh_header_vertical.xml
│ │ └── values
│ │ ├── lib_attrs.xml
│ │ ├── prs_dimens.xml
│ │ ├── prs_strings.xml
│ │ ├── prs_styles.xml
│ │ ├── ptr_attrs.xml
│ │ ├── ptr_dimens.xml
│ │ ├── ptr_ids.xml
│ │ ├── pull_refresh_strings.xml
│ │ └── strings.xml
│ └── src
│ └── com
│ ├── handmark
│ │ └── pulltorefresh
│ │ └── library
│ │ ├── extras
│ │ │ ├── PullToRefreshWebView2.java
│ │ │ └── SoundPullEventListener.java
│ │ ├── ILoadingLayout.java
│ │ ├── internal
│ │ │ ├── EmptyViewMethodAccessor.java
│ │ │ ├── FlipLoadingLayout.java
│ │ │ ├── IndicatorLayout.java
│ │ │ ├── LoadingLayout.java
│ │ │ ├── RotateLoadingLayout.java
│ │ │ ├── Utils.java
│ │ │ └── ViewCompat.java
│ │ ├── IPullToRefresh.java
│ │ ├── LoadingLayoutProxy.java
│ │ ├── OverscrollHelper.java
│ │ ├── PullToRefreshAdapterViewBase.java
│ │ ├── PullToRefreshBase.java
│ │ ├── PullToRefreshExpandableListView.java
│ │ ├── PullToRefreshGridView.java
│ │ ├── PullToRefreshHorizontalScrollView.java
│ │ ├── PullToRefreshListViewForNoneHeaderDivider.java
│ │ ├── PullToRefreshListView.java
│ │ ├── PullToRefreshScrollView.java
│ │ └── PullToRefreshWebView.java
│ ├── mogujie
│ │ ├── tools
│ │ │ ├── EncryptTools.java
│ │ │ ├── FileIOTools.java
│ │ │ ├── MGAutoUpdate.java
│ │ │ ├── MGJNotify.java
│ │ │ ├── MGJPictureRotationCaptchaView.java
│ │ │ ├── ScreenTools.java
│ │ │ ├── StringTools.java
│ │ │ ├── SysInfo.java
│ │ │ └── TimeTools.java
│ │ └── widget
│ │ └── imageview
│ │ ├── BitmapUtils.java
│ │ ├── CircleTransfrom.java
│ │ ├── FixedProportionImageView.java
│ │ ├── MGWebCircleImageView.java
│ │ ├── MGWebImageView.java
│ │ ├── MGWebImageViewWithCover.java
│ │ ├── MGWebImageviewWithFixRatio.java
│ │ ├── MGWebRoundCornerImageView.java
│ │ └── RoundedCornerTransfrom.java
│ ├── polites
│ │ └── android
│ │ ├── Animation.java
│ │ ├── Animator.java
│ │ ├── FlingAnimation.java
│ │ ├── FlingAnimationListener.java
│ │ ├── FlingListener.java
│ │ ├── GestureImageView.java
│ │ ├── GestureImageViewListener.java
│ │ ├── GestureImageViewTouchListener.java
│ │ ├── MathUtils.java
│ │ ├── MoveAnimation.java
│ │ ├── MoveAnimationListener.java
│ │ ├── VectorF.java
│ │ ├── ZoomAnimation.java
│ │ └── ZoomAnimationListener.java
│ └── squareup
│ └── picasso
│ ├── Action.java
│ ├── AssetBitmapHunter.java
│ ├── BitmapHunter.java
│ ├── Cache.java
│ ├── Callback.java
│ ├── ContactsPhotoBitmapHunter.java
│ ├── ContentProviderBitmapHunter.java
│ ├── ContentStreamBitmapHunter.java
│ ├── DeferredRequestCreator.java
│ ├── Dispatcher.java
│ ├── Downloader.java
│ ├── FetchAction.java
│ ├── FileBitmapHunter.java
│ ├── GetAction.java
│ ├── ImageViewAction.java
│ ├── LruCache.java
│ ├── MarkableInputStream.java
│ ├── MediaStoreBitmapHunter.java
│ ├── NetworkBitmapHunter.java
│ ├── OkHttpDownloader.java
│ ├── PicassoDrawable.java
│ ├── PicassoExecutorService.java
│ ├── Picasso.java
│ ├── RequestCreator.java
│ ├── Request.java
│ ├── ResourceBitmapHunter.java
│ ├── Stats.java
│ ├── StatsSnapshot.java
│ ├── TargetAction.java
│ ├── Target.java
│ ├── Transformation.java
│ ├── UrlConnectionDownloader.java
│ └── Utils.java
└── README.md
90 directories, 749 files
标签:
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论