├── .gitignore ├── .idea ├── .name ├── compiler.xml ├── copyright │ └── profiles_settings.xml ├── encodings.xml ├── gradle.xml ├── misc.xml ├── modules.xml ├── runConfigurations.xml └── vcs.xml ├── CollectionDemo.bak ├── MarkDown └── 更新日志.md ├── README.md ├── app ├── .gitignore ├── build.gradle ├── libs │ ├── Msc.jar │ ├── NlsClientSdk.jar │ ├── Sunflower.jar │ ├── bdasr_V3_20170801_60da871.jar │ └── jmessage-android_v2.1.1.jar ├── proguard-rules.pro └── src │ ├── androidTest │ └── java │ │ └── wapchief │ │ └── com │ │ └── collectiondemo │ │ └── ApplicationTest.java │ ├── main │ ├── AndroidManifest.xml │ ├── assets │ │ ├── give.json │ │ ├── iflytek │ │ │ ├── recognize.xml │ │ │ ├── voice_bg.9.png │ │ │ ├── voice_empty.png │ │ │ ├── voice_full.png │ │ │ ├── waiting.png │ │ │ └── warning.png │ │ ├── lottie.json │ │ ├── love.json │ │ ├── permission.json │ │ ├── rey_updated.json │ │ └── trail_loading.json │ ├── java │ │ └── wapchief │ │ │ └── com │ │ │ └── collectiondemo │ │ │ ├── MainActivity.java │ │ │ ├── activity │ │ │ ├── CloudTagActivity.java │ │ │ ├── ExpandableTextViewActivity.java │ │ │ ├── FlowLayoutActivity.java │ │ │ ├── GlidePicassoActivity.java │ │ │ ├── JPushDialogActivity.java │ │ │ ├── JPushIMActivity.java │ │ │ ├── KeyBoardActivity.java │ │ │ ├── LikeStarAnimationActivity.java │ │ │ ├── LottieAnimationActivity.java │ │ │ ├── MPChartActivity.java │ │ │ ├── MessageActivity.java │ │ │ ├── OkhttpRetrofitActivity.java │ │ │ ├── RecyclerViewActivity.java │ │ │ ├── RootActivity.java │ │ │ ├── SearchViewGreenDaoActivity.java │ │ │ ├── ShoppingCartActivity.java │ │ │ ├── SlidingUpMeiTuanActivity.java │ │ │ ├── TimerButtonActivity.java │ │ │ ├── UpdatePhotoActivity.java │ │ │ ├── VideoPlayerActivity.java │ │ │ └── Voice2TextActivity.java │ │ │ ├── adapter │ │ │ ├── CatListViceAdapter.java │ │ │ ├── ItemTVAdapter.java │ │ │ ├── RecyclerViewAdapter.java │ │ │ ├── SearchViewGreenDaoAdapter.java │ │ │ ├── ShopLeftAdapter.java │ │ │ └── ShopRightAdapter.java │ │ │ ├── bean │ │ │ ├── APi.java │ │ │ ├── AliVoice.java │ │ │ ├── BaiDuVoice.java │ │ │ ├── CatListViceBean.java │ │ │ ├── EmojiBean.java │ │ │ ├── FlowLayoutBean.java │ │ │ ├── JPushMessageBean.java │ │ │ ├── JPushModel.java │ │ │ ├── NewBeans.java │ │ │ ├── TModel.java │ │ │ └── VoiceAI.java │ │ │ ├── broadcase │ │ │ └── MyReceiver.java │ │ │ ├── controller │ │ │ └── MyRecognizer.java │ │ │ ├── customView │ │ │ ├── BoldTextView.java │ │ │ ├── DividItemDecoration.java │ │ │ ├── ExpandableTextView.java │ │ │ ├── MyAlertDialog.java │ │ │ ├── MyJZVideoPlayerStandard.java │ │ │ ├── MyListView.java │ │ │ ├── MyScrollView.java │ │ │ └── RollingViewFlipper.java │ │ │ ├── fragment │ │ │ ├── FragmentFactory.java │ │ │ └── GoodsListFragment.java │ │ │ ├── framework │ │ │ ├── BaseActivity.java │ │ │ ├── BaseApplication.java │ │ │ ├── BaseRecyclerViewAdapter.java │ │ │ ├── GreenDaoHelper.java │ │ │ ├── RecyclerViewHolder.java │ │ │ ├── callback │ │ │ │ └── BasicCallBack.java │ │ │ └── system │ │ │ │ ├── SystemBarTintManager.java │ │ │ │ ├── SystemStatusManager.java │ │ │ │ └── X_SystemBarUI.java │ │ │ ├── greendao │ │ │ ├── CarShopDao.java │ │ │ ├── DaoMaster.java │ │ │ ├── DaoSession.java │ │ │ ├── MessageDao.java │ │ │ ├── SQLiteOpenHelper.java │ │ │ ├── UserDao.java │ │ │ └── model │ │ │ │ ├── CarShop.java │ │ │ │ ├── Message.java │ │ │ │ └── User.java │ │ │ └── utils │ │ │ ├── JsonParser.java │ │ │ ├── ToastsUtils.java │ │ │ ├── UIUtils.java │ │ │ └── Url.java │ ├── jniLibs │ │ ├── arm64-v8a │ │ │ ├── libBaiduSpeechSDK.so │ │ │ ├── libbdEASRAndroid.so │ │ │ ├── libbd_easr_s1_merge_normal_20151216.dat.so │ │ │ ├── libglobal.cmvn.so │ │ │ ├── libjcore110.so │ │ │ ├── libmsc.so │ │ │ ├── libvad.dnn.so │ │ │ └── libztcodec2.so │ │ ├── armeabi-v7a │ │ │ ├── libBaiduSpeechSDK.so │ │ │ ├── libbdEASRAndroid.so │ │ │ ├── libbd_easr_s1_merge_normal_20151216.dat.so │ │ │ ├── libglobal.cmvn.so │ │ │ ├── libjcore110.so │ │ │ ├── libmsc.so │ │ │ ├── libvad.dnn.so │ │ │ └── libztcodec2.so │ │ ├── armeabi │ │ │ ├── libBaiduSpeechSDK.so │ │ │ ├── libbdEASRAndroid.so │ │ │ ├── libbd_easr_s1_merge_normal_20151216.dat.so │ │ │ ├── libglobal.cmvn.so │ │ │ ├── libjcore110.so │ │ │ ├── libmsc.so │ │ │ ├── libvad.dnn.so │ │ │ └── libztcodec2.so │ │ ├── mips │ │ │ ├── libjcore110.so │ │ │ └── libmsc.so │ │ ├── mips64 │ │ │ ├── libjcore110.so │ │ │ └── libmsc.so │ │ ├── x86 │ │ │ ├── libBaiduSpeechSDK.so │ │ │ ├── libbdEASRAndroid.so │ │ │ ├── libbd_easr_s1_merge_normal_20151216.dat.so │ │ │ ├── libglobal.cmvn.so │ │ │ ├── libjcore110.so │ │ │ ├── libmsc.so │ │ │ ├── libvad.dnn.so │ │ │ └── libztcodec2.so │ │ └── x86_64 │ │ │ ├── libBaiduSpeechSDK.so │ │ │ ├── libbdEASRAndroid.so │ │ │ ├── libbd_easr_s1_merge_normal_20151216.dat.so │ │ │ ├── libglobal.cmvn.so │ │ │ ├── libjcore110.so │ │ │ ├── libmsc.so │ │ │ └── libvad.dnn.so │ └── res │ │ ├── anim │ │ ├── anim_marquee_in.xml │ │ ├── anim_marquee_out.xml │ │ ├── bottom_in.xml │ │ └── bottom_out.xml │ │ ├── drawable-hdpi │ │ ├── bar_bg.png │ │ ├── border_bg.9.png │ │ ├── bottom_bg.9.png │ │ ├── corners_bg.xml │ │ ├── ic_android.png │ │ ├── ic_format_align_left.png │ │ ├── ic_launcher.png │ │ ├── ic_message.png │ │ ├── icon_viewfip_left.png │ │ ├── jpush_ic_richpush_actionbar_back.png │ │ ├── jpush_ic_richpush_actionbar_divider.png │ │ ├── jpush_notification_icon.png │ │ ├── jpush_richpush_btn_selector.xml │ │ ├── jpush_richpush_progressbar.xml │ │ ├── richpush_btn_selector.xml │ │ ├── richpush_progressbar.xml │ │ ├── stripes.png │ │ ├── tiledstripes.xml │ │ └── top_bg.9.png │ │ ├── drawable-ldpi │ │ └── ic_launcher.png │ │ ├── drawable-mdpi │ │ ├── ic_android.png │ │ ├── ic_format_align_left.png │ │ └── ic_launcher.png │ │ ├── drawable-xhdpi │ │ ├── ic_android.png │ │ ├── ic_format_align_left.png │ │ └── ic_launcher.png │ │ ├── drawable-xxhdpi │ │ ├── ic_android.png │ │ ├── ic_format_align_left.png │ │ ├── icon_live_home_arrow.png │ │ └── icon_live_home_below.png │ │ ├── drawable-xxxhdpi │ │ ├── ic_android.png │ │ └── ic_format_align_left.png │ │ ├── drawable │ │ ├── back_top_icon.png │ │ ├── bg_black_shape.xml │ │ ├── button_shape.xml │ │ ├── dialog_shape.xml │ │ ├── fade_red.xml │ │ ├── flowlayout_shap.xml │ │ ├── item_viewfip_shape.xml │ │ └── shape_search.xml │ │ ├── layout │ │ ├── activity_chart.xml │ │ ├── activity_cloudtag.xml │ │ ├── activity_expandable.xml │ │ ├── activity_keyboard.xml │ │ ├── activity_like_star.xml │ │ ├── activity_lottie_animation.xml │ │ ├── activity_main.xml │ │ ├── activity_meituan.xml │ │ ├── activity_message.xml │ │ ├── activity_shoppingcart.xml │ │ ├── activity_timer.xml │ │ ├── activity_video.xml │ │ ├── activity_voice2text.xml │ │ ├── customer_notitfication_layout.xml │ │ ├── customer_notitfication_layout_one.xml │ │ ├── dialog_jpush_message.xml │ │ ├── fragment_goodslist.xml │ │ ├── glide.xml │ │ ├── httptest.xml │ │ ├── item_carlist_vice.xml │ │ ├── item_foot.xml │ │ ├── item_shoplist_right.xml │ │ ├── item_textview.xml │ │ ├── item_viewflipper.xml │ │ ├── jpush_im_register.xml │ │ ├── jpush_popwin_layout.xml │ │ ├── jpush_webview_layout.xml │ │ ├── main.xml │ │ ├── push_set_dialog.xml │ │ ├── recycler_view.xml │ │ ├── recycler_view_item.xml │ │ ├── search_greendao.xml │ │ ├── search_page.xml │ │ ├── search_page_flowlayout_tv.xml │ │ ├── service_window.xml │ │ ├── set_push_time.xml │ │ ├── shop_carlist_vice.xml │ │ ├── show_head_dialog.xml │ │ ├── side_bar_main.xml │ │ ├── title_bar.xml │ │ ├── title_bottom.xml │ │ ├── title_show.xml │ │ └── update_photo.xml │ │ ├── menu │ │ └── side_bar_main_meun.xml │ │ ├── mipmap-hdpi │ │ ├── ic_launcher.png │ │ ├── img_none.jpg │ │ └── loading.png │ │ ├── mipmap-mdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xhdpi │ │ ├── add.png │ │ ├── car.png │ │ ├── ic_launcher.png │ │ └── jian.png │ │ ├── mipmap-xxhdpi │ │ └── ic_launcher.png │ │ ├── mipmap-xxxhdpi │ │ └── ic_launcher.png │ │ ├── values-w820dp │ │ └── dimens.xml │ │ ├── values-zh │ │ ├── strings.xml │ │ └── style.xml │ │ ├── values │ │ ├── attrs.xml │ │ ├── colors.xml │ │ ├── dimens.xml │ │ ├── ids.xml │ │ ├── jpush_style.xml │ │ ├── strings.xml │ │ ├── style.xml │ │ └── styles.xml │ │ └── xml │ │ └── provider_paths.xml │ └── test │ └── java │ └── wapchief │ └── com │ └── collectiondemo │ └── ExampleUnitTest.java ├── build.gradle ├── gradle.properties ├── gradle └── wrapper │ ├── gradle-wrapper.jar │ └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat ├── screenshot └── device-2017-11-17-151731.png └── settings.gradle /.gitignore: -------------------------------------------------------------------------------- 1 | *.iml 2 | .gradle 3 | /local.properties 4 | /.idea/workspace.xml 5 | /.idea/libraries 6 | .DS_Store 7 | /build 8 | /captures 9 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | CollectionDemo -------------------------------------------------------------------------------- /.idea/compiler.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /.idea/copyright/profiles_settings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /.idea/encodings.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /.idea/gradle.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 22 | 23 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 19 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 46 | 47 | 48 | 49 | 50 | 1.8 51 | 52 | 57 | 58 | 59 | 60 | 61 | 62 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /.idea/runConfigurations.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /CollectionDemo.bak: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | -------------------------------------------------------------------------------- /MarkDown/更新日志.md: -------------------------------------------------------------------------------- 1 | 2017年10月10日 2 | > 集成讯飞智能语音 3 | 4 | 2017年9月 5 | > 购物车demo,仿微信键盘,VideoPlay播放器控件 6 | 7 | 2017年08月28日 8 | > 新增Lottie动画库 9 | 10 | 2017年7月17日 11 | > 增加按钮倒计时TimerActivity 12 | 13 | 2017年7月7日 14 | > 首页入口修改为ListActivity、GreenDao数据库升级 15 | 16 | 2017年6月29日 17 | > 仿美团配送折叠 18 | 19 | 2017年6月12日 20 | > ViewFlipper实现仿淘宝轮播 21 | >给RecyclerView添加header 22 | 23 | 2017年5月26日 24 | > 加入状态栏的修改,可自定义颜色 25 | > 使用说明: 26 | > 1、在Activity根下加入: android:fitsSystemWindows="true" 27 | > 2、onCreate加入:new SystemStatusManager(this).setTranslucentStatus(R.color.colorPrimary); 28 | > 如果有黑线在APPTheme加入:@null 29 | 30 | 2017年5月11日 31 | > 消息缓存至本地功能,使用了GreenDao,和极光推送 32 | 33 | 34 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 集合了多个开源框架所编译的Demo 2 | 3 | Androidx 版本请使用新分支。已做迁移 4 | 5 | 下载APK: 6 | 7 | [![Crates.io](https://img.shields.io/badge/downloads-APK-blue.svg)](https://fir.im/jy28) 8 | 9 | 10 | 更新日志: 11 | 12 | [![](https://img.shields.io/badge/Project-%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97-blue.svg)](https://github.com/wapchief/android-CollectionDemo/blob/master/MarkDown/%E6%9B%B4%E6%96%B0%E6%97%A5%E5%BF%97.md) 13 | 14 | 联系方式:[![alt text](http://rescdn.qqmail.com/zh_CN/htmledition/images/function/qm_open/ico_mailme_02.png)](http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=zLutvK_kpamqjL294q_joQ) 15 | 16 | 或者可以通过简书私信我 17 | 18 | 19 | ![](https://github.com/wapchief/android-CollectionDemo/blob/master/screenshot/device-2017-11-17-151731.png?raw=true) 20 | 21 | 22 | 23 | __所有页面均使用ButterKnife绑定View。相关教程发表在简书。__ 24 | 25 | > 26 | > 27 | > * [使用SwipeRefreshLayout实现下拉刷新,上拉加载数据.内部嵌套RecyclerView替换ListView实现](http://www.jianshu.com/p/68777233c6db) 28 | > 29 | > * [使用ButterKnife+Zelezny快速创建View对象并绑定控件](http://www.jianshu.com/p/563dbfae567e) 30 | > 31 | > * [使用GsonFormat插件快速完成实体Bean的创建](http://blog.csdn.net/wapchief/article/details/52624363) 32 | > 33 | > * [使用RecyclerView滑动时设置标题栏渐变或隐藏效果](http://www.jianshu.com/p/1999b217b90f) 34 | > 35 | > * [一行代码搞定使用LinearLayoutManager一键返回顶部](http://www.jianshu.com/p/e9778888d1c3) 36 | > 37 | > * [FlowLayout流式布局实现标签、类似热门搜索这种效果](http://www.jianshu.com/p/caba209e7c51) 38 | > 39 | > * [关于JPush极光推送的基本用法和通知介绍](http://www.jianshu.com/p/17daba78454e) 40 | > 41 | > * [GreenDao+SearchView+FlowLoyout实现搜索历史和热门搜索](http://www.jianshu.com/p/4593f963d0fe) 42 | > 43 | > * [一款非常好用的动画库Lottie](http://www.jianshu.com/p/86b1103db051) 44 | -------------------------------------------------------------------------------- /app/.gitignore: -------------------------------------------------------------------------------- 1 | /build 2 | -------------------------------------------------------------------------------- /app/libs/Msc.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/libs/Msc.jar -------------------------------------------------------------------------------- /app/libs/NlsClientSdk.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/libs/NlsClientSdk.jar -------------------------------------------------------------------------------- /app/libs/Sunflower.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/libs/Sunflower.jar -------------------------------------------------------------------------------- /app/libs/bdasr_V3_20170801_60da871.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/libs/bdasr_V3_20170801_60da871.jar -------------------------------------------------------------------------------- /app/libs/jmessage-android_v2.1.1.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/libs/jmessage-android_v2.1.1.jar -------------------------------------------------------------------------------- /app/proguard-rules.pro: -------------------------------------------------------------------------------- 1 | # Add project specific ProGuard rules here. 2 | # By default, the flags in this file are appended to flags specified 3 | # in D:\kaifagongju\android-sdk-windows/tools/proguard/proguard-android.txt 4 | # You can edit the include path and order by changing the proguardFiles 5 | # directive in build.gradle. 6 | # 7 | # For more details, see 8 | # http://developer.android.com/guide/developing/tools/proguard.html 9 | 10 | # Add any project specific keep options here: 11 | 12 | # If your project uses WebView with JS, uncomment the following 13 | # and specify the fully qualified class name to the JavaScript interface 14 | # class: 15 | #-keepclassmembers class fqcn.of.javascript.interface.for.webview { 16 | # public *; 17 | #} 18 | -------------------------------------------------------------------------------- /app/src/androidTest/java/wapchief/com/collectiondemo/ApplicationTest.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo; 2 | 3 | import android.app.Application; 4 | import android.test.ApplicationTestCase; 5 | 6 | /** 7 | * Testing Fundamentals 8 | */ 9 | public class ApplicationTest extends ApplicationTestCase { 10 | public ApplicationTest() { 11 | super(Application.class); 12 | } 13 | } -------------------------------------------------------------------------------- /app/src/main/assets/iflytek/recognize.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/assets/iflytek/recognize.xml -------------------------------------------------------------------------------- /app/src/main/assets/iflytek/voice_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/assets/iflytek/voice_bg.9.png -------------------------------------------------------------------------------- /app/src/main/assets/iflytek/voice_empty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/assets/iflytek/voice_empty.png -------------------------------------------------------------------------------- /app/src/main/assets/iflytek/voice_full.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/assets/iflytek/voice_full.png -------------------------------------------------------------------------------- /app/src/main/assets/iflytek/waiting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/assets/iflytek/waiting.png -------------------------------------------------------------------------------- /app/src/main/assets/iflytek/warning.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/assets/iflytek/warning.png -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/activity/CloudTagActivity.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.activity; 2 | 3 | import android.content.Context; 4 | import android.os.Bundle; 5 | import android.support.annotation.Nullable; 6 | import android.util.AttributeSet; 7 | import android.view.View; 8 | 9 | import wapchief.com.collectiondemo.R; 10 | import wapchief.com.collectiondemo.framework.BaseActivity; 11 | 12 | /** 13 | * Created by wapchief on 2017/11/2. 14 | */ 15 | 16 | public class CloudTagActivity extends BaseActivity{ 17 | 18 | @Override 19 | protected void onCreate(@Nullable Bundle savedInstanceState) { 20 | super.onCreate(savedInstanceState); 21 | setContentView(R.layout.activity_cloudtag); 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/activity/ExpandableTextViewActivity.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.activity; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.text.TextPaint; 6 | import android.view.View; 7 | import android.widget.Button; 8 | import android.widget.ImageButton; 9 | import android.widget.TextView; 10 | 11 | import butterknife.BindView; 12 | import butterknife.ButterKnife; 13 | import butterknife.OnClick; 14 | import wapchief.com.collectiondemo.R; 15 | import wapchief.com.collectiondemo.customView.ExpandableTextView; 16 | import wapchief.com.collectiondemo.framework.BaseActivity; 17 | 18 | /** 19 | * @author wapchief 20 | * @date 2018/5/29 21 | */ 22 | 23 | public class ExpandableTextViewActivity extends BaseActivity { 24 | 25 | // @BindView(R.id.expandable_text) 26 | // TextView mExpandableText; 27 | // @BindView(R.id.expand_collapse) 28 | // ImageButton mExpandCollapse; 29 | String mString = "测试测试测试测试测试测试"; 30 | String mString2 = "测试1测试1测试1测试1测试1测试,测试试1测试1测试1测试1测试测试1测试1测试1测试1测试1测试测试1测试1测试1测试1测试1测试"; 31 | @BindView(R.id.bt1) 32 | Button mBt1; 33 | @BindView(R.id.bt2) 34 | Button mBt2; 35 | @BindView(R.id.expand_collapse) 36 | ImageButton mExpandCollapse; 37 | @BindView(R.id.expand_text_view) 38 | ExpandableTextView mExpandTextView; 39 | @BindView(R.id.tv_bold) 40 | TextView mTvBold; 41 | @BindView(R.id.tv_bolds) 42 | TextView mTvBolds; 43 | 44 | @Override 45 | protected void onCreate(@Nullable Bundle savedInstanceState) { 46 | super.onCreate(savedInstanceState); 47 | setContentView(R.layout.activity_expandable); 48 | ButterKnife.bind(this); 49 | initView(); 50 | } 51 | 52 | private void initView() { 53 | mExpandTextView.setText(mString2); 54 | // mExpandTextView2.setText(mString); 55 | 56 | TextPaint tp = mTvBold .getPaint(); 57 | TextPaint tp2 = mTvBolds .getPaint(); 58 | tp.setFakeBoldText(true); 59 | tp2.setFakeBoldText(true); 60 | tp2.setStrokeWidth(8); 61 | } 62 | 63 | @OnClick({R.id.bt1, R.id.bt2}) 64 | public void onViewClicked(View view) { 65 | switch (view.getId()) { 66 | case R.id.bt1: 67 | mExpandTextView.setText(mString2); 68 | // mExpandTextView2.setText(mString2); 69 | break; 70 | case R.id.bt2: 71 | mExpandTextView.setText(mString); 72 | // mExpandTextView2.setText(mString); 73 | break; 74 | } 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/activity/GlidePicassoActivity.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.activity; 2 | 3 | import android.app.Application; 4 | import android.graphics.Color; 5 | import android.net.Uri; 6 | import android.os.Build; 7 | import android.os.Bundle; 8 | import android.support.annotation.Nullable; 9 | import android.support.v7.app.AppCompatActivity; 10 | import android.view.View; 11 | import android.view.Window; 12 | import android.view.WindowManager; 13 | import android.widget.Button; 14 | import android.widget.ImageView; 15 | 16 | import com.bumptech.glide.Glide; 17 | import com.squareup.picasso.Picasso; 18 | 19 | import butterknife.BindView; 20 | import butterknife.ButterKnife; 21 | import butterknife.OnClick; 22 | import wapchief.com.collectiondemo.R; 23 | import wapchief.com.collectiondemo.framework.system.X_SystemBarUI; 24 | 25 | /** 26 | * Created by Wu on 2017/2/20 0020 下午 3:06. 27 | * 描述:图片缓存 28 | */ 29 | public class GlidePicassoActivity extends AppCompatActivity { 30 | @BindView(R.id.img_glide) 31 | ImageView imgGlide; 32 | @BindView(R.id.glide_bt) 33 | Button glideBt; 34 | @BindView(R.id.picasso_bt) 35 | Button picassoBt; 36 | 37 | String url = "https://www.mypsy365.com/files/default/2017/09-25/10323536e637083862.jpg"; 38 | String url2 = "https://preview.mypsy365.com/files/default/2017/11-05/224031fa5738864468.jpeg"; 39 | Uri ur = Uri.parse(url); 40 | Uri ur2 = Uri.parse(url2); 41 | @BindView(R.id.clean_bt) 42 | Button cleanBt; 43 | 44 | @Override 45 | protected void onCreate(@Nullable Bundle savedInstanceState) { 46 | super.onCreate(savedInstanceState); 47 | getWindow().requestFeature(Window.FEATURE_NO_TITLE); 48 | if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 49 | Window window = getWindow(); 50 | window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS 51 | | WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION); 52 | window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 53 | | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION 54 | | View.SYSTEM_UI_FLAG_LAYOUT_STABLE); 55 | window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); 56 | window.setStatusBarColor(Color.TRANSPARENT); 57 | window.setNavigationBarColor(Color.TRANSPARENT); 58 | } 59 | setContentView(R.layout.glide); 60 | ButterKnife.bind(this); 61 | initglide(); 62 | 63 | 64 | } 65 | 66 | private void initglide() { 67 | Glide.with(this) 68 | .load(url) 69 | .asBitmap() 70 | .thumbnail(0.2f) 71 | .into(imgGlide); 72 | } 73 | 74 | private void initpicasso() { 75 | Picasso.with(this) 76 | .load(url2) 77 | .into(imgGlide); 78 | } 79 | 80 | private void cleanImg() { 81 | // Picasso.with(this) 82 | // .invalidate(ur); 83 | // Picasso.with(this) 84 | // .invalidate(ur2); 85 | Glide.get(this).clearMemory(); 86 | Glide.get(this).clearDiskCache(); 87 | } 88 | 89 | 90 | @OnClick({R.id.glide_bt, R.id.picasso_bt,R.id.clean_bt}) 91 | public void onClick(View view) { 92 | switch (view.getId()) { 93 | case R.id.glide_bt: 94 | initglide(); 95 | break; 96 | case R.id.picasso_bt: 97 | initpicasso(); 98 | break; 99 | case R.id.clean_bt: 100 | // cleanImg(); 101 | break; 102 | } 103 | } 104 | 105 | } 106 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/activity/LikeStarAnimationActivity.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.activity; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.widget.ImageView; 6 | 7 | import com.wapchief.likestarlibrary.like.TCHeartLayout; 8 | import com.wapchief.likestarlibrary.like.TCHeartView; 9 | 10 | import butterknife.BindView; 11 | import butterknife.ButterKnife; 12 | import butterknife.OnClick; 13 | import wapchief.com.collectiondemo.R; 14 | import wapchief.com.collectiondemo.framework.BaseActivity; 15 | 16 | /** 17 | * @author wapchief 18 | * @date 2018/3/27 19 | */ 20 | 21 | public class LikeStarAnimationActivity extends BaseActivity { 22 | 23 | @BindView(R.id.heart_layout) 24 | TCHeartLayout mHeartLayout; 25 | @BindView(R.id.btn_like) 26 | ImageView mBtnLike; 27 | 28 | @Override 29 | protected void onCreate(@Nullable Bundle savedInstanceState) { 30 | super.onCreate(savedInstanceState); 31 | setContentView(R.layout.activity_like_star); 32 | ButterKnife.bind(this); 33 | } 34 | 35 | @OnClick(R.id.btn_like) 36 | public void onViewClicked() { 37 | mHeartLayout.addFavor(); 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/activity/MessageActivity.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.activity; 2 | 3 | import android.content.Context; 4 | import android.content.Intent; 5 | import android.database.sqlite.SQLiteDatabase; 6 | import android.os.Bundle; 7 | import android.support.annotation.Nullable; 8 | import android.support.v7.app.AppCompatActivity; 9 | import android.widget.ImageView; 10 | import android.widget.ListView; 11 | 12 | import java.util.Collections; 13 | import java.util.List; 14 | 15 | import butterknife.BindView; 16 | import butterknife.ButterKnife; 17 | import butterknife.OnClick; 18 | import wapchief.com.collectiondemo.R; 19 | import wapchief.com.collectiondemo.adapter.ItemTVAdapter; 20 | import wapchief.com.collectiondemo.framework.BaseApplication; 21 | import wapchief.com.collectiondemo.greendao.DaoMaster; 22 | import wapchief.com.collectiondemo.greendao.DaoSession; 23 | import wapchief.com.collectiondemo.greendao.MessageDao; 24 | import wapchief.com.collectiondemo.greendao.model.Message; 25 | 26 | /** 27 | * Created by Wu on 2017/5/10 0010 下午 1:30. 28 | * 描述:消息列表 29 | */ 30 | public class MessageActivity extends AppCompatActivity { 31 | 32 | @BindView(R.id.message_lv) 33 | ListView messageLv; 34 | @BindView(R.id.message_back) 35 | ImageView mMessageBack; 36 | private ItemTVAdapter adapter; 37 | private List list; 38 | MessageDao messageDao; 39 | Context context; 40 | 41 | @Override 42 | protected void onCreate(@Nullable Bundle savedInstanceState) { 43 | super.onCreate(savedInstanceState); 44 | setContentView(R.layout.activity_message); 45 | ButterKnife.bind(this); 46 | context = MessageActivity.this; 47 | initDbHelp(); 48 | initview(); 49 | 50 | } 51 | 52 | private void initview() { 53 | //查询所有 54 | list = messageDao.queryBuilder().list(); 55 | //list倒序排列 56 | Collections.reverse(list); 57 | adapter = new ItemTVAdapter(context, list); 58 | messageLv.setAdapter(adapter); 59 | adapter.notifyDataSetChanged(); 60 | 61 | } 62 | 63 | /*初始化数据库相关*/ 64 | private void initDbHelp() { 65 | DaoMaster.DevOpenHelper helper = new DaoMaster.DevOpenHelper(BaseApplication.mBaseApplication, "recluse-db", null); 66 | SQLiteDatabase db = helper.getWritableDatabase(); 67 | DaoMaster daoMaster = new DaoMaster(db); 68 | DaoSession daoSession = daoMaster.newSession(); 69 | messageDao = daoSession.getMessageDao(); 70 | } 71 | 72 | @OnClick(R.id.message_back) 73 | public void onViewClicked() { 74 | startActivity(new Intent(MessageActivity.this,RootActivity.class)); 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/activity/SlidingUpMeiTuanActivity.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.activity; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.support.v7.app.AppCompatActivity; 6 | 7 | import wapchief.com.collectiondemo.R; 8 | 9 | /** 10 | * Created by apple on 2017/6/29. 11 | */ 12 | 13 | public class SlidingUpMeiTuanActivity extends AppCompatActivity{ 14 | 15 | @Override 16 | protected void onCreate(@Nullable Bundle savedInstanceState) { 17 | super.onCreate(savedInstanceState); 18 | setContentView(R.layout.activity_meituan); 19 | } 20 | 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/activity/VideoPlayerActivity.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.activity; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | 6 | import butterknife.BindView; 7 | import butterknife.ButterKnife; 8 | import cn.jzvd.JZVideoPlayer; 9 | import cn.jzvd.JZVideoPlayerStandard; 10 | import wapchief.com.collectiondemo.R; 11 | import wapchief.com.collectiondemo.framework.BaseActivity; 12 | 13 | /** 14 | * Created by wapchief on 2017/9/30. 15 | */ 16 | 17 | public class VideoPlayerActivity extends BaseActivity { 18 | 19 | @BindView(R.id.video_player) 20 | JZVideoPlayerStandard mVideoPlayer; 21 | 22 | @Override 23 | protected void onCreate(@Nullable Bundle savedInstanceState) { 24 | super.onCreate(savedInstanceState); 25 | setContentView(R.layout.activity_video); 26 | ButterKnife.bind(this); 27 | initView(); 28 | } 29 | 30 | private void initView() { 31 | mVideoPlayer.setUp("http://jzvd.nathen.cn/c6e3dc12a1154626b3476d9bf3bd7266/6b56c5f0dc31428083757a45764763b0-5287d2089db37e62345123a1be272f8b.mp4" 32 | , JZVideoPlayerStandard.SCREEN_LAYOUT_NORMAL, "mv"); 33 | mVideoPlayer.thumbImageView.setImageDrawable(getResources().getDrawable(R.drawable.bar_bg)); 34 | } 35 | 36 | @Override 37 | public void onBackPressed() { 38 | if (JZVideoPlayer.backPress()) { 39 | return; 40 | } 41 | super.onBackPressed(); 42 | } 43 | 44 | @Override 45 | protected void onPause() { 46 | super.onPause(); 47 | JZVideoPlayer.releaseAllVideos(); 48 | } 49 | } 50 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/adapter/ItemTVAdapter.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.adapter; 2 | 3 | import android.content.Context; 4 | import android.view.LayoutInflater; 5 | import android.view.View; 6 | import android.view.ViewGroup; 7 | import android.widget.BaseAdapter; 8 | import android.widget.TextView; 9 | 10 | import java.util.List; 11 | 12 | import butterknife.ButterKnife; 13 | import wapchief.com.collectiondemo.R; 14 | import wapchief.com.collectiondemo.bean.JPushMessageBean; 15 | import wapchief.com.collectiondemo.greendao.model.Message; 16 | import wapchief.com.collectiondemo.greendao.model.User; 17 | 18 | /** 19 | * Created by Wu on 2017/5/10 0010 下午 3:52. 20 | * 描述: 21 | */ 22 | public class ItemTVAdapter extends BaseAdapter { 23 | Context context; 24 | List list; 25 | 26 | public ItemTVAdapter(Context context, List list) { 27 | this.context = context; 28 | this.list = list; 29 | } 30 | 31 | @Override 32 | public int getCount() { 33 | return list.size(); 34 | } 35 | 36 | @Override 37 | public Object getItem(int position) { 38 | return list.get(position); 39 | } 40 | 41 | @Override 42 | public long getItemId(int position) { 43 | return position; 44 | } 45 | 46 | @Override 47 | public View getView(int position, View convertView, ViewGroup parent) { 48 | final Message tv = (Message) getItem(position); 49 | ViewHolder vh = null; 50 | if(convertView == null){ 51 | convertView = View.inflate(context, R.layout.item_textview, null); 52 | vh = new ViewHolder(); 53 | vh.item_tv = (TextView) convertView.findViewById(R.id.item_textview); 54 | vh.item_title = (TextView) convertView.findViewById(R.id.item_title); 55 | convertView.setTag(vh); 56 | }else{ 57 | vh = (ViewHolder) convertView.getTag(); 58 | } 59 | vh.item_tv.setText(tv.getContent()); 60 | vh.item_title.setText(tv.getTitle()); 61 | return convertView; 62 | } 63 | class ViewHolder{ 64 | TextView item_tv,item_title; 65 | } 66 | } -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/adapter/SearchViewGreenDaoAdapter.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.adapter; 2 | 3 | import android.content.Context; 4 | import android.view.LayoutInflater; 5 | import android.view.View; 6 | import android.view.ViewGroup; 7 | import android.widget.BaseAdapter; 8 | import android.widget.TextView; 9 | import android.widget.Toast; 10 | 11 | import java.util.List; 12 | 13 | import wapchief.com.collectiondemo.R; 14 | import wapchief.com.collectiondemo.greendao.model.User; 15 | 16 | /** 17 | * Created by Wu on 2017/4/28 0028 上午 9:40. 18 | * 描述: 19 | */ 20 | public class SearchViewGreenDaoAdapter extends BaseAdapter{ 21 | private Context context; 22 | private List list; 23 | 24 | public SearchViewGreenDaoAdapter(Context context, List list) { 25 | this.context = context; 26 | this.list=list; 27 | } 28 | 29 | @Override 30 | public int getCount() { 31 | return list.size(); 32 | } 33 | 34 | @Override 35 | public Object getItem(int position) { 36 | return list.get(position); 37 | } 38 | 39 | @Override 40 | public long getItemId(int position) { 41 | return position; 42 | } 43 | 44 | @Override 45 | public View getView(int position, View convertView, ViewGroup parent) { 46 | final User tv = (User) getItem(position); 47 | ViewHolder viewHolder; 48 | if (convertView == null) { 49 | convertView = LayoutInflater.from(context).inflate(R.layout.search_page_flowlayout_tv, null); 50 | viewHolder = new ViewHolder(); 51 | viewHolder.flowlayout_tv = (TextView) convertView.findViewById(R.id.flowlayout_tv); 52 | viewHolder.flowlayout_tv.setOnClickListener(new View.OnClickListener() { 53 | @Override 54 | public void onClick(View v) { 55 | Toast.makeText(context,tv.getName()+"",Toast.LENGTH_SHORT).show(); 56 | } 57 | }); 58 | convertView.setTag(viewHolder); 59 | } else { 60 | viewHolder = (ViewHolder) convertView.getTag(); 61 | } 62 | viewHolder.flowlayout_tv.setText(tv.getName()); 63 | 64 | return convertView; 65 | } 66 | 67 | //创建ViewHolder类 68 | class ViewHolder { 69 | TextView flowlayout_tv; 70 | 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/adapter/ShopLeftAdapter.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.adapter; 2 | 3 | import android.content.Context; 4 | import android.view.View; 5 | import android.view.ViewGroup; 6 | import android.widget.BaseAdapter; 7 | import android.widget.TextView; 8 | 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | 12 | import wapchief.com.collectiondemo.R; 13 | 14 | 15 | public class ShopLeftAdapter extends BaseAdapter { 16 | private Context context; 17 | private List list; 18 | 19 | public ShopLeftAdapter(Context context, List newList) { 20 | super(); 21 | this.context = context; 22 | if (null != list && list.size() > 0) { 23 | this.list = newList; 24 | } else { 25 | list = new ArrayList(); 26 | } 27 | } 28 | 29 | public void addList(List newList){ 30 | if(null != newList && newList.size()>0){ 31 | list.addAll(newList); 32 | notifyDataSetChanged(); 33 | } 34 | } 35 | /* 36 | * 37 | */ 38 | @Override 39 | public int getCount() { 40 | if(null != list && list.size()>0){ 41 | return list.size(); 42 | } 43 | return 0; 44 | } 45 | 46 | /* 47 | * 48 | */ 49 | @Override 50 | public Object getItem(int position) { 51 | // TODO Auto-generated method stub 52 | return list.get(position); 53 | } 54 | 55 | /* 56 | * 57 | */ 58 | @Override 59 | public long getItemId(int position) { 60 | // TODO Auto-generated method stub 61 | return position; 62 | } 63 | 64 | /* 65 | * 66 | */ 67 | @Override 68 | public View getView(int position, View convertView, ViewGroup parent) { 69 | ViewHolder vh = null; 70 | if(convertView == null){ 71 | convertView = View.inflate(context, R.layout.item_textview, null); 72 | vh = new ViewHolder(); 73 | vh.tv1 = (TextView) convertView.findViewById(R.id.item_title); 74 | vh.tv1.setVisibility(View.GONE); 75 | vh.tv2 = (TextView) convertView.findViewById(R.id.item_textview); 76 | 77 | convertView.setTag(vh); 78 | }else{ 79 | vh = (ViewHolder) convertView.getTag(); 80 | } 81 | vh.tv1.setText(list.get(position)); 82 | vh.tv1.setTag(position); 83 | return convertView; 84 | } 85 | public class ViewHolder{ 86 | TextView tv1,tv2; 87 | } 88 | 89 | } 90 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/bean/APi.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.bean; 2 | 3 | 4 | import retrofit2.Call; 5 | import retrofit2.Response; 6 | import retrofit2.http.GET; 7 | import retrofit2.http.POST; 8 | import retrofit2.http.Query; 9 | import rx.Observable; 10 | 11 | /** 12 | * Created by WuBing on 2017/1/6 0006 下午 1:50. 13 | * 描述: 14 | */ 15 | public interface APi { 16 | // http://apis.juhe.cn/mobile/get?phone=13429667914&key=6e1ce94fe231e817fb31daec3b3084d0 17 | @GET("mobile/get?phone=13429667914&key=6e1ce94fe231e817fb31daec3b3084d0") 18 | Call getPhone(@Query("phone") String phone); 19 | 20 | @POST("mobile/get?phone=13429667914&key=6e1ce94fe231e817fb31daec3b3084d0") 21 | Call postPhone(@Query("phone") String phone); 22 | 23 | @GET("mobile/get?phone=13429667914&key=6e1ce94fe231e817fb31daec3b3084d0") 24 | Observable postRxPhone(@Query("phone") String phone); 25 | } 26 | 27 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/bean/AliVoice.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.bean; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by wapchief on 2017/10/17. 7 | */ 8 | 9 | public class AliVoice { 10 | 11 | /** 12 | * result : 大理语音保存 13 | * uid : c56615cdbeba43c5a721ff79197b6768 14 | * confidence : 1 15 | * finish : 1 16 | * version : 4.0 17 | * nbest : [{"result":"大理语音保存","lexical":"大理 语音 保存","confidence":1}] 18 | * status : 1 19 | */ 20 | 21 | public String result; 22 | public String uid; 23 | public int confidence; 24 | public int finish; 25 | public String version; 26 | public int status; 27 | public List nbest; 28 | 29 | public static class NbestBean { 30 | /** 31 | * result : 大理语音保存 32 | * lexical : 大理 语音 保存 33 | * confidence : 1 34 | */ 35 | 36 | public String result; 37 | public String lexical; 38 | public int confidence; 39 | } 40 | } 41 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/bean/BaiDuVoice.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.bean; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by wapchief on 2017/10/12. 7 | */ 8 | 9 | public class BaiDuVoice { 10 | 11 | /** 12 | * results_recognition : ["语音识别"] 13 | * origin_result : {"corpus_no":6475907806490892620,"err_no":0,"result":{"word":["语音识别"]},"sn":"c006252d-2993-4982-a363-2628053181cc_s-0"} 14 | * error : 0 15 | * best_result : 语音识别 16 | * result_type : final_result 17 | */ 18 | 19 | public OriginResultBean origin_result; 20 | public int error; 21 | public String best_result; 22 | public String result_type; 23 | public List results_recognition; 24 | 25 | public static class OriginResultBean { 26 | /** 27 | * corpus_no : 6475907806490892620 28 | * err_no : 0 29 | * result : {"word":["语音识别"]} 30 | * sn : c006252d-2993-4982-a363-2628053181cc_s-0 31 | */ 32 | 33 | public long corpus_no; 34 | public int err_no; 35 | public ResultBean result; 36 | public String sn; 37 | 38 | public static class ResultBean { 39 | public List word; 40 | } 41 | 42 | @Override 43 | public String toString() { 44 | return "OriginResultBean{" + 45 | "corpus_no=" + corpus_no + 46 | ", err_no=" + err_no + 47 | ", result=" + result + 48 | ", sn='" + sn + '\'' + 49 | '}'; 50 | } 51 | } 52 | 53 | @Override 54 | public String toString() { 55 | return "BaiDuVoice{" + 56 | "origin_result=" + origin_result + 57 | ", error=" + error + 58 | ", best_result='" + best_result + '\'' + 59 | ", result_type='" + result_type + '\'' + 60 | ", results_recognition=" + results_recognition + 61 | '}'; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/bean/CatListViceBean.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.bean; 2 | 3 | /** 4 | * Created by wapchief on 2017/9/7. 5 | */ 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/bean/EmojiBean.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.bean; 2 | 3 | /** 4 | * @author wapchief 5 | * @date 2019/1/10 6 | */ 7 | 8 | 9 | public class EmojiBean { 10 | String emoji; 11 | 12 | public String getEmoji() { 13 | return emoji; 14 | } 15 | 16 | public void setEmoji(String emoji) { 17 | this.emoji = emoji; 18 | } 19 | 20 | public EmojiBean(String emoji) { 21 | this.emoji = emoji; 22 | } 23 | 24 | @Override 25 | public String toString() { 26 | return "EmojiBean{" + 27 | "emoji='" + emoji + '\'' + 28 | '}'; 29 | } 30 | } -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/bean/FlowLayoutBean.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.bean; 2 | 3 | /** 4 | * Created by Administrator on 2016/9/24 0024. 5 | */ 6 | public class FlowLayoutBean { 7 | private String tv; 8 | 9 | public String getTv() { 10 | return tv; 11 | } 12 | 13 | public void setTv(String tv) { 14 | this.tv = tv; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/bean/JPushModel.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.bean; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by Wu on 2017/5/10 0010 下午 4:37. 7 | * 描述: 8 | */ 9 | public class JPushModel implements Serializable { 10 | public T getT() { 11 | return t; 12 | } 13 | 14 | public void setT(T t) { 15 | this.t = t; 16 | } 17 | 18 | @Override 19 | public String toString() { 20 | return "JPushModel{" + 21 | "t=" + t + 22 | '}'; 23 | } 24 | 25 | public T t; 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/bean/NewBeans.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.bean; 2 | 3 | /** 4 | * Created by Wu on 2017/1/6 0006 下午 2:12. 5 | * 描述: 6 | */ 7 | public class NewBeans { 8 | 9 | 10 | @Override 11 | public String toString() { 12 | return "NewBeans{" + 13 | "resultcode='" + resultcode + '\'' + 14 | ", reason='" + reason + '\'' + 15 | ", result=" + result + 16 | ", error_code=" + error_code + 17 | '}'; 18 | } 19 | 20 | /** 21 | * resultcode : 200 22 | * reason : Return Successd! 23 | * result : {"province":"广东","city":"中山","areacode":"0760","zip":"528400","company":"移动","card":""} 24 | * error_code : 0 25 | */ 26 | 27 | private String resultcode; 28 | private String reason; 29 | private ResultBean result; 30 | private int error_code; 31 | 32 | public String getResultcode() { 33 | return resultcode; 34 | } 35 | 36 | public void setResultcode(String resultcode) { 37 | this.resultcode = resultcode; 38 | } 39 | 40 | public String getReason() { 41 | return reason; 42 | } 43 | 44 | public void setReason(String reason) { 45 | this.reason = reason; 46 | } 47 | 48 | public ResultBean getResult() { 49 | return result; 50 | } 51 | 52 | public void setResult(ResultBean result) { 53 | this.result = result; 54 | } 55 | 56 | public int getError_code() { 57 | return error_code; 58 | } 59 | 60 | public void setError_code(int error_code) { 61 | this.error_code = error_code; 62 | } 63 | 64 | public static class ResultBean { 65 | @Override 66 | public String toString() { 67 | return "ResultBean{" + 68 | "province='" + province + '\'' + 69 | ", city='" + city + '\'' + 70 | ", areacode='" + areacode + '\'' + 71 | ", zip='" + zip + '\'' + 72 | ", company='" + company + '\'' + 73 | ", card='" + card + '\'' + 74 | '}'; 75 | } 76 | 77 | /** 78 | * province : 广东 79 | * city : 中山 80 | * areacode : 0760 81 | * zip : 528400 82 | * company : 移动 83 | * card : 84 | */ 85 | 86 | private String province; 87 | private String city; 88 | private String areacode; 89 | private String zip; 90 | private String company; 91 | private String card; 92 | 93 | public String getProvince() { 94 | return province; 95 | } 96 | 97 | public void setProvince(String province) { 98 | this.province = province; 99 | } 100 | 101 | public String getCity() { 102 | return city; 103 | } 104 | 105 | public void setCity(String city) { 106 | this.city = city; 107 | } 108 | 109 | public String getAreacode() { 110 | return areacode; 111 | } 112 | 113 | public void setAreacode(String areacode) { 114 | this.areacode = areacode; 115 | } 116 | 117 | public String getZip() { 118 | return zip; 119 | } 120 | 121 | public void setZip(String zip) { 122 | this.zip = zip; 123 | } 124 | 125 | public String getCompany() { 126 | return company; 127 | } 128 | 129 | public void setCompany(String company) { 130 | this.company = company; 131 | } 132 | 133 | public String getCard() { 134 | return card; 135 | } 136 | 137 | public void setCard(String card) { 138 | this.card = card; 139 | } 140 | } 141 | } 142 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/bean/TModel.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.bean; 2 | 3 | import java.io.Serializable; 4 | 5 | /** 6 | * Created by Wu on 2017/4/11 0011 下午 4:03. 7 | * 描述: 8 | */ 9 | public class TModel implements Serializable{ 10 | public T t; 11 | 12 | 13 | @Override 14 | public String toString() { 15 | return "TModel{" + 16 | "t=" + t + 17 | '}'; 18 | } 19 | 20 | public T getT() { 21 | return t; 22 | } 23 | 24 | public void setT(T t) { 25 | this.t = t; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/bean/VoiceAI.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.bean; 2 | 3 | import java.util.List; 4 | 5 | /** 6 | * Created by wapchief on 2017/10/9. 7 | */ 8 | 9 | public class VoiceAI { 10 | 11 | /** 12 | * sn : 1 13 | * ls : false 14 | * bg : 0 15 | * ed : 0 16 | * ws : [{"bg":0,"cw":[{"sc":0,"w":"喂"}]},{"bg":0,"cw":[{"sc":0,"w":"喂"}]},{"bg":0,"cw":[{"sc":0,"w":"胃"}]},{"bg":0,"cw":[{"sc":0,"w":"喂"}]},{"bg":0,"cw":[{"sc":0,"w":"胃"}]}] 17 | */ 18 | 19 | public int sn; 20 | public boolean ls; 21 | public int bg; 22 | public int ed; 23 | public List ws; 24 | 25 | public static class WsBean { 26 | /** 27 | * bg : 0 28 | * cw : [{"sc":0,"w":"喂"}] 29 | */ 30 | 31 | public int bg; 32 | public List cw; 33 | 34 | public static class CwBean { 35 | /** 36 | * sc : 0.0 37 | * w : 喂 38 | */ 39 | 40 | public double sc; 41 | public String w; 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/controller/MyRecognizer.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.controller; 2 | 3 | import android.content.Context; 4 | import android.util.Log; 5 | import com.baidu.speech.EventListener; 6 | import com.baidu.speech.EventManager; 7 | import com.baidu.speech.EventManagerFactory; 8 | import com.baidu.speech.asr.SpeechConstant; 9 | 10 | import org.json.JSONObject; 11 | 12 | import java.util.HashMap; 13 | import java.util.Map; 14 | 15 | /** 16 | * Created by fujiayi on 2017/6/13. 17 | * EventManager内的方法如send 都可以在主线程中进行,SDK中做过处理 18 | */ 19 | 20 | public class MyRecognizer { 21 | /** 22 | * SDK 内部核心 EventManager 类 23 | */ 24 | private EventManager asr; 25 | 26 | /** 27 | * SDK 内部核心 事件回调类, 用于开发者写自己的识别回调逻辑 28 | */ 29 | private EventListener eventListener; 30 | 31 | private static boolean isOfflineEngineLoaded = false; 32 | 33 | private static boolean isInited = false; 34 | 35 | private static final String TAG = "MyRecognizer"; 36 | 37 | 38 | /** 39 | * 初始化 40 | * @param context 41 | * @param IRecogListener 将EventListener结果做解析的DEMO回调。使用RecogEventAdapter 适配EventListener 42 | * 43 | */ 44 | // public MyRecognizer(Context context, IRecogListener IRecogListener) { 45 | // this(context, new RecogEventAdapter(IRecogListener)); 46 | // } 47 | 48 | /** 49 | * 初始化 提供 EventManagerFactory需要的Context和EventListener 50 | * @param context 51 | * @param eventListener 52 | */ 53 | public MyRecognizer(Context context, EventListener eventListener) { 54 | if (isInited) { 55 | Log.e(TAG, "还未调用release(),请勿新建一个新类"); 56 | throw new RuntimeException("还未调用release(),请勿新建一个新类"); 57 | } 58 | isInited = true; 59 | this.eventListener = eventListener; 60 | asr = EventManagerFactory.create(context, "asr"); 61 | asr.registerListener(eventListener); 62 | } 63 | 64 | 65 | /** 66 | * 67 | * @param params 68 | */ 69 | public void loadOfflineEngine(Map params) { 70 | String json = new JSONObject(params).toString(); 71 | Log.i(TAG + ".Debug", "loadOfflineEngine params:" + json); 72 | asr.send(SpeechConstant.ASR_KWS_LOAD_ENGINE, json, null, 0, 0); 73 | isOfflineEngineLoaded = true; 74 | // 没有ASR_KWS_LOAD_ENGINE这个回调表试失败,如缺少第一次联网时下载的正式授权文件。 75 | } 76 | 77 | public void start(Map params) { 78 | String json = new JSONObject(params).toString(); 79 | Log.i(TAG + ".Debug", "asr params(反馈请带上此行日志):" + json); 80 | asr.send(SpeechConstant.ASR_START, json, null, 0, 0); 81 | } 82 | /** 83 | * 提前结束录音等待识别结果。 84 | */ 85 | public void stop() { 86 | Log.i(TAG, "停止录音"); 87 | asr.send(SpeechConstant.ASR_STOP, "{}", null, 0, 0); 88 | } 89 | 90 | /** 91 | * 取消本次识别,取消后将立即停止不会返回识别结果。 92 | * cancel 与stop的区别是 cancel在stop的基础上,完全停止整个识别流程, 93 | */ 94 | public void cancel() { 95 | Log.i(TAG, "取消识别"); 96 | asr.send(SpeechConstant.ASR_CANCEL, "{}", null, 0, 0); 97 | } 98 | 99 | 100 | public void release() { 101 | cancel(); 102 | if (isOfflineEngineLoaded) { 103 | asr.send(SpeechConstant.ASR_KWS_UNLOAD_ENGINE, null, null, 0, 0); 104 | isOfflineEngineLoaded = false; 105 | } 106 | asr.unregisterListener(eventListener); 107 | asr = null; 108 | isInited = false; 109 | } 110 | } 111 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/customView/BoldTextView.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.customView; 2 | 3 | import android.annotation.SuppressLint; 4 | import android.content.Context; 5 | import android.graphics.Canvas; 6 | import android.text.TextPaint; 7 | import android.widget.TextView; 8 | 9 | /** 10 | * @author wapchief 11 | * @date 2018/8/1 12 | */ 13 | 14 | @SuppressLint("AppCompatCustomView") 15 | public class BoldTextView extends TextView { 16 | public BoldTextView(Context context) { 17 | super(context); 18 | } 19 | 20 | @Override 21 | protected void onDraw(Canvas canvas) { 22 | TextPaint tp = new TextPaint(); 23 | tp.setFakeBoldText(true); 24 | super.onDraw(canvas); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/customView/DividItemDecoration.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.customView; 2 | 3 | import android.content.Context; 4 | import android.content.res.TypedArray; 5 | import android.graphics.Canvas; 6 | import android.graphics.Rect; 7 | import android.graphics.drawable.Drawable; 8 | import android.support.v7.widget.LinearLayoutManager; 9 | import android.support.v7.widget.RecyclerView; 10 | import android.util.Log; 11 | import android.view.View; 12 | 13 | /** 14 | * Created by WuBing on 2017/1/11 0011 下午 2:29. 15 | * 描述:自定义分割线的布局 16 | */ 17 | public class DividItemDecoration extends RecyclerView.ItemDecoration{ 18 | private static final int[] ATTRS = new int[]{ 19 | android.R.attr.listDivider 20 | }; 21 | 22 | public static final int HORIZONTAL_LIST = LinearLayoutManager.HORIZONTAL; 23 | 24 | public static final int VERTICAL_LIST = LinearLayoutManager.VERTICAL; 25 | 26 | private Drawable mDivider; 27 | 28 | private int mOrientation; 29 | 30 | public DividItemDecoration(Context context, int orientation) { 31 | final TypedArray a = context.obtainStyledAttributes(ATTRS); 32 | mDivider = a.getDrawable(0); 33 | a.recycle(); 34 | setOrientation(orientation); 35 | } 36 | 37 | public void setOrientation(int orientation) { 38 | if (orientation != HORIZONTAL_LIST && orientation != VERTICAL_LIST) { 39 | throw new IllegalArgumentException("invalid orientation"); 40 | } 41 | mOrientation = orientation; 42 | } 43 | 44 | @Override 45 | public void onDraw(Canvas c, RecyclerView parent) { 46 | 47 | if (mOrientation == VERTICAL_LIST) { 48 | drawVertical(c, parent); 49 | } else { 50 | drawHorizontal(c, parent); 51 | } 52 | 53 | } 54 | 55 | 56 | public void drawVertical(Canvas c, RecyclerView parent) { 57 | final int left = parent.getPaddingLeft(); 58 | final int right = parent.getWidth() - parent.getPaddingRight(); 59 | 60 | final int childCount = parent.getChildCount(); 61 | for (int i = 0; i < childCount; i++) { 62 | final View child = parent.getChildAt(i); 63 | android.support.v7.widget.RecyclerView v = new android.support.v7.widget.RecyclerView(parent.getContext()); 64 | final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child 65 | .getLayoutParams(); 66 | final int top = child.getBottom() + params.bottomMargin; 67 | final int bottom = top + mDivider.getIntrinsicHeight(); 68 | mDivider.setBounds(left, top, right, bottom); 69 | mDivider.draw(c); 70 | } 71 | } 72 | 73 | public void drawHorizontal(Canvas c, RecyclerView parent) { 74 | final int top = parent.getPaddingTop(); 75 | final int bottom = parent.getHeight() - parent.getPaddingBottom(); 76 | 77 | final int childCount = parent.getChildCount(); 78 | for (int i = 0; i < childCount; i++) { 79 | final View child = parent.getChildAt(i); 80 | final RecyclerView.LayoutParams params = (RecyclerView.LayoutParams) child 81 | .getLayoutParams(); 82 | final int left = child.getRight() + params.rightMargin; 83 | final int right = left + mDivider.getIntrinsicHeight(); 84 | mDivider.setBounds(left, top, right, bottom); 85 | mDivider.draw(c); 86 | } 87 | } 88 | 89 | @Override 90 | public void getItemOffsets(Rect outRect, int itemPosition, RecyclerView parent) { 91 | if (mOrientation == VERTICAL_LIST) { 92 | outRect.set(0, 0, 0, mDivider.getIntrinsicHeight()); 93 | } else { 94 | outRect.set(0, 0, mDivider.getIntrinsicWidth(), 0); 95 | } 96 | } 97 | } 98 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/customView/MyAlertDialog.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.customView; 2 | 3 | import android.app.AlertDialog; 4 | import android.content.Context; 5 | import android.content.DialogInterface; 6 | import android.view.Gravity; 7 | import android.view.Window; 8 | import android.view.WindowManager; 9 | 10 | import wapchief.com.collectiondemo.utils.UIUtils; 11 | 12 | /** 13 | * Created by wapchief on 2017/7/26. 14 | */ 15 | 16 | public class MyAlertDialog { 17 | private Context context; 18 | private String[] strings; 19 | AlertDialog dialog; 20 | DialogInterface.OnClickListener onClick; 21 | private int GRAVITY_CENTER = Gravity.CENTER; 22 | private int GRAVITY_BOTTOM = Gravity.BOTTOM; 23 | private int GRAVITY_TOP = Gravity.TOP; 24 | private int GRAVITY_RIGHT = Gravity.RIGHT; 25 | private int GRAVITY_LEFT = Gravity.LEFT; 26 | private Window window; 27 | private WindowManager.LayoutParams params; 28 | public MyAlertDialog(Context context, String[] strings, DialogInterface.OnClickListener onClick) { 29 | this.context = context; 30 | this.strings = strings; 31 | this.onClick = onClick; 32 | } 33 | 34 | /** 35 | * 36 | * @param gravity 窗体位置 37 | */ 38 | public void initDialog(int gravity) { 39 | AlertDialog.Builder builder = new AlertDialog.Builder(context); 40 | builder.setItems(strings, onClick); 41 | dialog = builder.create(); 42 | dialog.show(); 43 | 44 | initGravity(gravity); 45 | } 46 | 47 | public void initDialog(){ 48 | AlertDialog.Builder builder = new AlertDialog.Builder(context); 49 | builder.setItems(strings, onClick); 50 | dialog = builder.create(); 51 | dialog.show(); 52 | } 53 | 54 | /** 55 | * 56 | * @param width 宽度 57 | * @param hight 高度 58 | * @param x x坐标 59 | * @param y y坐标 60 | */ 61 | public void dialogSize(int width,int hight,int x,int y){ 62 | if (width!=0){ 63 | params.width = UIUtils.dip2px(context, width); 64 | } 65 | if (hight!=0){ 66 | params.height=UIUtils.dip2px(context, hight); 67 | } 68 | if (x!=0){ 69 | params.x = UIUtils.dip2px(context, x); 70 | } 71 | if (y!=0){ 72 | params.y = UIUtils.dip2px(context, y); 73 | } 74 | dialog.getWindow().setAttributes(params); 75 | } 76 | 77 | 78 | public void initGravity(int gravity){ 79 | window = dialog.getWindow(); 80 | params = window.getAttributes(); 81 | if (gravity!=0) { 82 | window.setGravity(gravity); 83 | } 84 | } 85 | 86 | 87 | } 88 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/customView/MyJZVideoPlayerStandard.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.customView; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | 6 | import cn.jzvd.JZVideoPlayerStandard; 7 | 8 | /** 9 | * Created by wapchief on 2018/1/11. 10 | * 自定义播放器UI 11 | */ 12 | 13 | public class MyJZVideoPlayerStandard extends JZVideoPlayerStandard{ 14 | public MyJZVideoPlayerStandard(Context context) { 15 | super(context); 16 | } 17 | 18 | public MyJZVideoPlayerStandard(Context context, AttributeSet attrs) { 19 | super(context, attrs); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/customView/MyListView.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.customView; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.widget.ListView; 6 | 7 | 8 | /** 9 | * @Description: 自定义ListView ,解决ScrollView中嵌套ListView 显示不正常的问题 10 | * 11 | */ 12 | public class MyListView extends ListView { 13 | public MyListView(Context context, AttributeSet attrs) { 14 | super(context, attrs); 15 | } 16 | 17 | public MyListView(Context context) { 18 | super(context); 19 | } 20 | 21 | public MyListView(Context context, AttributeSet attrs, int defStyle) { 22 | super(context, attrs, defStyle); 23 | } 24 | 25 | @Override 26 | public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { 27 | 28 | int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, 29 | MeasureSpec.AT_MOST); 30 | super.onMeasure(widthMeasureSpec, expandSpec); 31 | } 32 | 33 | 34 | 35 | } -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/customView/MyScrollView.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.customView; 2 | 3 | import android.annotation.SuppressLint; 4 | import android.content.Context; 5 | import android.util.AttributeSet; 6 | import android.widget.ScrollView; 7 | 8 | /** 9 | * Created by Wu on 2017/4/18 0018 上午 10:57. 10 | * 描述:自定义ScrollView 11 | */ 12 | @SuppressLint("ViewConstructor") 13 | public class MyScrollView extends ScrollView{ 14 | 15 | private OnScrollListener listener; 16 | 17 | public void setOnScrollListener(OnScrollListener listener) { 18 | this.listener = listener; 19 | } 20 | 21 | public MyScrollView(Context context) { 22 | super(context); 23 | } 24 | 25 | public MyScrollView(Context context, AttributeSet attrs) { 26 | super(context, attrs); 27 | } 28 | 29 | public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr) { 30 | super(context, attrs, defStyleAttr); 31 | } 32 | 33 | public interface OnScrollListener{ 34 | void onScroll(int scrollY); 35 | } 36 | 37 | @Override 38 | protected void onScrollChanged(int l, int t, int oldl, int oldt) { 39 | super.onScrollChanged(l, t, oldl, oldt); 40 | if(listener != null){ 41 | listener.onScroll(t); 42 | } 43 | } 44 | } 45 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/customView/RollingViewFlipper.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.customView; 2 | 3 | import android.content.Context; 4 | import android.util.AttributeSet; 5 | import android.view.View; 6 | import android.view.animation.Animation; 7 | import android.view.animation.AnimationUtils; 8 | import android.widget.ViewFlipper; 9 | 10 | 11 | import java.util.List; 12 | 13 | import wapchief.com.collectiondemo.R; 14 | 15 | /** 16 | * Created by apple on 2017/6/9. 17 | * 自定义滚动 18 | */ 19 | 20 | public class RollingViewFlipper extends ViewFlipper { 21 | 22 | private Context mContext; 23 | private boolean isSetAnimDuration = false; 24 | private int interval = 3000; 25 | /** 26 | * 动画时间 27 | */ 28 | private int animDuration = 2000; 29 | 30 | public RollingViewFlipper(Context context, AttributeSet attrs) { 31 | super(context, attrs); 32 | init(context, attrs, 0); 33 | } 34 | 35 | private void init(Context context, AttributeSet attrs, int defStyleAttr) { 36 | this.mContext = context; 37 | setFlipInterval(interval); 38 | Animation animIn = AnimationUtils.loadAnimation(mContext, R.anim.anim_marquee_in); 39 | if (isSetAnimDuration) animIn.setDuration(animDuration); 40 | setInAnimation(animIn); 41 | Animation animOut = AnimationUtils.loadAnimation(mContext, R.anim.anim_marquee_out); 42 | if (isSetAnimDuration) animOut.setDuration(animDuration); 43 | setOutAnimation(animOut); 44 | } 45 | 46 | 47 | /** 48 | * 设置循环滚动的View数组 49 | * 50 | * @param views 51 | */ 52 | public void setViews(List views) { 53 | if (views == null || views.size() == 0) return; 54 | removeAllViews(); 55 | for (int i = 0; i < views.size(); i++) { 56 | addView(views.get(i)); 57 | } 58 | startFlipping(); 59 | } 60 | 61 | 62 | } -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/fragment/FragmentFactory.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.fragment; 2 | 3 | import android.support.v4.app.Fragment; 4 | 5 | import java.util.HashMap; 6 | 7 | /** 8 | * Created by wapchief on 2017/9/6. 9 | */ 10 | 11 | public class FragmentFactory { 12 | private static HashMap fragments; 13 | 14 | public static Fragment createFragment(int position) { 15 | fragments = new HashMap(); 16 | Fragment fragment = fragments.get(position);//从集合中取出Fragment 17 | if (fragment == null) {//没有在集合中取到再进入实例化过程 18 | switch (position) { 19 | case 0: 20 | fragment = new GoodsListFragment(); 21 | break; 22 | case 1: 23 | fragment = new GoodsListFragment(); 24 | break; 25 | case 2: 26 | fragment = new GoodsListFragment(); 27 | break; 28 | default: 29 | break; 30 | } 31 | fragments.put(position, fragment);//存入集合中 32 | } 33 | return fragment; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/fragment/GoodsListFragment.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.fragment; 2 | 3 | import android.os.Bundle; 4 | import android.support.annotation.Nullable; 5 | import android.support.v4.app.Fragment; 6 | import android.util.Log; 7 | import android.view.LayoutInflater; 8 | import android.view.View; 9 | import android.view.ViewGroup; 10 | import android.widget.ArrayAdapter; 11 | import android.widget.ListView; 12 | import android.widget.SimpleAdapter; 13 | import android.widget.TextView; 14 | 15 | import java.util.ArrayList; 16 | import java.util.HashMap; 17 | import java.util.List; 18 | 19 | import butterknife.BindView; 20 | import butterknife.ButterKnife; 21 | import butterknife.Unbinder; 22 | import wapchief.com.collectiondemo.R; 23 | import wapchief.com.collectiondemo.adapter.CatListViceAdapter; 24 | import wapchief.com.collectiondemo.adapter.ShopLeftAdapter; 25 | import wapchief.com.collectiondemo.adapter.ShopRightAdapter; 26 | import wapchief.com.collectiondemo.customView.MyListView; 27 | import wapchief.com.collectiondemo.framework.GreenDaoHelper; 28 | import wapchief.com.collectiondemo.greendao.CarShopDao; 29 | import wapchief.com.collectiondemo.greendao.model.CarShop; 30 | 31 | /** 32 | * Created by wapchief on 2017/9/6. 33 | */ 34 | 35 | public class GoodsListFragment extends Fragment { 36 | @BindView(R.id.goodslist_left) 37 | ListView mGoodslistLeft; 38 | @BindView(R.id.goodslist_right) 39 | ListView mGoodslistRight; 40 | Unbinder unbinder; 41 | private String[] mTitles = new String[]{"生活食品","酒水饮料","粮油副食","日用品"}; 42 | ShopLeftAdapter adapterLeft; 43 | ShopRightAdapter adapterRight; 44 | CatListViceAdapter viceAdapter; 45 | CarShopDao dao; 46 | GreenDaoHelper helper; 47 | @Nullable 48 | @Override 49 | public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, Bundle savedInstanceState) { 50 | View view = View.inflate(getActivity(), R.layout.fragment_goodslist, null); 51 | unbinder = ButterKnife.bind(this, view); 52 | initView(); 53 | return view; 54 | } 55 | 56 | 57 | private void initView() { 58 | initDB(); 59 | initListLeft(); 60 | initListRight(); 61 | 62 | } 63 | 64 | /*初始化数据库*/ 65 | private void initDB() { 66 | helper = new GreenDaoHelper(getActivity()); 67 | dao = helper.initDao().getCarShopDao(); 68 | // Log.e("carDaoroot", dao.queryBuilder().list()+""); 69 | 70 | } 71 | 72 | private void initListRight() { 73 | adapterRight = new ShopRightAdapter(getActivity(), getData(),dao); 74 | mGoodslistRight.setAdapter(adapterRight); 75 | } 76 | 77 | /*数据源*/ 78 | private List getData(){ 79 | 80 | List shopList = new ArrayList<>(); 81 | CarShop shop; 82 | for (int i=0;i<10;i++) { 83 | shop = new CarShop(); 84 | shop.setName("店铺"+i); 85 | shop.setPrice(10.1); 86 | shop.setStockCount("10000"); 87 | shop.setShopId(i+""); 88 | shopList.add(shop); 89 | } 90 | return shopList; 91 | } 92 | 93 | private void initListLeft() { 94 | List list = new ArrayList<>(); 95 | for (int i=0;i(getActivity(),android.R.layout.simple_dropdown_item_1line,list)); 99 | } 100 | 101 | 102 | @Override 103 | public void onDestroyView() { 104 | super.onDestroyView(); 105 | unbinder.unbind(); 106 | } 107 | 108 | } 109 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/framework/BaseActivity.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.framework; 2 | 3 | import android.app.Activity; 4 | import android.app.ProgressDialog; 5 | import android.content.Context; 6 | import android.os.Bundle; 7 | import android.support.annotation.Nullable; 8 | import android.support.v7.app.AppCompatActivity; 9 | import android.view.WindowManager; 10 | import android.widget.Toast; 11 | 12 | /** 13 | * Created by wubing on 2017/7/10. 14 | */ 15 | 16 | public class BaseActivity extends AppCompatActivity{ 17 | 18 | private ProgressDialog progressDialog; 19 | private Context context; 20 | @Override 21 | protected void onCreate(@Nullable Bundle savedInstanceState) { 22 | super.onCreate(savedInstanceState); 23 | context = BaseActivity.this; 24 | } 25 | 26 | 27 | /*加载中的进度条*/ 28 | public void showProgressDialog() { 29 | if (progressDialog != null && progressDialog.isShowing()) { 30 | progressDialog.dismiss(); 31 | progressDialog = null; 32 | } 33 | progressDialog = new ProgressDialog(BaseActivity.this); 34 | progressDialog.setMessage("正在加载......"); 35 | progressDialog.setCancelable(true); 36 | progressDialog.setCanceledOnTouchOutside(false); 37 | try { 38 | progressDialog.show(); 39 | } catch (WindowManager.BadTokenException exception) { 40 | exception.printStackTrace(); 41 | } 42 | } 43 | 44 | /*自定义消息的加载进度条*/ 45 | public void showProgressDialog(String msg) { 46 | if (progressDialog != null && progressDialog.isShowing()) { 47 | progressDialog.dismiss(); 48 | progressDialog = null; 49 | } 50 | progressDialog = new ProgressDialog(BaseActivity.this); 51 | progressDialog.setMessage(msg); 52 | progressDialog.setCancelable(true); 53 | progressDialog.setCanceledOnTouchOutside(false); 54 | try { 55 | progressDialog.show(); 56 | } catch (WindowManager.BadTokenException exception) { 57 | exception.printStackTrace(); 58 | } 59 | } 60 | 61 | /** 62 | * 隐藏正在加载的进度条 63 | * 64 | */ 65 | public void dismissProgressDialog() { 66 | if (null != progressDialog && progressDialog.isShowing() == true) { 67 | progressDialog.dismiss(); 68 | } 69 | } 70 | 71 | 72 | /** 73 | * 短时间Toast提示 74 | * @param activity 75 | * @param s 76 | */ 77 | public void showToast(Activity activity, String s){ 78 | Toast toast=Toast.makeText(activity,s,Toast.LENGTH_SHORT); 79 | toast.show(); 80 | } 81 | 82 | /** 83 | * 长时间Toast提示 84 | * @param activity 85 | * @param s 86 | */ 87 | public void showLongToast(Activity activity,String s){ 88 | Toast toast=Toast.makeText(activity,s,Toast.LENGTH_LONG); 89 | toast.show(); 90 | } 91 | 92 | } 93 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/framework/BaseApplication.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.framework; 2 | 3 | import android.app.Application; 4 | import android.content.Context; 5 | import android.database.sqlite.SQLiteDatabase; 6 | import android.speech.SpeechRecognizer; 7 | 8 | import com.alibaba.idst.nls.NlsClient; 9 | import com.blankj.utilcode.util.LogUtils; 10 | import com.blankj.utilcode.util.Utils; 11 | import com.github.yuweiguocn.library.greendao.MigrationHelper; 12 | import com.iflytek.cloud.Setting; 13 | import com.iflytek.cloud.SpeechConstant; 14 | import com.iflytek.cloud.SpeechUtility; 15 | 16 | import org.greenrobot.greendao.query.QueryBuilder; 17 | 18 | import cn.jpush.android.api.JPushInterface; 19 | import cn.jpush.im.android.api.JMessageClient; 20 | import wapchief.com.collectiondemo.greendao.DaoMaster; 21 | import wapchief.com.collectiondemo.greendao.DaoSession; 22 | import wapchief.com.collectiondemo.greendao.MessageDao; 23 | import wapchief.com.collectiondemo.greendao.SQLiteOpenHelper; 24 | import wapchief.com.collectiondemo.greendao.UserDao; 25 | 26 | /** 27 | * Created by Wu on 2017/4/7 0007 下午 2:45. 28 | * 描述:自定义Application 29 | */ 30 | public class BaseApplication extends Application { 31 | public static BaseApplication mBaseApplication; 32 | private Context mContext; 33 | private SQLiteOpenHelper helper; 34 | private DaoMaster master; 35 | 36 | @Override 37 | public void onCreate() { 38 | super.onCreate(); 39 | mContext = BaseApplication.this; 40 | mBaseApplication = this; 41 | //开启极光调试 42 | JPushInterface.setDebugMode(true); 43 | //实例化极光推送 44 | JPushInterface.init(mContext); 45 | //实例化极光IM,并自动同步聊天记录 46 | JMessageClient.init(mContext, true); 47 | //数据库调试。建议打包上线时关闭 48 | QueryBuilder.LOG_SQL = true; 49 | QueryBuilder.LOG_VALUES = true; 50 | //初始化讯飞语音 51 | SpeechUtility.createUtility(mContext, SpeechConstant.APPID +"=59daecea," + SpeechConstant.FORCE_LOGIN +"=true"); 52 | //讯飞调试日志开启 53 | // Setting.setShowLog(true); 54 | NlsClient.openLog(true); 55 | NlsClient.configure(mContext); 56 | Utils.init(this); 57 | LogUtils.getConfig().setLogSwitch(true); 58 | //数据库升级 59 | updateDB(); 60 | } 61 | 62 | private void updateDB() { 63 | //是否开启调试 64 | MigrationHelper.DEBUG = true; 65 | helper = new SQLiteOpenHelper(this 66 | , "recluse-db"); 67 | master = new DaoMaster(helper.getWritableDb()); 68 | } 69 | } 70 | 71 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/framework/GreenDaoHelper.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.framework; 2 | 3 | import android.content.Context; 4 | import android.database.sqlite.SQLiteDatabase; 5 | 6 | import org.greenrobot.greendao.AbstractDao; 7 | 8 | import wapchief.com.collectiondemo.greendao.DaoMaster; 9 | import wapchief.com.collectiondemo.greendao.DaoSession; 10 | import wapchief.com.collectiondemo.greendao.model.Message; 11 | 12 | /** 13 | * Created by apple on 2017/7/4. 14 | * 封装Greendao数据库 15 | */ 16 | 17 | public class GreenDaoHelper{ 18 | 19 | Context context; 20 | DaoMaster.DevOpenHelper helper; 21 | SQLiteDatabase db; 22 | DaoMaster daoMaster; 23 | DaoSession daoSession; 24 | 25 | 26 | public GreenDaoHelper(Context context) { 27 | this.context = context; 28 | } 29 | 30 | public DaoSession initDao(){ 31 | helper = new DaoMaster.DevOpenHelper(context, "recluse-db", null); 32 | db= helper.getWritableDatabase(); 33 | daoMaster= new DaoMaster(db); 34 | daoSession= daoMaster.newSession(); 35 | return daoSession; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/framework/RecyclerViewHolder.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.framework; 2 | 3 | import android.support.v7.widget.RecyclerView; 4 | import android.util.SparseArray; 5 | import android.view.View; 6 | import android.widget.ImageView; 7 | import android.widget.TextView; 8 | 9 | /** 10 | * Created by WuBing on 2017/1/13 0013 下午 3:25. 11 | * 描述:通用的ViewHolder 12 | */ 13 | public class RecyclerViewHolder extends RecyclerView.ViewHolder { 14 | 15 | private SparseArray arrayView; 16 | 17 | public RecyclerViewHolder(View itemView) { 18 | super(itemView); 19 | arrayView = new SparseArray<>(); 20 | } 21 | 22 | /** 23 | * 通过填写的itemId来获取具体的View的对象 24 | * 25 | * @param itemId R.id.*** 26 | * @param 必须是View的子类 27 | * @return 28 | */ 29 | public T getView(int itemId) { 30 | //arrayVie类似于Map容器,get(key)取出的是value值 31 | View mView = arrayView.get(itemId); 32 | if (mView == null) { 33 | //实例化具体的View类型 34 | mView = itemView.findViewById(itemId); 35 | arrayView.put(itemId, mView); 36 | } 37 | return (T) mView; 38 | } 39 | 40 | /** 41 | * 设置TextView的内容 42 | * 43 | * @param itemId 44 | * @param text 45 | */ 46 | public void setText(int itemId, String text) { 47 | TextView tv = getView(itemId); 48 | tv.setText(text); 49 | } 50 | 51 | /** 52 | * 设置图片 53 | * 54 | * @param itemId 55 | * @param imageId 56 | */ 57 | public void setBitmapImage(int itemId, int imageId) { 58 | ImageView iv = getView(itemId); 59 | iv.setImageResource(imageId); 60 | } 61 | 62 | 63 | } 64 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/framework/callback/BasicCallBack.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.framework.callback; 2 | 3 | /** 4 | * Created by Wu on 2017/4/11 0011 下午 3:40. 5 | * 描述: 6 | */ 7 | public interface BasicCallBack { 8 | void Success(T msg); 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/framework/system/X_SystemBarUI.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.framework.system; 2 | 3 | import android.annotation.TargetApi; 4 | import android.app.Activity; 5 | import android.os.Build; 6 | import android.view.Window; 7 | import android.view.WindowManager; 8 | 9 | public class X_SystemBarUI { 10 | /** 11 | * 改变系统标题栏颜色 12 | * @param activity 13 | * @param color color xml文件下的颜色 14 | */ 15 | public static void initSystemBar(Activity activity, int color) { 16 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { 17 | setTranslucentStatus(activity, true); 18 | } 19 | SystemBarTintManager tintManager = new SystemBarTintManager(activity); 20 | tintManager.setStatusBarTintEnabled(true); 21 | // 使用颜色资源 22 | tintManager.setStatusBarTintResource(color); 23 | 24 | } 25 | /** 26 | * 设置系统标题栏的透明度 27 | * @param activity 28 | * @param on 29 | */ 30 | @TargetApi(19) 31 | private static void setTranslucentStatus(Activity activity, boolean on) { 32 | Window win = activity.getWindow(); 33 | WindowManager.LayoutParams winParams = win.getAttributes(); 34 | final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS; 35 | if (on) { 36 | winParams.flags |= bits; 37 | } else { 38 | winParams.flags &= ~bits; 39 | } 40 | win.setAttributes(winParams); 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/greendao/DaoSession.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.greendao; 2 | 3 | import java.util.Map; 4 | 5 | import org.greenrobot.greendao.AbstractDao; 6 | import org.greenrobot.greendao.AbstractDaoSession; 7 | import org.greenrobot.greendao.database.Database; 8 | import org.greenrobot.greendao.identityscope.IdentityScopeType; 9 | import org.greenrobot.greendao.internal.DaoConfig; 10 | 11 | import wapchief.com.collectiondemo.greendao.model.Message; 12 | import wapchief.com.collectiondemo.greendao.model.CarShop; 13 | import wapchief.com.collectiondemo.greendao.model.User; 14 | 15 | import wapchief.com.collectiondemo.greendao.MessageDao; 16 | import wapchief.com.collectiondemo.greendao.CarShopDao; 17 | import wapchief.com.collectiondemo.greendao.UserDao; 18 | 19 | // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. 20 | 21 | /** 22 | * {@inheritDoc} 23 | * 24 | * @see org.greenrobot.greendao.AbstractDaoSession 25 | */ 26 | public class DaoSession extends AbstractDaoSession { 27 | 28 | private final DaoConfig messageDaoConfig; 29 | private final DaoConfig carShopDaoConfig; 30 | private final DaoConfig userDaoConfig; 31 | 32 | private final MessageDao messageDao; 33 | private final CarShopDao carShopDao; 34 | private final UserDao userDao; 35 | 36 | public DaoSession(Database db, IdentityScopeType type, Map>, DaoConfig> 37 | daoConfigMap) { 38 | super(db); 39 | 40 | messageDaoConfig = daoConfigMap.get(MessageDao.class).clone(); 41 | messageDaoConfig.initIdentityScope(type); 42 | 43 | carShopDaoConfig = daoConfigMap.get(CarShopDao.class).clone(); 44 | carShopDaoConfig.initIdentityScope(type); 45 | 46 | userDaoConfig = daoConfigMap.get(UserDao.class).clone(); 47 | userDaoConfig.initIdentityScope(type); 48 | 49 | messageDao = new MessageDao(messageDaoConfig, this); 50 | carShopDao = new CarShopDao(carShopDaoConfig, this); 51 | userDao = new UserDao(userDaoConfig, this); 52 | 53 | registerDao(Message.class, messageDao); 54 | registerDao(CarShop.class, carShopDao); 55 | registerDao(User.class, userDao); 56 | } 57 | 58 | public void clear() { 59 | messageDaoConfig.clearIdentityScope(); 60 | carShopDaoConfig.clearIdentityScope(); 61 | userDaoConfig.clearIdentityScope(); 62 | } 63 | 64 | public MessageDao getMessageDao() { 65 | return messageDao; 66 | } 67 | 68 | public CarShopDao getCarShopDao() { 69 | return carShopDao; 70 | } 71 | 72 | public UserDao getUserDao() { 73 | return userDao; 74 | } 75 | 76 | } 77 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/greendao/SQLiteOpenHelper.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.greendao; 2 | 3 | import android.content.Context; 4 | import android.database.sqlite.SQLiteDatabase; 5 | 6 | import com.github.yuweiguocn.library.greendao.MigrationHelper; 7 | 8 | import org.greenrobot.greendao.database.Database; 9 | 10 | /** 11 | * Created by WB on 2017/7/7. 12 | * 用于数据的升级 13 | */ 14 | 15 | public class SQLiteOpenHelper extends DaoMaster.OpenHelper { 16 | public SQLiteOpenHelper(Context context, String name) { 17 | super(context, name); 18 | } 19 | @Override 20 | public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 21 | super.onUpgrade(db, oldVersion, newVersion); 22 | //设置需要升级的表 23 | MigrationHelper.migrate(db,MessageDao.class,UserDao.class,CarShopDao.class); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/greendao/model/CarShop.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.greendao.model; 2 | 3 | import org.greenrobot.greendao.annotation.Entity; 4 | import org.greenrobot.greendao.annotation.Id; 5 | import org.greenrobot.greendao.annotation.Generated; 6 | 7 | /** 8 | * Created by wapchief on 2017/9/6. 9 | * 购物车 10 | */ 11 | 12 | @Entity 13 | public class CarShop { 14 | @Id(autoincrement = true) 15 | private Long id; 16 | //数量 17 | public int num; 18 | //名称 19 | public String name; 20 | //金额 21 | public double price; 22 | //店铺id 23 | public String shopId; 24 | public String entityId; 25 | //位置 26 | public int position; 27 | //商品图 28 | public String headpic; 29 | //规格 30 | public String spec; 31 | //库存 32 | public String stockCount; 33 | @Generated(hash = 2006230642) 34 | public CarShop(Long id, int num, String name, double price, String shopId, 35 | String entityId, int position, String headpic, String spec, 36 | String stockCount) { 37 | this.id = id; 38 | this.num = num; 39 | this.name = name; 40 | this.price = price; 41 | this.shopId = shopId; 42 | this.entityId = entityId; 43 | this.position = position; 44 | this.headpic = headpic; 45 | this.spec = spec; 46 | this.stockCount = stockCount; 47 | } 48 | @Generated(hash = 1479430411) 49 | public CarShop() { 50 | } 51 | public Long getId() { 52 | return this.id; 53 | } 54 | public void setId(Long id) { 55 | this.id = id; 56 | } 57 | public int getNum() { 58 | return this.num; 59 | } 60 | public void setNum(int num) { 61 | this.num = num; 62 | } 63 | public String getName() { 64 | return this.name; 65 | } 66 | public void setName(String name) { 67 | this.name = name; 68 | } 69 | public double getPrice() { 70 | return this.price; 71 | } 72 | public void setPrice(double price) { 73 | this.price = price; 74 | } 75 | public String getShopId() { 76 | return this.shopId; 77 | } 78 | public void setShopId(String shopId) { 79 | this.shopId = shopId; 80 | } 81 | public String getEntityId() { 82 | return this.entityId; 83 | } 84 | public void setEntityId(String entityId) { 85 | this.entityId = entityId; 86 | } 87 | public int getPosition() { 88 | return this.position; 89 | } 90 | public void setPosition(int position) { 91 | this.position = position; 92 | } 93 | public String getHeadpic() { 94 | return this.headpic; 95 | } 96 | public void setHeadpic(String headpic) { 97 | this.headpic = headpic; 98 | } 99 | public String getSpec() { 100 | return this.spec; 101 | } 102 | public void setSpec(String spec) { 103 | this.spec = spec; 104 | } 105 | public String getStockCount() { 106 | return this.stockCount; 107 | } 108 | public void setStockCount(String stockCount) { 109 | this.stockCount = stockCount; 110 | } 111 | 112 | } 113 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/greendao/model/Message.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.greendao.model; 2 | 3 | import org.greenrobot.greendao.annotation.Entity; 4 | import org.greenrobot.greendao.annotation.Generated; 5 | import org.greenrobot.greendao.annotation.Id; 6 | 7 | /** 8 | * Created by Wu on 2017/5/11 0011 上午 9:24. 9 | * 描述:存放极光推送的消息 10 | */ 11 | @Entity 12 | public class Message { 13 | 14 | @Id(autoincrement = true) 15 | private Long id; 16 | private String title; 17 | private String content; 18 | 19 | 20 | @Override 21 | public String toString() { 22 | return "Message{" + 23 | "id=" + id + 24 | ", title='" + title + '\'' + 25 | ", content='" + content + '\'' + 26 | '}'; 27 | } 28 | 29 | @Generated(hash = 977969778) 30 | public Message(Long id, String title, String content) { 31 | this.id = id; 32 | this.title = title; 33 | this.content = content; 34 | } 35 | 36 | @Generated(hash = 637306882) 37 | public Message() { 38 | } 39 | 40 | public Long getId() { 41 | return id; 42 | } 43 | 44 | public void setId(Long id) { 45 | this.id = id; 46 | } 47 | 48 | public String getTitle() { 49 | return title; 50 | } 51 | 52 | public void setTitle(String title) { 53 | this.title = title; 54 | } 55 | 56 | public String getContent() { 57 | return content; 58 | } 59 | 60 | public void setContent(String content) { 61 | this.content = content; 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/greendao/model/User.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.greendao.model; 2 | 3 | import org.greenrobot.greendao.annotation.Entity; 4 | import org.greenrobot.greendao.annotation.Generated; 5 | import org.greenrobot.greendao.annotation.Id; 6 | 7 | /** 8 | * Created by Wu on 2017/4/26 0026 下午 5:06. 9 | * 描述:GreenDao库 10 | */ 11 | 12 | @Entity 13 | public class User { 14 | //主键自增 15 | @Id(autoincrement = true) 16 | private Long id; 17 | private String name; 18 | 19 | @Override 20 | public String toString() { 21 | return "User{" + 22 | "id=" + id + 23 | ", name='" + name + '\'' + 24 | '}'; 25 | } 26 | 27 | @Generated(hash = 873297011) 28 | public User(Long id, String name) { 29 | this.id = id; 30 | this.name = name; 31 | } 32 | 33 | @Generated(hash = 586692638) 34 | public User() { 35 | } 36 | 37 | public Long getId() { 38 | return id; 39 | } 40 | 41 | public void setId(Long id) { 42 | this.id = id; 43 | } 44 | 45 | public String getName() { 46 | return name; 47 | } 48 | 49 | public void setName(String name) { 50 | this.name = name; 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/utils/JsonParser.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.utils; 2 | 3 | import org.json.JSONArray; 4 | import org.json.JSONObject; 5 | import org.json.JSONTokener; 6 | 7 | /** 8 | * Created by wapchief on 2017/10/9. 9 | */ 10 | 11 | public class JsonParser { 12 | public static String parseIatResult(String json) { 13 | StringBuffer ret = new StringBuffer() ; 14 | try { 15 | JSONTokener tokener = new JSONTokener(json) ; 16 | JSONObject joResult = new JSONObject(tokener) ; 17 | 18 | JSONArray words = joResult.getJSONArray("ws" ); 19 | for (int i = 0; i < words.length(); i++) { 20 | // 转写结果词,默认使用第一个结果 21 | JSONArray items = words.getJSONObject(i).getJSONArray("cw" ); 22 | JSONObject obj = items.getJSONObject(0 ); 23 | ret.append(obj.getString("w" )); 24 | // 如果需要多候选结果,解析数组其他字段 25 | // for(int j = 0; j < items.length(); j++) 26 | // { 27 | // JSONObject obj = items.getJSONObject(j); 28 | // ret.append(obj.getString("w")); 29 | // } 30 | } 31 | } catch (Exception e) { 32 | e.printStackTrace(); 33 | } 34 | return ret.toString(); 35 | } 36 | 37 | public static String parseGrammarResult(String json) { 38 | StringBuffer ret = new StringBuffer() ; 39 | try { 40 | JSONTokener tokener = new JSONTokener(json) ; 41 | JSONObject joResult = new JSONObject(tokener) ; 42 | 43 | JSONArray words = joResult.getJSONArray("ws" ); 44 | for (int i = 0; i < words.length(); i++) { 45 | JSONArray items = words.getJSONObject(i).getJSONArray("cw" ); 46 | for (int j = 0; j < items.length() ; j++) 47 | { 48 | JSONObject obj = items.getJSONObject(j); 49 | if (obj.getString("w").contains( "nomatch")) 50 | { 51 | ret.append( "没有匹配结果.") ; 52 | return ret.toString(); 53 | } 54 | ret.append( "【结果】" + obj.getString("w" )); 55 | ret.append("【置信度】 " + obj.getInt("sc" )); 56 | ret.append("\n "); 57 | } 58 | } 59 | } catch (Exception e) { 60 | e.printStackTrace(); 61 | ret.append(" 没有匹配结果 ."); 62 | } 63 | return ret.toString(); 64 | } 65 | 66 | public static String parseLocalGrammarResult(String json) { 67 | StringBuffer ret = new StringBuffer() ; 68 | try { 69 | JSONTokener tokener = new JSONTokener(json) ; 70 | JSONObject joResult = new JSONObject(tokener) ; 71 | 72 | JSONArray words = joResult.getJSONArray("ws" ); 73 | for (int i = 0; i < words.length(); i++) { 74 | JSONArray items = words.getJSONObject(i).getJSONArray("cw" ); 75 | for (int j = 0; j < items.length() ; j++) 76 | { 77 | JSONObject obj = items.getJSONObject(j); 78 | if (obj.getString("w").contains( "nomatch")) 79 | { 80 | ret.append( "没有匹配结果.") ; 81 | return ret.toString(); 82 | } 83 | ret.append( "【结果】" + obj.getString("w" )); 84 | ret.append("\n "); 85 | } 86 | } 87 | ret.append("【置信度】 " + joResult.optInt("sc" )); 88 | 89 | } catch (Exception e) { 90 | e.printStackTrace(); 91 | ret.append(" 没有匹配结果 ."); 92 | } 93 | return ret.toString(); 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/utils/ToastsUtils.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.utils; 2 | 3 | import android.content.Context; 4 | import android.widget.Toast; 5 | 6 | /** 7 | * Created by Wu on 2017/1/9 0009 上午 11:12. 8 | * 描述: 9 | */ 10 | public class ToastsUtils { 11 | 12 | 13 | 14 | private ToastsUtils() 15 | { 16 | /* cannot be instantiated */ 17 | throw new UnsupportedOperationException("cannot be instantiated"); 18 | } 19 | 20 | public static boolean isShow = true; 21 | 22 | /** 23 | * 短时间显示Toast 24 | * 25 | * @param context 26 | * @param message 27 | */ 28 | public static void showShort(Context context, CharSequence message) 29 | { 30 | if (isShow) 31 | Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); 32 | } 33 | 34 | /** 35 | * 短时间显示Toast 36 | * 37 | * @param context 38 | * @param message 39 | */ 40 | public static void showShort(Context context, int message) 41 | { 42 | if (isShow) 43 | Toast.makeText(context, message, Toast.LENGTH_SHORT).show(); 44 | } 45 | 46 | /** 47 | * 长时间显示Toast 48 | * 49 | * @param context 50 | * @param message 51 | */ 52 | public static void showLong(Context context, CharSequence message) 53 | { 54 | if (isShow) 55 | Toast.makeText(context, message, Toast.LENGTH_LONG).show(); 56 | } 57 | 58 | /** 59 | * 长时间显示Toast 60 | * 61 | * @param context 62 | * @param message 63 | */ 64 | public static void showLong(Context context, int message) 65 | { 66 | if (isShow) 67 | Toast.makeText(context, message, Toast.LENGTH_LONG).show(); 68 | } 69 | 70 | /** 71 | * 自定义显示Toast时间 72 | * 73 | * @param context 74 | * @param message 75 | * @param duration 76 | */ 77 | public static void show(Context context, CharSequence message, int duration) 78 | { 79 | if (isShow) 80 | Toast.makeText(context, message, duration).show(); 81 | } 82 | 83 | /** 84 | * 自定义显示Toast时间 85 | * 86 | * @param context 87 | * @param message 88 | * @param duration 89 | */ 90 | public static void show(Context context, int message, int duration) 91 | { 92 | if (isShow) 93 | Toast.makeText(context, message, duration).show(); 94 | } 95 | 96 | } 97 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/utils/UIUtils.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.utils; 2 | 3 | 4 | import android.content.Context; 5 | import android.content.Intent; 6 | import android.content.res.ColorStateList; 7 | import android.content.res.Resources; 8 | import android.graphics.drawable.Drawable; 9 | import android.os.Handler; 10 | import android.support.v4.app.Fragment; 11 | import android.view.LayoutInflater; 12 | import android.view.View; 13 | import android.view.WindowManager; 14 | import android.widget.Toast; 15 | 16 | 17 | 18 | /** 19 | * @author Created by ZQC on 2015年12月30日 20 | */ 21 | public class UIUtils { 22 | 23 | /** 24 | * 根据手机的分辨率从 dp 的单位 转成为 px(像素) 25 | */ 26 | public static int dip2px(Context context, float dpValue) { 27 | final float scale = context.getResources().getDisplayMetrics().density; 28 | return (int) (dpValue * scale + 0.5f); 29 | } 30 | 31 | /** 32 | * 根据手机的分辨率从 px(像素) 的单位 转成为 dp 33 | */ 34 | public static int px2dip(Context context, float pxValue) { 35 | final float scale = context.getResources().getDisplayMetrics().density; 36 | return (int) (pxValue / scale + 0.5f); 37 | } 38 | 39 | } 40 | -------------------------------------------------------------------------------- /app/src/main/java/wapchief/com/collectiondemo/utils/Url.java: -------------------------------------------------------------------------------- 1 | package wapchief.com.collectiondemo.utils; 2 | 3 | /** 4 | * Created by Wu on 2017/3/14 0014 下午 4:53. 5 | * 描述:接口地址 6 | */ 7 | public class Url { 8 | public static final String BASE_JUHE_URL = "http://apis.juhe.cn/"; 9 | } 10 | -------------------------------------------------------------------------------- /app/src/main/jniLibs/arm64-v8a/libBaiduSpeechSDK.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/arm64-v8a/libBaiduSpeechSDK.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/arm64-v8a/libbdEASRAndroid.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/arm64-v8a/libbdEASRAndroid.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/arm64-v8a/libbd_easr_s1_merge_normal_20151216.dat.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/arm64-v8a/libbd_easr_s1_merge_normal_20151216.dat.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/arm64-v8a/libglobal.cmvn.so: -------------------------------------------------------------------------------- 1 | vec 26 2 | 1.485246e+01 3 | 1.579741e+01 4 | 1.663629e+01 5 | 1.698390e+01 6 | 1.708107e+01 7 | 1.745045e+01 8 | 1.752832e+01 9 | 1.758490e+01 10 | 1.746364e+01 11 | 1.743286e+01 12 | 1.744198e+01 13 | 1.735617e+01 14 | 1.735499e+01 15 | 1.730315e+01 16 | 1.726894e+01 17 | 1.729055e+01 18 | 1.728198e+01 19 | 1.718504e+01 20 | 1.712417e+01 21 | 1.710584e+01 22 | 1.715915e+01 23 | 1.723995e+01 24 | 1.730050e+01 25 | 1.728485e+01 26 | 1.728487e+01 27 | 1.729697e+01 28 | vec 26 29 | 2.764144e-01 30 | 2.703758e-01 31 | 2.584008e-01 32 | 2.514187e-01 33 | 2.496835e-01 34 | 2.436650e-01 35 | 2.391809e-01 36 | 2.393867e-01 37 | 2.416821e-01 38 | 2.443231e-01 39 | 2.473226e-01 40 | 2.507182e-01 41 | 2.540205e-01 42 | 2.566869e-01 43 | 2.590701e-01 44 | 2.611003e-01 45 | 2.630226e-01 46 | 2.658522e-01 47 | 2.699072e-01 48 | 2.724641e-01 49 | 2.723619e-01 50 | 2.699174e-01 51 | 2.670183e-01 52 | 2.660550e-01 53 | 2.658852e-01 54 | 2.637595e-01 55 | -------------------------------------------------------------------------------- /app/src/main/jniLibs/arm64-v8a/libjcore110.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/arm64-v8a/libjcore110.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/arm64-v8a/libmsc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/arm64-v8a/libmsc.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/arm64-v8a/libvad.dnn.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/arm64-v8a/libvad.dnn.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/arm64-v8a/libztcodec2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/arm64-v8a/libztcodec2.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi-v7a/libBaiduSpeechSDK.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi-v7a/libBaiduSpeechSDK.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi-v7a/libbdEASRAndroid.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi-v7a/libbdEASRAndroid.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi-v7a/libbd_easr_s1_merge_normal_20151216.dat.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi-v7a/libbd_easr_s1_merge_normal_20151216.dat.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi-v7a/libglobal.cmvn.so: -------------------------------------------------------------------------------- 1 | vec 26 2 | 1.485246e+01 3 | 1.579741e+01 4 | 1.663629e+01 5 | 1.698390e+01 6 | 1.708107e+01 7 | 1.745045e+01 8 | 1.752832e+01 9 | 1.758490e+01 10 | 1.746364e+01 11 | 1.743286e+01 12 | 1.744198e+01 13 | 1.735617e+01 14 | 1.735499e+01 15 | 1.730315e+01 16 | 1.726894e+01 17 | 1.729055e+01 18 | 1.728198e+01 19 | 1.718504e+01 20 | 1.712417e+01 21 | 1.710584e+01 22 | 1.715915e+01 23 | 1.723995e+01 24 | 1.730050e+01 25 | 1.728485e+01 26 | 1.728487e+01 27 | 1.729697e+01 28 | vec 26 29 | 2.764144e-01 30 | 2.703758e-01 31 | 2.584008e-01 32 | 2.514187e-01 33 | 2.496835e-01 34 | 2.436650e-01 35 | 2.391809e-01 36 | 2.393867e-01 37 | 2.416821e-01 38 | 2.443231e-01 39 | 2.473226e-01 40 | 2.507182e-01 41 | 2.540205e-01 42 | 2.566869e-01 43 | 2.590701e-01 44 | 2.611003e-01 45 | 2.630226e-01 46 | 2.658522e-01 47 | 2.699072e-01 48 | 2.724641e-01 49 | 2.723619e-01 50 | 2.699174e-01 51 | 2.670183e-01 52 | 2.660550e-01 53 | 2.658852e-01 54 | 2.637595e-01 55 | -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi-v7a/libjcore110.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi-v7a/libjcore110.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi-v7a/libmsc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi-v7a/libmsc.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi-v7a/libvad.dnn.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi-v7a/libvad.dnn.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi-v7a/libztcodec2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi-v7a/libztcodec2.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi/libBaiduSpeechSDK.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi/libBaiduSpeechSDK.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi/libbdEASRAndroid.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi/libbdEASRAndroid.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi/libbd_easr_s1_merge_normal_20151216.dat.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi/libbd_easr_s1_merge_normal_20151216.dat.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi/libglobal.cmvn.so: -------------------------------------------------------------------------------- 1 | vec 26 2 | 1.485246e+01 3 | 1.579741e+01 4 | 1.663629e+01 5 | 1.698390e+01 6 | 1.708107e+01 7 | 1.745045e+01 8 | 1.752832e+01 9 | 1.758490e+01 10 | 1.746364e+01 11 | 1.743286e+01 12 | 1.744198e+01 13 | 1.735617e+01 14 | 1.735499e+01 15 | 1.730315e+01 16 | 1.726894e+01 17 | 1.729055e+01 18 | 1.728198e+01 19 | 1.718504e+01 20 | 1.712417e+01 21 | 1.710584e+01 22 | 1.715915e+01 23 | 1.723995e+01 24 | 1.730050e+01 25 | 1.728485e+01 26 | 1.728487e+01 27 | 1.729697e+01 28 | vec 26 29 | 2.764144e-01 30 | 2.703758e-01 31 | 2.584008e-01 32 | 2.514187e-01 33 | 2.496835e-01 34 | 2.436650e-01 35 | 2.391809e-01 36 | 2.393867e-01 37 | 2.416821e-01 38 | 2.443231e-01 39 | 2.473226e-01 40 | 2.507182e-01 41 | 2.540205e-01 42 | 2.566869e-01 43 | 2.590701e-01 44 | 2.611003e-01 45 | 2.630226e-01 46 | 2.658522e-01 47 | 2.699072e-01 48 | 2.724641e-01 49 | 2.723619e-01 50 | 2.699174e-01 51 | 2.670183e-01 52 | 2.660550e-01 53 | 2.658852e-01 54 | 2.637595e-01 55 | -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi/libjcore110.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi/libjcore110.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi/libmsc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi/libmsc.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi/libvad.dnn.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi/libvad.dnn.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/armeabi/libztcodec2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/armeabi/libztcodec2.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/mips/libjcore110.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/mips/libjcore110.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/mips/libmsc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/mips/libmsc.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/mips64/libjcore110.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/mips64/libjcore110.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/mips64/libmsc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/mips64/libmsc.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86/libBaiduSpeechSDK.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86/libBaiduSpeechSDK.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86/libbdEASRAndroid.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86/libbdEASRAndroid.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86/libbd_easr_s1_merge_normal_20151216.dat.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86/libbd_easr_s1_merge_normal_20151216.dat.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86/libglobal.cmvn.so: -------------------------------------------------------------------------------- 1 | vec 26 2 | 1.485246e+01 3 | 1.579741e+01 4 | 1.663629e+01 5 | 1.698390e+01 6 | 1.708107e+01 7 | 1.745045e+01 8 | 1.752832e+01 9 | 1.758490e+01 10 | 1.746364e+01 11 | 1.743286e+01 12 | 1.744198e+01 13 | 1.735617e+01 14 | 1.735499e+01 15 | 1.730315e+01 16 | 1.726894e+01 17 | 1.729055e+01 18 | 1.728198e+01 19 | 1.718504e+01 20 | 1.712417e+01 21 | 1.710584e+01 22 | 1.715915e+01 23 | 1.723995e+01 24 | 1.730050e+01 25 | 1.728485e+01 26 | 1.728487e+01 27 | 1.729697e+01 28 | vec 26 29 | 2.764144e-01 30 | 2.703758e-01 31 | 2.584008e-01 32 | 2.514187e-01 33 | 2.496835e-01 34 | 2.436650e-01 35 | 2.391809e-01 36 | 2.393867e-01 37 | 2.416821e-01 38 | 2.443231e-01 39 | 2.473226e-01 40 | 2.507182e-01 41 | 2.540205e-01 42 | 2.566869e-01 43 | 2.590701e-01 44 | 2.611003e-01 45 | 2.630226e-01 46 | 2.658522e-01 47 | 2.699072e-01 48 | 2.724641e-01 49 | 2.723619e-01 50 | 2.699174e-01 51 | 2.670183e-01 52 | 2.660550e-01 53 | 2.658852e-01 54 | 2.637595e-01 55 | -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86/libjcore110.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86/libjcore110.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86/libmsc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86/libmsc.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86/libvad.dnn.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86/libvad.dnn.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86/libztcodec2.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86/libztcodec2.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86_64/libBaiduSpeechSDK.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86_64/libBaiduSpeechSDK.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86_64/libbdEASRAndroid.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86_64/libbdEASRAndroid.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86_64/libbd_easr_s1_merge_normal_20151216.dat.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86_64/libbd_easr_s1_merge_normal_20151216.dat.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86_64/libglobal.cmvn.so: -------------------------------------------------------------------------------- 1 | vec 26 2 | 1.485246e+01 3 | 1.579741e+01 4 | 1.663629e+01 5 | 1.698390e+01 6 | 1.708107e+01 7 | 1.745045e+01 8 | 1.752832e+01 9 | 1.758490e+01 10 | 1.746364e+01 11 | 1.743286e+01 12 | 1.744198e+01 13 | 1.735617e+01 14 | 1.735499e+01 15 | 1.730315e+01 16 | 1.726894e+01 17 | 1.729055e+01 18 | 1.728198e+01 19 | 1.718504e+01 20 | 1.712417e+01 21 | 1.710584e+01 22 | 1.715915e+01 23 | 1.723995e+01 24 | 1.730050e+01 25 | 1.728485e+01 26 | 1.728487e+01 27 | 1.729697e+01 28 | vec 26 29 | 2.764144e-01 30 | 2.703758e-01 31 | 2.584008e-01 32 | 2.514187e-01 33 | 2.496835e-01 34 | 2.436650e-01 35 | 2.391809e-01 36 | 2.393867e-01 37 | 2.416821e-01 38 | 2.443231e-01 39 | 2.473226e-01 40 | 2.507182e-01 41 | 2.540205e-01 42 | 2.566869e-01 43 | 2.590701e-01 44 | 2.611003e-01 45 | 2.630226e-01 46 | 2.658522e-01 47 | 2.699072e-01 48 | 2.724641e-01 49 | 2.723619e-01 50 | 2.699174e-01 51 | 2.670183e-01 52 | 2.660550e-01 53 | 2.658852e-01 54 | 2.637595e-01 55 | -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86_64/libjcore110.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86_64/libjcore110.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86_64/libmsc.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86_64/libmsc.so -------------------------------------------------------------------------------- /app/src/main/jniLibs/x86_64/libvad.dnn.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/jniLibs/x86_64/libvad.dnn.so -------------------------------------------------------------------------------- /app/src/main/res/anim/anim_marquee_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/anim_marquee_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | 8 | -------------------------------------------------------------------------------- /app/src/main/res/anim/bottom_in.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/anim/bottom_out.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/bar_bg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/bar_bg.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/border_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/border_bg.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/bottom_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/bottom_bg.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/corners_bg.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 9 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/ic_android.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_format_align_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/ic_format_align_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/ic_message.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/ic_message.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/icon_viewfip_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/icon_viewfip_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/jpush_ic_richpush_actionbar_back.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/jpush_ic_richpush_actionbar_back.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/jpush_ic_richpush_actionbar_divider.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/jpush_ic_richpush_actionbar_divider.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/jpush_notification_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/jpush_notification_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/jpush_richpush_btn_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 14 | 15 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/jpush_richpush_progressbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/richpush_btn_selector.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 10 | 14 | 15 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/richpush_progressbar.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/stripes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/stripes.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/tiledstripes.xml: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /app/src/main/res/drawable-hdpi/top_bg.9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-hdpi/top_bg.9.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-ldpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-ldpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-mdpi/ic_android.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_format_align_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-mdpi/ic_format_align_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-xhdpi/ic_android.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_format_align_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-xhdpi/ic_format_align_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-xxhdpi/ic_android.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/ic_format_align_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-xxhdpi/ic_format_align_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/icon_live_home_arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-xxhdpi/icon_live_home_arrow.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxhdpi/icon_live_home_below.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-xxhdpi/icon_live_home_below.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_android.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-xxxhdpi/ic_android.png -------------------------------------------------------------------------------- /app/src/main/res/drawable-xxxhdpi/ic_format_align_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable-xxxhdpi/ic_format_align_left.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/back_top_icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wapchief/android-CollectionDemo/96ed54dc495e12fb1b48b7138a7fe7b083fa975f/app/src/main/res/drawable/back_top_icon.png -------------------------------------------------------------------------------- /app/src/main/res/drawable/bg_black_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 10 | 11 | 16 | 17 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/button_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/dialog_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 10 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/fade_red.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/flowlayout_shap.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 6 | 7 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/item_viewfip_shape.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 8 | 14 | -------------------------------------------------------------------------------- /app/src/main/res/drawable/shape_search.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_chart.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 10 | 11 | 12 | 18 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_cloudtag.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /app/src/main/res/layout/activity_expandable.xml: -------------------------------------------------------------------------------- 1 | 2 | 8 | 9 | 10 | 19 | 27 | 36 | 37 | 38 |