├── .gitignore
├── .idea
├── .name
├── compiler.xml
├── copyright
│ └── profiles_settings.xml
├── encodings.xml
├── gradle.xml
├── libraries
│ ├── circleimageview_2_0_0.xml
│ ├── fastjson_1_1_39_leancloud.xml
│ ├── floatingactionbutton_1_3_0.xml
│ ├── freemarker_2_3_23.xml
│ ├── library_1_0_1.xml
│ ├── library_1_1_3.xml
│ ├── library_1_2_8.xml
│ ├── library_2_4_0.xml
│ ├── okhttp_2_6_0_leancloud.xml
│ └── okio_1_6_0_leancloud.xml
├── misc.xml
├── modules.xml
├── runConfigurations.xml
├── vcs.xml
└── workspace.xml
├── JzApp.iml
├── LICENSE
├── README.md
├── app
├── .gitignore
├── app.iml
├── build.gradle
├── libs
│ ├── Msc.jar
│ └── Sunflower.jar
├── proguard-rules.pro
└── src
│ ├── androidTest
│ └── java
│ │ └── suda
│ │ └── com
│ │ └── jzapp
│ │ └── ApplicationTest.java
│ └── main
│ ├── AndroidManifest.xml
│ ├── assets
│ └── iflytek
│ │ ├── recognize.xml
│ │ ├── voice_bg.9.png
│ │ ├── voice_empty.png
│ │ ├── voice_full.png
│ │ ├── waiting.png
│ │ └── warning.png
│ ├── java
│ └── com
│ │ └── suda
│ │ └── jzapp
│ │ ├── BaseActivity.java
│ │ ├── MyApplication.java
│ │ ├── dao
│ │ ├── cloud
│ │ │ └── avos
│ │ │ │ └── pojo
│ │ │ │ ├── account
│ │ │ │ ├── AVAccount.java
│ │ │ │ └── AVAccountIndex.java
│ │ │ │ ├── record
│ │ │ │ ├── AVRecord.java
│ │ │ │ ├── AVRecordType.java
│ │ │ │ └── AVRecordTypeIndex.java
│ │ │ │ ├── system
│ │ │ │ └── AVUpdateCheck.java
│ │ │ │ └── user
│ │ │ │ ├── MyAVUser.java
│ │ │ │ └── UserLink.java
│ │ ├── greendao
│ │ │ ├── Account.java
│ │ │ ├── AccountDao.java
│ │ │ ├── AccountType.java
│ │ │ ├── AccountTypeDao.java
│ │ │ ├── Budget.java
│ │ │ ├── BudgetDao.java
│ │ │ ├── Config.java
│ │ │ ├── ConfigDao.java
│ │ │ ├── Currency.java
│ │ │ ├── CurrencyDao.java
│ │ │ ├── DaoMaster.java
│ │ │ ├── DaoSession.java
│ │ │ ├── Record.java
│ │ │ ├── RecordDao.java
│ │ │ ├── RecordType.java
│ │ │ ├── RecordTypeDao.java
│ │ │ ├── RemarkTip.java
│ │ │ ├── RemarkTipDao.java
│ │ │ ├── UpdateDB.java
│ │ │ ├── User.java
│ │ │ ├── UserDao.java
│ │ │ ├── YiYan.java
│ │ │ └── YiYanDao.java
│ │ └── local
│ │ │ ├── BaseLocalDao.java
│ │ │ ├── account
│ │ │ └── AccountLocalDao.java
│ │ │ ├── conf
│ │ │ └── ConfigLocalDao.java
│ │ │ ├── record
│ │ │ ├── RecordLocalDAO.java
│ │ │ └── RecordTypeLocalDao.java
│ │ │ └── user
│ │ │ └── UserLocalDao.java
│ │ ├── manager
│ │ ├── AccountManager.java
│ │ ├── BaseManager.java
│ │ ├── RecordManager.java
│ │ ├── SyncManager.java
│ │ ├── SystemManager.java
│ │ ├── UserManager.java
│ │ └── domain
│ │ │ ├── AccountDetailDO.java
│ │ │ ├── AccountIndexDO.java
│ │ │ ├── ChartRecordDo.java
│ │ │ ├── ExcelRecord.java
│ │ │ ├── LineChartDo.java
│ │ │ ├── MonthReport.java
│ │ │ ├── MsgDo.java
│ │ │ ├── MyDate.java
│ │ │ ├── OptDO.java
│ │ │ ├── RecordDetailDO.java
│ │ │ ├── RecordTypeIndexDO.java
│ │ │ ├── ThemeDO.java
│ │ │ └── VoiceDo.java
│ │ ├── misc
│ │ ├── Constant.java
│ │ ├── IntentConstant.java
│ │ ├── MsgConstant.java
│ │ └── MyMessageHandler.java
│ │ ├── receiver
│ │ └── AlarmReceiver.java
│ │ ├── service
│ │ ├── BackupService.java
│ │ └── MyWidgetProvider.java
│ │ ├── ui
│ │ ├── activity
│ │ │ ├── MainActivity.java
│ │ │ ├── account
│ │ │ │ ├── AccountTransactionActivity.java
│ │ │ │ ├── AccountsTransferActivity.java
│ │ │ │ ├── CreateOrEditAccountActivity.java
│ │ │ │ ├── EditAccountActivity.java
│ │ │ │ ├── EditAccountColorActivity.java
│ │ │ │ ├── MonthReportActivity.java
│ │ │ │ └── SelectAccountActivity.java
│ │ │ ├── record
│ │ │ │ ├── CreateNewRecordTypeActivity.java
│ │ │ │ ├── CreateOrEditRecordActivity.java
│ │ │ │ ├── ExportRecordActivity.java
│ │ │ │ ├── NewRecordTypeDetailActivity.java
│ │ │ │ ├── RecordLineChartActivity.java
│ │ │ │ ├── RecordPieAnalysisActivity.java
│ │ │ │ └── RecordTypeEditActivity.java
│ │ │ ├── system
│ │ │ │ ├── AboutActivity.java
│ │ │ │ ├── CaptureActivityAnyOrientation.java
│ │ │ │ ├── EditThemeActivity.java
│ │ │ │ ├── GestureLockActivity.java
│ │ │ │ ├── SettingsActivity.java
│ │ │ │ ├── UpdateActivity.java
│ │ │ │ └── WebActivity.java
│ │ │ └── user
│ │ │ │ ├── LoginActivity.java
│ │ │ │ ├── QrCodeActivity.java
│ │ │ │ ├── RegisterActivity.java
│ │ │ │ ├── UserActivity.java
│ │ │ │ ├── UserGetPassBackActivity.java
│ │ │ │ └── UserLinkActivity.java
│ │ ├── adapter
│ │ │ ├── AccountAdapter.java
│ │ │ ├── AccountRecordAdapter.java
│ │ │ ├── AccountTypeAdapter.java
│ │ │ ├── MyFragmentPagerAdapter.java
│ │ │ ├── NewRecordDetailAdapter.java
│ │ │ ├── OptMenuAdapter.java
│ │ │ ├── RecordAdapter.java
│ │ │ ├── RecordDetailFrgAdapter.java
│ │ │ ├── RecordLineAnalysisAdapter.java
│ │ │ ├── RecordPieAnalysisAdapter.java
│ │ │ ├── RecordTypeAdapter.java
│ │ │ ├── RecordTypeIconAdapter.java
│ │ │ ├── SelectAccountAdapter.java
│ │ │ └── helper
│ │ │ │ ├── ItemTouchHelperAdapter.java
│ │ │ │ ├── ItemTouchHelperViewHolder.java
│ │ │ │ ├── OnStartDragListener.java
│ │ │ │ └── SimpleItemTouchHelperCallback.java
│ │ └── fragment
│ │ │ ├── AccountFrg.java
│ │ │ ├── AnalysisFrg.java
│ │ │ ├── RecordDetailFrg.java
│ │ │ └── RecordFrg.java
│ │ ├── util
│ │ ├── AlarmUtil.java
│ │ ├── AppUtil.java
│ │ ├── DataConvertUtil.java
│ │ ├── DateTimeUtil.java
│ │ ├── DensityUtils.java
│ │ ├── ExceptionInfoUtil.java
│ │ ├── IconTypeUtil.java
│ │ ├── ImageUtil.java
│ │ ├── KeyBoardUtils.java
│ │ ├── LauncherIconUtil.java
│ │ ├── LoadAVOSLib.java
│ │ ├── LogUtils.java
│ │ ├── MD5Util.java
│ │ ├── MoneyUtil.java
│ │ ├── MsgUtil.java
│ │ ├── NetworkUtil.java
│ │ ├── NotificationUtil.java
│ │ ├── QRCodeUtil.java
│ │ ├── SPUtils.java
│ │ ├── ScreenUtils.java
│ │ ├── SnackBarUtil.java
│ │ ├── StatusBarCompat.java
│ │ ├── ThemeUtil.java
│ │ └── ThreadPoolUtil.java
│ │ └── view
│ │ ├── MyCircleRectangleTextView.java
│ │ ├── MyPreferenceCategory.java
│ │ ├── MyRoundColorView.java
│ │ ├── MyThemeTextView.java
│ │ ├── draggrid
│ │ ├── DragGridApi.java
│ │ └── DragGridView.java
│ │ └── gesturelockview
│ │ ├── GestureLockView.java
│ │ └── GestureLockViewGroup.java
│ ├── jniLibs
│ ├── armeabi
│ │ └── libmsc.so
│ ├── mips
│ │ └── libmsc.so
│ └── x86
│ │ └── libmsc.so
│ └── res
│ ├── anim
│ ├── down_out.xml
│ └── up_in.xml
│ ├── color
│ └── item_color.xml
│ ├── drawable-v21
│ ├── ic_color_lens_black_24dp.xml
│ └── ripple.xml
│ ├── drawable-xhdpi
│ ├── ad.png
│ ├── anjie.png
│ ├── arrorw.png
│ ├── baobao.png
│ ├── baojian.png
│ ├── baoxian.png
│ ├── baoxiao.png
│ ├── chashuikafei.png
│ ├── chuanpiao.png
│ ├── daoyou.png
│ ├── dapai.png
│ ├── dianfei.png
│ ├── dianying.png
│ ├── fangdai.png
│ ├── fangzu.png
│ ├── fanka.png
│ ├── feijipiao.png
│ ├── fuwu.png
│ ├── gonggongqiche.png
│ ├── haiwaidaigou.png
│ ├── huankuan.png
│ ├── huazhuangpin.png
│ ├── huochepiao.png
│ ├── huwaishebei.png
│ ├── ic_add_white.png
│ ├── ic_color_lens_black_24dp.png
│ ├── ic_delete_white.png
│ ├── ic_done_white.png
│ ├── ic_drawer_about.png
│ ├── ic_drawer_assignment_grey600_36dp.png
│ ├── ic_drawer_chat.png
│ ├── ic_drawer_check_update.png
│ ├── ic_drawer_exit.png
│ ├── ic_drawer_export.png
│ ├── ic_drawer_friends.png
│ ├── ic_drawer_guide.png
│ ├── ic_drawer_settings.png
│ ├── ic_drawer_share.png
│ ├── icon_account_chuzhika_grey.png
│ ├── icon_account_gupiao_grey.png
│ ├── icon_account_wangluozhanghu_gray.png
│ ├── icon_account_xianjin_grey.png
│ ├── icon_account_xinyongka_gray.png
│ ├── icon_account_yinhangka_gray.png
│ ├── icon_account_zhifubao_grey.png
│ ├── icon_add_1.png
│ ├── icon_add_10.png
│ ├── icon_add_11.png
│ ├── icon_add_12.png
│ ├── icon_add_13.png
│ ├── icon_add_14.png
│ ├── icon_add_15.png
│ ├── icon_add_16.png
│ ├── icon_add_17.png
│ ├── icon_add_18.png
│ ├── icon_add_19.png
│ ├── icon_add_2.png
│ ├── icon_add_20.png
│ ├── icon_add_3.png
│ ├── icon_add_4.png
│ ├── icon_add_5.png
│ ├── icon_add_6.png
│ ├── icon_add_7.png
│ ├── icon_add_8.png
│ ├── icon_add_9.png
│ ├── icon_paytype_delete.png
│ ├── icon_shouru_type_gongzi.png
│ ├── icon_shouru_type_hongbao.png
│ ├── icon_shouru_type_jiangjin.png
│ ├── icon_shouru_type_jianzhiwaikuai.png
│ ├── icon_shouru_type_jieru.png
│ ├── icon_shouru_type_linghuaqian.png
│ ├── icon_shouru_type_qita.png
│ ├── icon_shouru_type_shenghuofei.png
│ ├── icon_shouru_type_touzishouru.png
│ ├── icon_zhichu_type_baoxiaozhang.png
│ ├── icon_zhichu_type_canyin.png
│ ├── icon_zhichu_type_chongwu.png
│ ├── icon_zhichu_type_gouwu.png
│ ├── icon_zhichu_type_jiaotong.png
│ ├── icon_zhichu_type_jiechu.png
│ ├── icon_zhichu_type_jujia.png
│ ├── icon_zhichu_type_meirongjianshen.png
│ ├── icon_zhichu_type_renqingsongli.png
│ ├── icon_zhichu_type_shoujitongxun.png
│ ├── icon_zhichu_type_shuiguolingshi.png
│ ├── icon_zhichu_type_shuji.png
│ ├── icon_zhichu_type_taobao.png
│ ├── icon_zhichu_type_yanjiuyinliao.png
│ ├── icon_zhichu_type_yiban.png
│ ├── icon_zhichu_type_yiliaojiaoyu.png
│ ├── icon_zhichu_type_yule.png
│ ├── jiushui.png
│ ├── juechu.png
│ ├── kuzi.png
│ ├── lifa.png
│ ├── lingqian.png
│ ├── lingshi.png
│ ├── link.png
│ ├── lvyoudujia.png
│ ├── maicai.png
│ ├── majiang.png
│ ├── mao.png
│ ├── mask1.png
│ ├── my_back.png
│ ├── naifen.png
│ ├── quxian.png
│ ├── record_icon_bianji.png
│ ├── record_icon_shanchu.png
│ ├── richangyongpin.png
│ ├── shipin.png
│ ├── shuifei.png
│ ├── shumachanpin.png
│ ├── sijiache.png
│ ├── tingchefei.png
│ ├── tuikuan.png
│ ├── wanfan.png
│ ├── wangfei.png
│ ├── wanggou.png
│ ├── wanju.png
│ ├── weixiubaoyang.png
│ ├── wuye.png
│ ├── xianjin.png
│ ├── xiaochi.png
│ ├── xiaojingjiazhang.png
│ ├── xiezi.png
│ ├── xinyongkahuankuan.png
│ ├── xizao.png
│ ├── xuefei.png
│ ├── yan.png
│ ├── yaopinfei.png
│ ├── yifu.png
│ ├── yinhangshouxufei.png
│ ├── yiwaiposun.png
│ ├── yiwaisuode.png
│ ├── youfei.png
│ ├── youxi.png
│ ├── yuegenghuan.png
│ ├── yundongjianshen.png
│ ├── zaocan.png
│ ├── zawu.png
│ ├── zhifubao.png
│ ├── zhongfan.png
│ ├── zhuanzhang.png
│ ├── zhusu.png
│ └── zuojifei.png
│ ├── drawable
│ ├── bg_listview_item.xml
│ ├── card.xml
│ ├── card2.xml
│ ├── card3.xml
│ ├── widget_card_bottom.xml
│ └── widget_card_top.xml
│ ├── layout
│ ├── account_all_money_item.xml
│ ├── account_frg_layout.xml
│ ├── account_head.xml
│ ├── account_item.xml
│ ├── account_item_2.xml
│ ├── account_type_item.xml
│ ├── activity_abount.xml
│ ├── activity_account.xml
│ ├── activity_account_link.xml
│ ├── activity_account_transaction.xml
│ ├── activity_accounts_transfer.xml
│ ├── activity_create_new_record_type.xml
│ ├── activity_create_or_edit_account.xml
│ ├── activity_create_or_edit_record.xml
│ ├── activity_edit_account_color_activity.xml
│ ├── activity_edit_account_prop.xml
│ ├── activity_export_record.xml
│ ├── activity_gesture_lock.xml
│ ├── activity_login.xml
│ ├── activity_main.xml
│ ├── activity_month_report_acyivity.xml
│ ├── activity_new_record_type_detail.xml
│ ├── activity_qr_code.xml
│ ├── activity_record_line_chart.xml
│ ├── activity_record_pie_analysis_acticity.xml
│ ├── activity_record_type_edit.xml
│ ├── activity_register.xml
│ ├── activity_select_account.xml
│ ├── activity_settings.xml
│ ├── activity_update.xml
│ ├── activity_user.xml
│ ├── activity_user_get_pass_back.xml
│ ├── activity_web.xml
│ ├── analysis_frg_layout.xml
│ ├── avoscloud_sns_web_activity.xml
│ ├── frg_record_detail.xml
│ ├── item_account_record.xml
│ ├── item_line_record.xml
│ ├── item_link_head.xml
│ ├── item_pie_record.xml
│ ├── item_record_type.xml
│ ├── item_record_type_icon.xml
│ ├── item_record_type_status.xml
│ ├── item_record_year_status.xml
│ ├── left_menu.xml
│ ├── loading.xml
│ ├── opt_item.xml
│ ├── preference_category_widget.xml
│ ├── preference_item.xml
│ ├── record_edit_panel.xml
│ ├── record_foot.xml
│ ├── record_frg_layout.xml
│ ├── record_item.xml
│ ├── remark_item.xml
│ ├── theme_layout.xml
│ ├── toolbar.xml
│ └── widget_layout.xml
│ ├── mipmap-xhdpi
│ ├── avatar_middle.jpg
│ ├── icon1.png
│ ├── icon2.png
│ ├── suda.jpg
│ └── toddthink.jpg
│ ├── mipmap-xxhdpi
│ ├── icon1.png
│ └── icon2.png
│ ├── mipmap-xxxhdpi
│ ├── icon1.png
│ └── icon2.png
│ ├── values-v21
│ └── styles.xml
│ ├── values
│ ├── android_material_design_colours.xml
│ ├── arrays.xml
│ ├── attrs.xml
│ ├── colors.xml
│ ├── dimens.xml
│ ├── strings.xml
│ └── styles.xml
│ └── xml
│ ├── mywidget.xml
│ ├── preferences.xml
│ └── shortcuts.xml
├── build.gradle
├── gradle.properties
├── gradle
└── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradlew
├── gradlew.bat
├── img
├── Screenshot_20171008-165658.png
├── Screenshot_20171008-165700.png
├── Screenshot_20171008-165703.png
├── Screenshot_20171008-165708.png
├── Screenshot_20171008-165715.png
├── Screenshot_20171008-165718.png
└── Screenshot_20171008-165723.png
├── local.properties
└── settings.gradle
/.gitignore:
--------------------------------------------------------------------------------
1 | .gradle
2 | /local.properties
3 | /.idea/workspace.xml
4 | /.idea/libraries
5 | .DS_Store
6 | /build
7 | /captures
8 |
--------------------------------------------------------------------------------
/.idea/.name:
--------------------------------------------------------------------------------
1 | JzApp
--------------------------------------------------------------------------------
/.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 |
19 |
20 |
--------------------------------------------------------------------------------
/.idea/libraries/circleimageview_2_0_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/fastjson_1_1_39_leancloud.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/floatingactionbutton_1_3_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/.idea/libraries/freemarker_2_3_23.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/library_1_0_1.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/library_1_1_3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/library_1_2_8.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/libraries/library_2_4_0.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/okhttp_2_6_0_leancloud.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/libraries/okio_1_6_0_leancloud.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/.idea/runConfigurations.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/JzApp.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | # 账单助手
2 |
3 | ---
4 | 截图展示
5 |
6 | 
7 | 
8 | 
9 | 
10 | 
11 | 
12 | 
13 |
--------------------------------------------------------------------------------
/app/.gitignore:
--------------------------------------------------------------------------------
1 | /build
2 | /suda.jks
3 | /signing.properties
4 |
--------------------------------------------------------------------------------
/app/libs/Msc.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/libs/Msc.jar
--------------------------------------------------------------------------------
/app/libs/Sunflower.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/libs/Sunflower.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 E:\study\tools\android\sdk/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 |
19 | -keepattributes Signature
20 | -dontwarn com.jcraft.jzlib.**
21 | -keep class com.jcraft.jzlib.** { *;}
22 |
23 | -dontwarn sun.misc.**
24 | -keep class sun.misc.** { *;}
25 |
26 | -dontwarn com.alibaba.fastjson.**
27 | -keep class com.alibaba.fastjson.** { *;}
28 |
29 | -dontwarn sun.security.**
30 | -keep class sun.security.** { *; }
31 |
32 | -dontwarn com.google.**
33 | -keep class com.google.** { *;}
34 |
35 | -dontwarn com.avos.**
36 | -keep class com.avos.** { *;}
37 |
38 | -keep public class android.net.http.SslError
39 | -keep public class android.webkit.WebViewClient
40 |
41 | -dontwarn android.webkit.WebView
42 | -dontwarn android.net.http.SslError
43 | -dontwarn android.webkit.WebViewClient
44 |
45 | -dontwarn android.support.**
46 |
47 | -dontwarn org.apache.**
48 | -keep class org.apache.** { *;}
49 |
50 | -dontwarn org.jivesoftware.smack.**
51 | -keep class org.jivesoftware.smack.** { *;}
52 |
53 | -dontwarn com.loopj.**
54 | -keep class com.loopj.** { *;}
55 |
56 | -dontwarn com.squareup.okhttp.**
57 | -keep class com.squareup.okhttp.** { *;}
58 | -keep interface com.squareup.okhttp.** { *; }
59 |
60 | -dontwarn okio.**
61 |
62 | -dontwarn org.xbill.**
63 | -keep class org.xbill.** { *;}
64 |
65 | -keepattributes *Annotation*
66 |
67 | -keepclassmembers class * {
68 | public (org.json.JSONObject);
69 | }
70 |
71 | -keep public class com.suda.jzapp.R$*{
72 | public static final int *;
73 | }
74 |
75 | -keepclassmembers enum * {
76 | public static **[] values();
77 | public static ** valueOf(java.lang.String);
78 | }
79 |
--------------------------------------------------------------------------------
/app/src/androidTest/java/suda/com/jzapp/ApplicationTest.java:
--------------------------------------------------------------------------------
1 | package suda.com.jzapp;
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/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/assets/iflytek/recognize.xml
--------------------------------------------------------------------------------
/app/src/main/assets/iflytek/voice_bg.9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/assets/iflytek/voice_bg.9.png
--------------------------------------------------------------------------------
/app/src/main/assets/iflytek/voice_empty.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/assets/iflytek/voice_empty.png
--------------------------------------------------------------------------------
/app/src/main/assets/iflytek/voice_full.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/assets/iflytek/voice_full.png
--------------------------------------------------------------------------------
/app/src/main/assets/iflytek/waiting.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/assets/iflytek/waiting.png
--------------------------------------------------------------------------------
/app/src/main/assets/iflytek/warning.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/assets/iflytek/warning.png
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/MyApplication.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp;
2 |
3 | import android.support.multidex.MultiDexApplication;
4 |
5 | import com.avos.avoscloud.AVAnalytics;
6 | import com.avos.avoscloud.AVOSCloud;
7 | import com.iflytek.cloud.SpeechConstant;
8 | import com.iflytek.cloud.SpeechUtility;
9 | import com.suda.jzapp.dao.local.account.AccountLocalDao;
10 | import com.suda.jzapp.dao.local.conf.ConfigLocalDao;
11 | import com.suda.jzapp.util.LoadAVOSLib;
12 | import com.suda.jzapp.util.LogUtils;
13 | import com.suda.jzapp.util.SPUtils;
14 |
15 | /**
16 | * Created by Suda on 2015/9/16.
17 | */
18 | public class MyApplication extends MultiDexApplication {
19 |
20 | @Override
21 | public void onCreate() {
22 | super.onCreate();
23 |
24 | //接入讯飞
25 | SpeechUtility.createUtility(this, SpeechConstant.APPID + "="+BuildConfig.XUNFEI_APPID);
26 | //注册AvOs模块
27 | AVOSCloud.initialize(this, BuildConfig.LEANCOULD_APPID, BuildConfig.LEANCOULD_APPKEY);
28 | LoadAVOSLib.LoadLib();
29 | AVAnalytics.enableCrashReport(this, true);
30 | //AVIMClient.setOfflineMessagePush(true);
31 | initData();
32 | LogUtils.isDebug = BuildConfig.DEBUG;
33 | }
34 |
35 |
36 | private void initData() {
37 | if ((boolean) SPUtils.get(this, "firstIn", true)) {
38 | SPUtils.put(this, "firstIn", false);
39 | ConfigLocalDao dao = new ConfigLocalDao();
40 | AccountLocalDao accountLocalDao = new AccountLocalDao();
41 | accountLocalDao.initBudget(this);
42 | dao.initAccountTypeDb(this);
43 | dao.initRecordType(this);
44 | dao.createDefaultAccount(this);
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/cloud/avos/pojo/account/AVAccountIndex.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.cloud.avos.pojo.account;
2 |
3 | import com.avos.avoscloud.AVClassName;
4 | import com.avos.avoscloud.AVObject;
5 | import com.avos.avoscloud.AVUser;
6 | import com.suda.jzapp.util.DateTimeUtil;
7 |
8 | import java.util.Date;
9 |
10 | /**
11 | * Created by ghbha on 2016/4/7.
12 | */
13 | @AVClassName("AccountIndex")
14 | public class AVAccountIndex extends AVObject {
15 |
16 | public void setData(String data) {
17 | put(DATA, data);
18 | }
19 |
20 | public String getData() {
21 | return getString(DATA);
22 | }
23 |
24 | public void setUser(AVUser user) {
25 | put(USER, user);
26 | }
27 |
28 | public AVUser getUser() {
29 | return getAVUser(USER, AVUser.class);
30 | }
31 |
32 |
33 | public final static String USER = "User";
34 | public final static String DATA = "data";
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/cloud/avos/pojo/record/AVRecordType.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.cloud.avos.pojo.record;
2 |
3 | import com.avos.avoscloud.AVClassName;
4 | import com.avos.avoscloud.AVObject;
5 | import com.avos.avoscloud.AVUser;
6 | import com.suda.jzapp.util.DateTimeUtil;
7 |
8 | import java.util.Date;
9 |
10 | /**
11 | * Created by Suda on 2015/9/16.
12 | */
13 |
14 | @AVClassName("RecordType")
15 | public class AVRecordType extends AVObject {
16 |
17 | public void setUser(AVUser user) {
18 | put(USER, user);
19 | }
20 |
21 | public void setRecordTypeId(long recordTypeId) {
22 | put(RECORD_TYPE_ID, recordTypeId);
23 | }
24 |
25 | public void setRecordDesc(String recordDesc) {
26 | put(RECORD_DESC, recordDesc);
27 | }
28 |
29 | public void setRecordType(int recordType) {
30 | put(RECORD_TYPE, recordType);
31 | }
32 |
33 | public void setRecordIcon(int icon) {
34 | put(RECORD_ICON, icon);
35 | }
36 |
37 | public void setIndex(int index) {
38 | put(INDEX, index);
39 | }
40 |
41 | public void setRecordTypeIsDel(boolean isDel) {
42 | put(RECORD_TYPE_IS_DEL, isDel);
43 | }
44 |
45 | public AVUser getUser() {
46 | return getAVUser(USER, AVUser.class);
47 | }
48 |
49 |
50 | public long getRecordTypeId() {
51 | return getLong(RECORD_TYPE_ID);
52 | }
53 |
54 | public String getRecordDesc() {
55 | return getString(RECORD_DESC);
56 | }
57 |
58 | public int getRecordType() {
59 | return getInt(RECORD_TYPE);
60 | }
61 |
62 | public int getRecordRecordIcon() {
63 | return getInt(RECORD_ICON);
64 | }
65 |
66 | public int getIndex() {
67 | return getInt(INDEX);
68 | }
69 |
70 | public boolean isRecordTypeDel() {
71 | return getBoolean(RECORD_TYPE_IS_DEL);
72 | }
73 |
74 | public final static String USER = "User";
75 | public final static String RECORD_TYPE_ID = "RecordTypeID";
76 | public final static String RECORD_DESC = "RecordDesc";
77 | public final static String RECORD_TYPE = "RecordType";
78 | public final static String RECORD_ICON = "RecordIcon";
79 | public final static String INDEX = "Index";
80 | public final static String RECORD_TYPE_IS_DEL = "IsDel";
81 | }
82 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/cloud/avos/pojo/record/AVRecordTypeIndex.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.cloud.avos.pojo.record;
2 |
3 | import com.avos.avoscloud.AVClassName;
4 | import com.avos.avoscloud.AVObject;
5 | import com.avos.avoscloud.AVUser;
6 | import com.suda.jzapp.util.DateTimeUtil;
7 |
8 | import java.util.Date;
9 |
10 | /**
11 | * Created by ghbha on 2016/4/7.
12 | */
13 | @AVClassName("RecordTypeIndex")
14 | public class AVRecordTypeIndex extends AVObject {
15 |
16 | public void setData(String data) {
17 | put(DATA, data);
18 | }
19 |
20 | public String getData() {
21 | return getString(DATA);
22 | }
23 |
24 | public void setUser(AVUser user) {
25 | put(USER, user);
26 | }
27 |
28 | public AVUser getUser() {
29 | return getAVUser(USER, AVUser.class);
30 | }
31 |
32 | public final static String USER = "User";
33 | public final static String DATA = "data";
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/cloud/avos/pojo/system/AVUpdateCheck.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.cloud.avos.pojo.system;
2 |
3 | import com.avos.avoscloud.AVClassName;
4 | import com.avos.avoscloud.AVObject;
5 |
6 | /**
7 | * Created by suda on 2016/8/5.
8 | */
9 | @AVClassName("UpdateCheckDO")
10 | public class AVUpdateCheck extends AVObject {
11 |
12 | public String getUpdateInfo() {
13 | return getString(UPDATE_INFO);
14 | }
15 |
16 | public String getVersion() {
17 | return getString(VERSION);
18 | }
19 |
20 | public int getVersionCode() {
21 | return getInt(VERSION_CODE);
22 | }
23 |
24 | public String getLink() {
25 | return getString(LINK);
26 | }
27 |
28 | public final static String UPDATE_INFO = "updateInfo";
29 | public final static String VERSION = "version";
30 | public final static String VERSION_CODE = "versionCode";
31 | public final static String LINK = "link";
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/cloud/avos/pojo/user/MyAVUser.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.cloud.avos.pojo.user;
2 |
3 | import com.avos.avoscloud.AVClassName;
4 | import com.avos.avoscloud.AVFile;
5 | import com.avos.avoscloud.AVUser;
6 | import com.avos.avoscloud.PaasClient;
7 |
8 | import java.lang.reflect.Field;
9 |
10 | /**
11 | * Created by Suda on 2015/10/9.
12 | */
13 |
14 | @AVClassName("MyAVUser")
15 | public class MyAVUser extends AVUser {
16 |
17 |
18 | /**
19 | * fix 退出应用后获取用户信息不全问题
20 | * @return
21 | */
22 | public static MyAVUser getCurrentUser() {
23 | try {
24 | PaasClient paasClient = PaasClient.storageInstance();
25 | Field currentUser = PaasClient.class.getDeclaredField("currentUser");
26 | currentUser.setAccessible(true);
27 | AVUser avUser = (AVUser) currentUser.get(paasClient);
28 | if (avUser != null
29 | && avUser.getSessionToken() == null) {
30 | currentUser.set(paasClient, null);
31 | }
32 | } catch (Exception e) {
33 | e.printStackTrace();
34 | }
35 | return getCurrentUser(MyAVUser.class);
36 | }
37 |
38 | public static String getCurrentUserId() {
39 | if (getCurrentUser() == null) {
40 | return "";
41 | } else {
42 | return getCurrentUser().getObjectId();
43 | }
44 | }
45 |
46 | public AVFile getHeadImage() {
47 | return getAVFile(HEAD_IMAGE);
48 | }
49 |
50 | public void setHeadImage(AVFile value) {
51 | put(HEAD_IMAGE, value);
52 | }
53 |
54 | public Long getUserCode(){
55 | return getLong(USER_CODE);
56 | }
57 |
58 | public final static String HEAD_IMAGE = "headImage";
59 | public final static String USER_CODE = "userCode";
60 | }
61 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/cloud/avos/pojo/user/UserLink.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.cloud.avos.pojo.user;
2 |
3 | import com.avos.avoscloud.AVClassName;
4 | import com.avos.avoscloud.AVObject;
5 |
6 | import java.util.List;
7 |
8 | /**
9 | * Created by ghbha on 2016/4/14.
10 | */
11 | @AVClassName("UserLink")
12 | public class UserLink extends AVObject {
13 |
14 | public List getMembers() {
15 | return getList(MEMBER);
16 | }
17 |
18 | public void setMember(List list) {
19 | put(MEMBER, list);
20 | }
21 |
22 | public final static String MEMBER = "member";
23 | }
24 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/greendao/AccountType.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.greendao;
2 |
3 | import org.greenrobot.greendao.annotation.*;
4 |
5 | // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. Enable "keep" sections if you want to edit.
6 | /**
7 | * Entity mapped to table "ACCOUNT_TYPE".
8 | */
9 | @Entity
10 | public class AccountType {
11 |
12 | @Id
13 | private Long id;
14 | private Integer AccountTypeID;
15 | private String AccountDesc;
16 | private Integer AccountIcon;
17 |
18 | @Generated(hash = 551127513)
19 | public AccountType() {
20 | }
21 |
22 | public AccountType(Long id) {
23 | this.id = id;
24 | }
25 |
26 | @Generated(hash = 370868745)
27 | public AccountType(Long id, Integer AccountTypeID, String AccountDesc, Integer AccountIcon) {
28 | this.id = id;
29 | this.AccountTypeID = AccountTypeID;
30 | this.AccountDesc = AccountDesc;
31 | this.AccountIcon = AccountIcon;
32 | }
33 |
34 | public Long getId() {
35 | return id;
36 | }
37 |
38 | public void setId(Long id) {
39 | this.id = id;
40 | }
41 |
42 | public Integer getAccountTypeID() {
43 | return AccountTypeID;
44 | }
45 |
46 | public void setAccountTypeID(Integer AccountTypeID) {
47 | this.AccountTypeID = AccountTypeID;
48 | }
49 |
50 | public String getAccountDesc() {
51 | return AccountDesc;
52 | }
53 |
54 | public void setAccountDesc(String AccountDesc) {
55 | this.AccountDesc = AccountDesc;
56 | }
57 |
58 | public Integer getAccountIcon() {
59 | return AccountIcon;
60 | }
61 |
62 | public void setAccountIcon(Integer AccountIcon) {
63 | this.AccountIcon = AccountIcon;
64 | }
65 |
66 | }
67 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/greendao/Budget.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.greendao;
2 |
3 | import org.greenrobot.greendao.annotation.*;
4 |
5 | // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. Enable "keep" sections if you want to edit.
6 | /**
7 | * Entity mapped to table "BUDGET".
8 | */
9 | @Entity
10 | public class Budget {
11 |
12 | @Id(autoincrement = true)
13 | private Long id;
14 | private Double budgetMoney;
15 | private java.util.Date createdAt;
16 | private java.util.Date updatedAt;
17 |
18 | @Generated(hash = 1734026453)
19 | public Budget() {
20 | }
21 |
22 | public Budget(Long id) {
23 | this.id = id;
24 | }
25 |
26 | @Generated(hash = 1343105915)
27 | public Budget(Long id, Double budgetMoney, java.util.Date createdAt, java.util.Date updatedAt) {
28 | this.id = id;
29 | this.budgetMoney = budgetMoney;
30 | this.createdAt = createdAt;
31 | this.updatedAt = updatedAt;
32 | }
33 |
34 | public Long getId() {
35 | return id;
36 | }
37 |
38 | public void setId(Long id) {
39 | this.id = id;
40 | }
41 |
42 | public Double getBudgetMoney() {
43 | return budgetMoney;
44 | }
45 |
46 | public void setBudgetMoney(Double budgetMoney) {
47 | this.budgetMoney = budgetMoney;
48 | }
49 |
50 | public java.util.Date getCreatedAt() {
51 | return createdAt;
52 | }
53 |
54 | public void setCreatedAt(java.util.Date createdAt) {
55 | this.createdAt = createdAt;
56 | }
57 |
58 | public java.util.Date getUpdatedAt() {
59 | return updatedAt;
60 | }
61 |
62 | public void setUpdatedAt(java.util.Date updatedAt) {
63 | this.updatedAt = updatedAt;
64 | }
65 |
66 | }
67 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/greendao/Currency.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.greendao;
2 |
3 | import org.greenrobot.greendao.annotation.*;
4 |
5 | // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. Enable "keep" sections if you want to edit.
6 | /**
7 | * Entity mapped to table "CURRENCY".
8 | */
9 | @Entity
10 | public class Currency {
11 |
12 | @Id(autoincrement = true)
13 | private Long id;
14 | private String fromCurrency;
15 | private String toCurrency;
16 | private Double currency;
17 | private java.util.Date lastUpdate;
18 |
19 | @Generated(hash = 1387171739)
20 | public Currency() {
21 | }
22 |
23 | public Currency(Long id) {
24 | this.id = id;
25 | }
26 |
27 | @Generated(hash = 670672569)
28 | public Currency(Long id, String fromCurrency, String toCurrency, Double currency, java.util.Date lastUpdate) {
29 | this.id = id;
30 | this.fromCurrency = fromCurrency;
31 | this.toCurrency = toCurrency;
32 | this.currency = currency;
33 | this.lastUpdate = lastUpdate;
34 | }
35 |
36 | public Long getId() {
37 | return id;
38 | }
39 |
40 | public void setId(Long id) {
41 | this.id = id;
42 | }
43 |
44 | public String getFromCurrency() {
45 | return fromCurrency;
46 | }
47 |
48 | public void setFromCurrency(String fromCurrency) {
49 | this.fromCurrency = fromCurrency;
50 | }
51 |
52 | public String getToCurrency() {
53 | return toCurrency;
54 | }
55 |
56 | public void setToCurrency(String toCurrency) {
57 | this.toCurrency = toCurrency;
58 | }
59 |
60 | public Double getCurrency() {
61 | return currency;
62 | }
63 |
64 | public void setCurrency(Double currency) {
65 | this.currency = currency;
66 | }
67 |
68 | public java.util.Date getLastUpdate() {
69 | return lastUpdate;
70 | }
71 |
72 | public void setLastUpdate(java.util.Date lastUpdate) {
73 | this.lastUpdate = lastUpdate;
74 | }
75 |
76 | }
77 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/greendao/RemarkTip.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.greendao;
2 |
3 | import org.greenrobot.greendao.annotation.*;
4 |
5 | // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. Enable "keep" sections if you want to edit.
6 | /**
7 | * Entity mapped to table "REMARK_TIP".
8 | */
9 | @Entity
10 | public class RemarkTip {
11 |
12 | @Id(autoincrement = true)
13 | private Long id;
14 | private Integer useTimes;
15 | private String remark;
16 | private Boolean SyncStatus;
17 | private Boolean isDel;
18 |
19 | @Generated(hash = 1211701810)
20 | public RemarkTip() {
21 | }
22 |
23 | public RemarkTip(Long id) {
24 | this.id = id;
25 | }
26 |
27 | @Generated(hash = 75873709)
28 | public RemarkTip(Long id, Integer useTimes, String remark, Boolean SyncStatus, Boolean isDel) {
29 | this.id = id;
30 | this.useTimes = useTimes;
31 | this.remark = remark;
32 | this.SyncStatus = SyncStatus;
33 | this.isDel = isDel;
34 | }
35 |
36 | public Long getId() {
37 | return id;
38 | }
39 |
40 | public void setId(Long id) {
41 | this.id = id;
42 | }
43 |
44 | public Integer getUseTimes() {
45 | return useTimes;
46 | }
47 |
48 | public void setUseTimes(Integer useTimes) {
49 | this.useTimes = useTimes;
50 | }
51 |
52 | public String getRemark() {
53 | return remark;
54 | }
55 |
56 | public void setRemark(String remark) {
57 | this.remark = remark;
58 | }
59 |
60 | public Boolean getSyncStatus() {
61 | return SyncStatus;
62 | }
63 |
64 | public void setSyncStatus(Boolean SyncStatus) {
65 | this.SyncStatus = SyncStatus;
66 | }
67 |
68 | public Boolean getIsDel() {
69 | return isDel;
70 | }
71 |
72 | public void setIsDel(Boolean isDel) {
73 | this.isDel = isDel;
74 | }
75 |
76 | }
77 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/greendao/User.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.greendao;
2 |
3 | import org.greenrobot.greendao.annotation.*;
4 |
5 | // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. Enable "keep" sections if you want to edit.
6 | /**
7 | * Entity mapped to table "USER".
8 | */
9 | @Entity
10 | public class User {
11 |
12 | @Id(autoincrement = true)
13 | private Long id;
14 | private String userId;
15 | private String userName;
16 | private String headImage;
17 | private Long userCode;
18 |
19 | @Generated(hash = 586692638)
20 | public User() {
21 | }
22 |
23 | public User(Long id) {
24 | this.id = id;
25 | }
26 |
27 | @Generated(hash = 1699084683)
28 | public User(Long id, String userId, String userName, String headImage, Long userCode) {
29 | this.id = id;
30 | this.userId = userId;
31 | this.userName = userName;
32 | this.headImage = headImage;
33 | this.userCode = userCode;
34 | }
35 |
36 | public Long getId() {
37 | return id;
38 | }
39 |
40 | public void setId(Long id) {
41 | this.id = id;
42 | }
43 |
44 | public String getUserId() {
45 | return userId;
46 | }
47 |
48 | public void setUserId(String userId) {
49 | this.userId = userId;
50 | }
51 |
52 | public String getUserName() {
53 | return userName;
54 | }
55 |
56 | public void setUserName(String userName) {
57 | this.userName = userName;
58 | }
59 |
60 | public String getHeadImage() {
61 | return headImage;
62 | }
63 |
64 | public void setHeadImage(String headImage) {
65 | this.headImage = headImage;
66 | }
67 |
68 | public Long getUserCode() {
69 | return userCode;
70 | }
71 |
72 | public void setUserCode(Long userCode) {
73 | this.userCode = userCode;
74 | }
75 |
76 | }
77 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/greendao/YiYan.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.greendao;
2 |
3 | import org.greenrobot.greendao.annotation.*;
4 |
5 | // THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. Enable "keep" sections if you want to edit.
6 | /**
7 | * Entity mapped to table "YI_YAN".
8 | */
9 | @Entity
10 | public class YiYan {
11 | private String content;
12 |
13 | @Generated(hash = 2136910826)
14 | public YiYan() {
15 | }
16 |
17 | @Generated(hash = 339308486)
18 | public YiYan(String content) {
19 | this.content = content;
20 | }
21 |
22 | public String getContent() {
23 | return content;
24 | }
25 |
26 | public void setContent(String content) {
27 | this.content = content;
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/local/BaseLocalDao.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.local;
2 |
3 | import android.content.Context;
4 |
5 | import com.suda.jzapp.dao.greendao.DaoMaster;
6 | import com.suda.jzapp.dao.greendao.DaoSession;
7 |
8 | import java.text.DateFormat;
9 | import java.text.SimpleDateFormat;
10 | import java.util.Date;
11 | import java.util.List;
12 |
13 |
14 | public abstract class BaseLocalDao {
15 |
16 |
17 | protected static final T getSingleData(List result) {
18 | return (result == null || result.size() == 0) ? null : result.get(0);
19 | }
20 |
21 | protected DaoSession getDaoSession(Context ctx) {
22 | if (_daoSession == null) {
23 | _daoSession = getDaoMaster(ctx.getApplicationContext()).newSession();
24 | }
25 |
26 | return _daoSession;
27 | }
28 |
29 | private DaoMaster getDaoMaster(Context ctx) {
30 | if (_daoMaster == null) {
31 | synchronized (BaseLocalDao.class) {
32 | if (_daoMaster == null) {
33 | DaoMaster.OpenHelper helper =new DaoMaster.DevOpenHelper(ctx, USER_TABLE, null);
34 | _daoMaster = new DaoMaster(helper.getWritableDatabase());
35 | }
36 | }
37 | }
38 | return _daoMaster;
39 | }
40 |
41 | protected static String fmDate(Date date) {
42 | DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
43 | return format.format(date);
44 | }
45 |
46 | protected final static String USER_TABLE = "zhangdan.db";
47 |
48 | private static volatile DaoMaster _daoMaster;
49 | private static DaoSession _daoSession;
50 |
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/dao/local/user/UserLocalDao.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.dao.local.user;
2 |
3 | import android.content.Context;
4 |
5 | import com.suda.jzapp.dao.greendao.User;
6 | import com.suda.jzapp.dao.greendao.UserDao;
7 | import com.suda.jzapp.dao.local.BaseLocalDao;
8 |
9 | /**
10 | * Created by ghbha on 2016/4/6.
11 | */
12 | public class UserLocalDao extends BaseLocalDao {
13 |
14 | public User getUser(String userID, Context context) {
15 | UserDao userDao = getDaoSession(context).getUserDao();
16 | return getSingleData(userDao.queryBuilder().where(UserDao.Properties.UserId.eq(userID)).list());
17 | }
18 |
19 | public User getUserByUserName(String userName, Context context) {
20 | UserDao userDao = getDaoSession(context).getUserDao();
21 | if (userName == null)
22 | userName = "";
23 | return getSingleData(userDao.queryBuilder().where(UserDao.Properties.UserName.eq(userName)).list());
24 | }
25 |
26 | public void delUserByUserId(String userID, Context context) {
27 | UserDao userDao = getDaoSession(context).getUserDao();
28 | userDao.queryBuilder().where(UserDao.Properties.UserId.eq(userID)).buildDelete().executeDeleteWithoutDetachingEntities();
29 | }
30 |
31 | public void clear(Context context) {
32 | UserDao userDao = getDaoSession(context).getUserDao();
33 | userDao.deleteAll();
34 | }
35 |
36 | public void insertUser(User user, Context context) {
37 | UserDao userDao = getDaoSession(context).getUserDao();
38 | userDao.insert(user);
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/manager/BaseManager.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.manager;
2 |
3 | import android.content.Context;
4 | import android.os.Handler;
5 | import android.os.Message;
6 |
7 | import com.avos.avoscloud.AVException;
8 | import com.suda.jzapp.dao.cloud.avos.pojo.user.MyAVUser;
9 | import com.suda.jzapp.misc.Constant;
10 | import com.suda.jzapp.util.LogUtils;
11 | import com.suda.jzapp.util.NetworkUtil;
12 | import com.suda.jzapp.util.SPUtils;
13 |
14 | /**
15 | * Created by Suda on 2015/11/16.
16 | */
17 | public abstract class BaseManager {
18 |
19 | public BaseManager(Context context) {
20 | _context = context;
21 | }
22 |
23 | protected void sendEmptyMessage(Handler handler, int what) {
24 | if (handler != null)
25 | handler.sendEmptyMessage(what);
26 | }
27 |
28 | protected void sendMessage(Handler handler, Object value) {
29 | sendMessage(handler, value, true);
30 | }
31 |
32 | protected void sendMessage(Handler handler, Object value, boolean isSuccess) {
33 | Message message = new Message();
34 | if (isSuccess && value != null) {
35 | message.what = Constant.MSG_SUCCESS;
36 | message.obj = value;
37 | } else {
38 | message.what = Constant.MSG_ERROR;
39 | }
40 | handler.sendMessage(message);
41 | }
42 |
43 | protected void getAvEx(AVException avEx) {
44 | LogUtils.getAvEx(avEx, _context);
45 | }
46 |
47 | protected Context _context;
48 |
49 | protected interface Callback {
50 | void doSth(boolean isSync, String objId);
51 | }
52 |
53 | protected boolean canSync() {
54 | return MyAVUser.getCurrentUser() != null &&
55 | ((boolean) SPUtils.get(_context, true, Constant.SP_SYNC_ONLY_WIFI, false) ?
56 | NetworkUtil.checkWifi(_context) : NetworkUtil.checkNetwork(_context));
57 | }
58 |
59 | protected static final int PAGE_SIZE = 1000;
60 | }
61 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/manager/domain/AccountIndexDO.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.manager.domain;
2 |
3 | /**
4 | * Created by ghbha on 2016/4/7.
5 | */
6 | public class AccountIndexDO {
7 | private long accountID;
8 | private int index;
9 |
10 | public long getAccountID() {
11 | return accountID;
12 | }
13 |
14 | public void setAccountID(long accountID) {
15 | this.accountID = accountID;
16 | }
17 |
18 | public int getIndex() {
19 | return index;
20 | }
21 |
22 | public void setIndex(int index) {
23 | this.index = index;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/manager/domain/ChartRecordDo.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.manager.domain;
2 |
3 | import java.util.Date;
4 |
5 | /**
6 | * Created by ghbha on 2016/4/10.
7 | */
8 | public class ChartRecordDo {
9 |
10 | private double recordMoney;
11 | private String recordDesc;
12 | private int iconId;
13 | private Long RecordTypeID;
14 | private int recordYear;
15 | private int recordMonth;
16 | private double per;
17 |
18 | public double getRecordMoney() {
19 | return recordMoney;
20 | }
21 |
22 | public void setRecordMoney(double recordMoney) {
23 | this.recordMoney = recordMoney;
24 | }
25 |
26 | public String getRecordDesc() {
27 | return recordDesc;
28 | }
29 |
30 | public void setRecordDesc(String recordDesc) {
31 | this.recordDesc = recordDesc;
32 | }
33 |
34 | public int getIconId() {
35 | return iconId;
36 | }
37 |
38 | public void setIconId(int iconId) {
39 | this.iconId = iconId;
40 | }
41 |
42 | public Long getRecordTypeID() {
43 | return RecordTypeID;
44 | }
45 |
46 | public void setRecordTypeID(Long recordTypeID) {
47 | RecordTypeID = recordTypeID;
48 | }
49 |
50 | public double getPer() {
51 | return per;
52 | }
53 |
54 | public void setPer(double per) {
55 | this.per = per;
56 | }
57 |
58 | public int getRecordMonth() {
59 | return recordMonth;
60 | }
61 |
62 | public void setRecordMonth(int recordMonth) {
63 | this.recordMonth = recordMonth;
64 | }
65 |
66 | public int getRecordYear() {
67 | return recordYear;
68 | }
69 |
70 | public void setRecordYear(int recordYear) {
71 | this.recordYear = recordYear;
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/manager/domain/ExcelRecord.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.manager.domain;
2 |
3 | import java.util.Date;
4 |
5 | /**
6 | * Created by ghbha on 2016/5/19.
7 | */
8 | public class ExcelRecord {
9 | private Date recordDate;
10 | private String recordAccount;
11 | private String recordName;
12 | private String remark;
13 | private double recordMoney;
14 |
15 | public Date getRecordDate() {
16 | return recordDate;
17 | }
18 |
19 | public void setRecordDate(Date recordDate) {
20 | this.recordDate = recordDate;
21 | }
22 |
23 | public String getRecordAccount() {
24 | return recordAccount;
25 | }
26 |
27 | public void setRecordAccount(String recordAccount) {
28 | this.recordAccount = recordAccount;
29 | }
30 |
31 | public String getRecordName() {
32 | return recordName;
33 | }
34 |
35 | public void setRecordName(String recordName) {
36 | this.recordName = recordName;
37 | }
38 |
39 | public double getRecordMoney() {
40 | return recordMoney;
41 | }
42 |
43 | public void setRecordMoney(double recordMoney) {
44 | this.recordMoney = recordMoney;
45 | }
46 |
47 | public String getRemark() {
48 | return remark;
49 | }
50 |
51 | public void setRemark(String remark) {
52 | this.remark = remark;
53 | }
54 | }
55 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/manager/domain/LineChartDo.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.manager.domain;
2 |
3 | /**
4 | * Created by ghbha on 2016/4/12.
5 | */
6 | public class LineChartDo {
7 | private int month;
8 | private double allIn;
9 | private double allOut;
10 | private double allLeft;
11 |
12 | public int getMonth() {
13 | return month;
14 | }
15 |
16 | public void setMonth(int month) {
17 | this.month = month;
18 | }
19 |
20 | public double getAllIn() {
21 | return allIn;
22 | }
23 |
24 | public void setAllIn(double allIn) {
25 | this.allIn = allIn;
26 | }
27 |
28 | public double getAllOut() {
29 | return allOut;
30 | }
31 |
32 | public void setAllOut(double allOut) {
33 | this.allOut = allOut;
34 | }
35 |
36 | public double getAllLeft() {
37 | return allLeft;
38 | }
39 |
40 | public void setAllLeft(double allLeft) {
41 | this.allLeft = allLeft;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/manager/domain/MonthReport.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.manager.domain;
2 |
3 | /**
4 | * Created by ghbha on 2016/4/15.
5 | */
6 | public class MonthReport {
7 | private double inMoney;
8 | private double outMoney;
9 | private double budgetMoney;
10 | private double allMoney;
11 |
12 | private String outMaxType;
13 | private double outMaxMoney;
14 |
15 | public Double getInMoney() {
16 | return inMoney;
17 | }
18 |
19 | public void setInMoney(Double inMoney) {
20 | this.inMoney = inMoney;
21 | }
22 |
23 | public Double getOutMoney() {
24 | return outMoney;
25 | }
26 |
27 | public void setOutMoney(Double outMoney) {
28 | this.outMoney = outMoney;
29 | }
30 |
31 | public Double getBudgetMoney() {
32 | return budgetMoney;
33 | }
34 |
35 | public void setBudgetMoney(Double budgetMoney) {
36 | this.budgetMoney = budgetMoney;
37 | }
38 |
39 | public void setInMoney(double inMoney) {
40 | this.inMoney = inMoney;
41 | }
42 |
43 | public void setOutMoney(double outMoney) {
44 | this.outMoney = outMoney;
45 | }
46 |
47 | public void setBudgetMoney(double budgetMoney) {
48 | this.budgetMoney = budgetMoney;
49 | }
50 |
51 | public String getOutMaxType() {
52 | return outMaxType;
53 | }
54 |
55 | public void setOutMaxType(String outMaxType) {
56 | this.outMaxType = outMaxType;
57 | }
58 |
59 | public double getOutMaxMoney() {
60 | return outMaxMoney;
61 | }
62 |
63 | public void setOutMaxMoney(double outMaxMoney) {
64 | this.outMaxMoney = outMaxMoney;
65 | }
66 |
67 | public double getAllMoney() {
68 | return allMoney;
69 | }
70 |
71 | public void setAllMoney(double allMoney) {
72 | this.allMoney = allMoney;
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/manager/domain/MsgDo.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.manager.domain;
2 |
3 | /**
4 | * Created by ghbha on 2016/4/13.
5 | */
6 | public class MsgDo {
7 |
8 | private int msgType;
9 |
10 | private String msgContent;
11 |
12 | private String msgExtra;
13 |
14 | private String sendUser;
15 |
16 | public int getMsgType() {
17 | return msgType;
18 | }
19 |
20 | public void setMsgType(int msgType) {
21 | this.msgType = msgType;
22 | }
23 |
24 | public String getMsgContent() {
25 | return msgContent;
26 | }
27 |
28 | public void setMsgContent(String msgContent) {
29 | this.msgContent = msgContent;
30 | }
31 |
32 | public String getMsgExtra() {
33 | return msgExtra;
34 | }
35 |
36 | public void setMsgExtra(String msgExtra) {
37 | this.msgExtra = msgExtra;
38 | }
39 |
40 | public String getSendUser() {
41 | return sendUser;
42 | }
43 |
44 | public void setSendUser(String sendUser) {
45 | this.sendUser = sendUser;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/manager/domain/MyDate.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.manager.domain;
2 |
3 | import java.util.Calendar;
4 | import java.util.Date;
5 |
6 | /**
7 | * Created by suda on 2016/8/13.
8 | */
9 | public class MyDate {
10 | private int year;
11 | private int month;
12 | private int day;
13 |
14 | public MyDate(int year, int month, int day) {
15 | this.year = year;
16 | this.month = month;
17 | this.day = day;
18 | }
19 |
20 | public int getYear() {
21 | return year;
22 | }
23 |
24 | public void setYear(int year) {
25 | this.year = year;
26 | }
27 |
28 | public int getMonth() {
29 | return month;
30 | }
31 |
32 | public void setMonth(int month) {
33 | this.month = month;
34 | }
35 |
36 | public int getDay() {
37 | return day;
38 | }
39 |
40 | public void setDay(int day) {
41 | this.day = day;
42 | }
43 |
44 | public Date getDate() {
45 | Calendar c = Calendar.getInstance();
46 | c.set(Calendar.YEAR, year);
47 | c.set(Calendar.MONTH, month);
48 | c.set(Calendar.DAY_OF_MONTH, day);
49 | c.set(Calendar.MINUTE, 0);
50 | c.set(Calendar.SECOND, 0);
51 | c.set(Calendar.MILLISECOND, 0);
52 | //Log.d("@@@@@getDate", c.getTimeInMillis() + "");
53 | return c.getTime();
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/manager/domain/OptDO.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.manager.domain;
2 |
3 | /**
4 | * Created by ghbha on 2016/2/14.
5 | */
6 | public class OptDO {
7 | private int id;
8 | private int icon;
9 | private String tltle;
10 | private Class act;
11 |
12 | public OptDO(Class act, int id, int icon, String tltle) {
13 | this.act = act;
14 | this.id = id;
15 | this.icon = icon;
16 | this.tltle = tltle;
17 | }
18 |
19 | public int getId() {
20 | return id;
21 | }
22 |
23 | public void setId(int id) {
24 | this.id = id;
25 | }
26 |
27 | public Class getAct() {
28 | return act;
29 | }
30 |
31 | public void setAct(Class act) {
32 | this.act = act;
33 | }
34 |
35 | public int getIcon() {
36 | return icon;
37 | }
38 |
39 | public void setIcon(int icon) {
40 | this.icon = icon;
41 | }
42 |
43 | public String getTltle() {
44 | return tltle;
45 | }
46 |
47 | public void setTltle(String tltle) {
48 | this.tltle = tltle;
49 | }
50 | }
51 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/manager/domain/RecordTypeIndexDO.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.manager.domain;
2 |
3 | /**
4 | * Created by ghbha on 2016/4/7.
5 | */
6 | public class RecordTypeIndexDO {
7 | private long recordTypeID;
8 | private int index;
9 |
10 | public long getRecordTypeID() {
11 | return recordTypeID;
12 | }
13 |
14 | public void setRecordTypeID(long recordTypeID) {
15 | this.recordTypeID = recordTypeID;
16 | }
17 |
18 | public int getIndex() {
19 | return index;
20 | }
21 |
22 | public void setIndex(int index) {
23 | this.index = index;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/manager/domain/ThemeDO.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.manager.domain;
2 |
3 | /**
4 | * Created by ghbha on 2016/2/14.
5 | */
6 | public class ThemeDO {
7 |
8 |
9 | private int themeID;
10 | private int mainColorID;
11 | private int mainDarkColorID;
12 | private int textColorID;
13 |
14 | public ThemeDO(int themeID, int mainColorID, int mainDarkColorID, int textColorID) {
15 | this.themeID = themeID;
16 | this.mainColorID = mainColorID;
17 | this.mainDarkColorID = mainDarkColorID;
18 | this.textColorID = textColorID;
19 | }
20 |
21 | public int getTextColorID() {
22 | return textColorID;
23 | }
24 |
25 | public void setTextColorID(int textColorID) {
26 | this.textColorID = textColorID;
27 | }
28 |
29 | public int getThemeID() {
30 | return themeID;
31 | }
32 |
33 | public void setThemeID(int themeID) {
34 | this.themeID = themeID;
35 | }
36 |
37 | public int getMainColorID() {
38 | return mainColorID;
39 | }
40 |
41 | public void setMainColorID(int mainColorID) {
42 | this.mainColorID = mainColorID;
43 | }
44 |
45 | public int getMainDarkColorID() {
46 | return mainDarkColorID;
47 | }
48 |
49 | public void setMainDarkColorID(int mainDarkColorID) {
50 | this.mainDarkColorID = mainDarkColorID;
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/manager/domain/VoiceDo.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.manager.domain;
2 |
3 | import com.suda.jzapp.dao.greendao.RecordType;
4 |
5 | /**
6 | * Created by ghbha on 2016/5/20.
7 | */
8 | public class VoiceDo {
9 |
10 | private int resultCode;
11 | private String splitStr;
12 | private double money;
13 | private RecordType recordTypeDo;
14 |
15 | public String getSplitStr() {
16 | return splitStr;
17 | }
18 |
19 | public void setSplitStr(String splitStr) {
20 | this.splitStr = splitStr;
21 | }
22 |
23 | public int getResultCode() {
24 | return resultCode;
25 | }
26 |
27 | public void setResultCode(int resultCode) {
28 | this.resultCode = resultCode;
29 | }
30 |
31 | public double getMoney() {
32 | return money;
33 | }
34 |
35 | public void setMoney(double money) {
36 | this.money = money;
37 | }
38 |
39 | public RecordType getRecordTypeDo() {
40 | return recordTypeDo;
41 | }
42 |
43 | public void setRecordTypeDo(RecordType recordTypeDo) {
44 | this.recordTypeDo = recordTypeDo;
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/misc/IntentConstant.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.misc;
2 |
3 | /**
4 | * Created by ghbha on 2016/2/15.
5 | */
6 | public class IntentConstant {
7 |
8 | public static final String ACCOUNT_ID = "ACCOUNT_ID";
9 | public static final String ACCOUNT_COUNT = "ACCOUNT_COUNT";
10 | public static final String EDIT_TYPE = "EDIT_TYPE";
11 | public static final String EDIT_ACCOUNT_NAME = "EDIT_ACCOUNT_NAME";
12 | public static final String EDIT_ACCOUNT_MONEY = "EDIT_ACCOUNT_MONEY";
13 | public static final String EDIT_ACCOUNT_REMARK = "EDIT_ACCOUNT_REMARK";
14 | public static final String EDIT_ACCOUNT_TYPE = "EDIT_ACCOUNT_TYPE ";
15 | public static final String RECORD_TYPE = "RECORD_TYPE ";
16 | public static final String OLD_RECORD = "OLD_RECORD";
17 | public static final String SETTING_MODE = "setting_mode";
18 | public static final String FORGET_GESTURE = "FORGET_GESTURE";
19 |
20 | public static final String RECORD_YEAR = "RECORD_YEAR";
21 | public static final String RECORD_MONTH = "RECORD_MONTH";
22 | public static final String RECORD_TYPE_ID = "RECORD_TYPE_ID";
23 | public static final String RECORD_DESC = "RECORD_DESC";
24 | public static final String RECORD_OUT_IN = "RECORD_OUT_IN";
25 |
26 | public static final String VOICE_RECORD = "VOICE_RECORD";
27 | public static final String VOICE_RECORD_TYPE = "VOICE_RECORD_TYPE";
28 |
29 | public static final String UPDATE_CHECK = "UPDATE_CHECK";
30 |
31 | public static final String WIDGET_GO_ID = "WIDGET_GO_ID";
32 |
33 | public static final String WEB_URL = "WEB_URL";
34 | public static final String WEB_DESC = "WEB_DESC";
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/misc/MsgConstant.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.misc;
2 |
3 | /**
4 | * Created by ghbha on 2016/4/13.
5 | */
6 | public class MsgConstant {
7 |
8 | //非法消息类型
9 | public final static int MSG_TYPE_INVALID = -1;
10 | //普通消息
11 | public final static int MSG_TYPE_COMMON = 0;
12 | //请求关联
13 | public final static int MSG_TYPE_LINK_REQUEST = 1;
14 | //接受关联
15 | public final static int MSG_TYPE_LINK_ACCEPT = 2;
16 | //取消关联
17 | public final static int MSG_TYPE_LINK_CANCEL = 3;
18 | //解除关联
19 | public final static int MSG_TYPE_LINK_BROKE = 4;
20 | }
21 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/misc/MyMessageHandler.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.misc;
2 |
3 | import android.content.Context;
4 | import android.util.Log;
5 |
6 | import com.avos.avoscloud.im.v2.AVIMClient;
7 | import com.avos.avoscloud.im.v2.AVIMConversation;
8 | import com.avos.avoscloud.im.v2.AVIMMessage;
9 | import com.avos.avoscloud.im.v2.AVIMMessageHandler;
10 | import com.avos.avoscloud.im.v2.messages.AVIMTextMessage;
11 | import com.suda.jzapp.manager.domain.MsgDo;
12 | import com.suda.jzapp.util.MsgUtil;
13 |
14 | /**
15 | * Created by ghbha on 2016/4/13.
16 | */
17 | public class MyMessageHandler extends AVIMMessageHandler {
18 |
19 |
20 | private Context mContext;
21 |
22 | public MyMessageHandler(Context context) {
23 | this.mContext = context;
24 | }
25 |
26 | @Override
27 | public void onMessage(AVIMMessage message, AVIMConversation conversation, AVIMClient client) {
28 | Log.d(TAG, ((AVIMTextMessage) message).getText().toString());
29 | MsgDo msgDo = MsgUtil.parseMsg(((AVIMTextMessage) message).getText().toString());
30 | if (msgDo.getMsgType() == MsgConstant.MSG_TYPE_LINK_REQUEST
31 | || msgDo.getMsgType() == MsgConstant.MSG_TYPE_LINK_ACCEPT
32 | || msgDo.getMsgType() == MsgConstant.MSG_TYPE_LINK_CANCEL
33 | ) {
34 | msgDo.setSendUser(message.getFrom());
35 | if (msgCallBack != null) {
36 | msgCallBack.show(msgDo);
37 | }
38 | }
39 | }
40 |
41 | @Override
42 | public void onMessageReceipt(AVIMMessage message, AVIMConversation conversation, AVIMClient client) {
43 |
44 | }
45 |
46 | public void setMsgCallBack(MsgCallBack msgCallBack) {
47 | this.msgCallBack = msgCallBack;
48 | }
49 |
50 | private MsgCallBack msgCallBack;
51 |
52 | private final static String TAG = "Message";
53 |
54 |
55 | public interface MsgCallBack {
56 | void show(MsgDo msgDo);
57 | }
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/receiver/AlarmReceiver.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.receiver;
2 |
3 | import android.content.BroadcastReceiver;
4 | import android.content.Context;
5 | import android.content.Intent;
6 |
7 | import com.suda.jzapp.util.AlarmUtil;
8 | import com.suda.jzapp.util.LogUtils;
9 | import com.suda.jzapp.util.NotificationUtil;
10 |
11 | import java.text.DateFormat;
12 | import java.text.SimpleDateFormat;
13 | import java.util.Calendar;
14 |
15 | /**
16 | * Created by ghbha on 2016/4/15.
17 | */
18 | public class AlarmReceiver extends BroadcastReceiver {
19 | @Override
20 | public void onReceive(Context context, Intent intent) {
21 | DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
22 | LogUtils.e("ALARM", format.format(Calendar.getInstance().getTime()));
23 | NotificationUtil.showRemindNotification(context, "小主,记得记账哦");
24 | AlarmUtil.createAlarm(context);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/service/BackupService.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.service;
2 |
3 | import android.app.Service;
4 | import android.content.Intent;
5 | import android.os.IBinder;
6 | import android.support.annotation.Nullable;
7 |
8 | import com.suda.jzapp.dao.cloud.avos.pojo.user.MyAVUser;
9 | import com.suda.jzapp.manager.SyncManager;
10 | import com.suda.jzapp.misc.Constant;
11 | import com.suda.jzapp.util.AlarmUtil;
12 | import com.suda.jzapp.util.LogUtils;
13 | import com.suda.jzapp.util.NetworkUtil;
14 | import com.suda.jzapp.util.SPUtils;
15 |
16 | /**
17 | * Created by Suda on 2015/10/9.
18 | */
19 | public class BackupService extends Service {
20 |
21 | @Nullable
22 | @Override
23 | public IBinder onBind(Intent intent) {
24 | return null;
25 | }
26 |
27 | @Override
28 | public void onCreate() {
29 | super.onCreate();
30 |
31 | if ((boolean) SPUtils.get(this, true, Constant.SP_ALARM_EVERY_DAY, false))
32 | AlarmUtil.createAlarm(this);
33 | }
34 |
35 | @Override
36 | public int onStartCommand(Intent intent, int flags, int startId) {
37 | if (canSync()) {
38 | LogUtils.e(TAG, "START_BACK_UP");
39 | new Thread(new Runnable() {
40 | @Override
41 | public void run() {
42 | LogUtils.e(TAG, "START_BACK_UP_1");
43 | syncManager.forceBackup();
44 | stopSelf();
45 | }
46 | }).start();
47 | } else
48 | stopSelf();
49 | return super.onStartCommand(intent, flags, startId);
50 | }
51 |
52 | private boolean canSync() {
53 | return MyAVUser.getCurrentUser() != null &&
54 | ((boolean) SPUtils.get(this, true, Constant.SP_SYNC_ONLY_WIFI, false) ? NetworkUtil.checkWifi(this) : NetworkUtil.checkNetwork(this));
55 | }
56 |
57 | private SyncManager syncManager = new SyncManager(this);
58 | private static final String TAG = "SYNC_SERVICE";
59 | }
60 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/ui/activity/account/EditAccountColorActivity.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.ui.activity.account;
2 |
3 | import android.app.Activity;
4 | import android.content.Intent;
5 | import android.os.Bundle;
6 | import android.os.Handler;
7 | import android.os.Message;
8 | import android.view.MotionEvent;
9 | import android.view.View;
10 |
11 | import com.suda.jzapp.R;
12 | import com.suda.jzapp.manager.AccountManager;
13 | import com.suda.jzapp.misc.IntentConstant;
14 | import com.suda.jzapp.view.MyRoundColorView;
15 |
16 | public class EditAccountColorActivity extends Activity {
17 |
18 |
19 | @Override
20 | protected void onCreate(Bundle savedInstanceState) {
21 | super.onCreate(savedInstanceState);
22 | setContentView(R.layout.activity_edit_account_color_activity);
23 | mAccountID = getIntent().getLongExtra(IntentConstant.ACCOUNT_ID, 0);
24 | accountManager = new AccountManager(this);
25 | }
26 |
27 | public void switchColor(View view) {
28 | MyRoundColorView myRoundColorView = (MyRoundColorView) view;
29 | final Intent intent = new Intent();
30 | intent.putExtra("color", myRoundColorView.getRoundColor());
31 |
32 | if (mAccountID>0){
33 | accountManager.updateAccountColor(mAccountID, myRoundColorView.getRoundColor() + "", new Handler() {
34 | @Override
35 | public void handleMessage(Message msg) {
36 | super.handleMessage(msg);
37 | setResult(RESULT_OK, intent);
38 | finish();
39 | }
40 | });
41 | }else {
42 | setResult(RESULT_OK, intent);
43 | finish();
44 | }
45 | }
46 |
47 | @Override
48 | public boolean onTouchEvent(MotionEvent event) {
49 | finish();
50 | return true;
51 | }
52 |
53 | private long mAccountID;
54 | private AccountManager accountManager;
55 | }
56 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/ui/activity/record/RecordTypeEditActivity.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.ui.activity.record;
2 |
3 | import android.support.v7.app.AppCompatActivity;
4 | import android.os.Bundle;
5 |
6 | import com.suda.jzapp.BaseActivity;
7 | import com.suda.jzapp.R;
8 |
9 | public class RecordTypeEditActivity extends BaseActivity {
10 |
11 | @Override
12 | protected void onCreate(Bundle savedInstanceState) {
13 | super.onCreate(savedInstanceState);
14 | setContentView(R.layout.activity_record_type_edit);
15 | }
16 |
17 | @Override
18 | protected void initWidget() {
19 |
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/ui/activity/system/CaptureActivityAnyOrientation.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.ui.activity.system;
2 |
3 | //import com.journeyapps.barcodescanner.CaptureActivity;
4 |
5 | /**
6 | * Created by ghbha on 2016/4/14.
7 | */
8 | public class CaptureActivityAnyOrientation {
9 | // public class CaptureActivityAnyOrientation extends CaptureActivity {
10 | }
11 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/ui/activity/system/EditThemeActivity.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.ui.activity.system;
2 |
3 | import android.app.Activity;
4 | import android.os.Bundle;
5 | import android.view.MotionEvent;
6 | import android.view.View;
7 |
8 | import com.suda.jzapp.R;
9 | import com.suda.jzapp.util.ThemeUtil;
10 | import com.suda.jzapp.view.MyRoundColorView;
11 |
12 | /**
13 | * Created by ghbha on 2016/2/14.
14 | */
15 | public class EditThemeActivity extends Activity {
16 |
17 |
18 | @Override
19 | protected void onCreate(Bundle savedInstanceState) {
20 | super.onCreate(savedInstanceState);
21 | setContentView(R.layout.theme_layout);
22 | for (int i = 0; i < 9; i++) {
23 | ((MyRoundColorView) findViewById(getId("theme" + i))).setMyRoundColor(getResources().getColor(ThemeUtil.map.get(i).getMainColorID()));
24 | }
25 | }
26 |
27 | public int getId(String paramString) {
28 | return getResources().getIdentifier(paramString, "id", getPackageName());
29 | }
30 |
31 |
32 | public void switchTheme(View view) {
33 | String tag = view.getTag().toString();
34 | ThemeUtil.setThemeColor(this, Integer.parseInt(tag));
35 | setResult(RESULT_OK);
36 | this.finish();
37 | }
38 |
39 | @Override
40 | public boolean onTouchEvent(MotionEvent event) {
41 | finish();
42 | return true;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/ui/activity/system/UpdateActivity.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.ui.activity.system;
2 |
3 | import android.app.Activity;
4 | import android.content.Intent;
5 | import android.net.Uri;
6 | import android.os.Bundle;
7 | import android.view.View;
8 | import android.widget.TextView;
9 |
10 | import com.suda.jzapp.R;
11 | import com.suda.jzapp.dao.cloud.avos.pojo.system.AVUpdateCheck;
12 | import com.suda.jzapp.misc.IntentConstant;
13 |
14 | public class UpdateActivity extends Activity {
15 |
16 |
17 | private AVUpdateCheck mAvUpdateCheck;
18 |
19 | @Override
20 | protected void onCreate(Bundle savedInstanceState) {
21 | super.onCreate(savedInstanceState);
22 | setContentView(R.layout.activity_update);
23 | mAvUpdateCheck = (AVUpdateCheck) getIntent().getParcelableExtra(IntentConstant.UPDATE_CHECK);
24 | ((TextView) findViewById(R.id.version_info)).setText(mAvUpdateCheck.getUpdateInfo());
25 | ((TextView) findViewById(R.id.version)).setText("V" + mAvUpdateCheck.getVersion());
26 | }
27 |
28 | public void close(View view) {
29 | finish();
30 | }
31 |
32 | public void download(View view) {
33 | Intent intent = new Intent();
34 | intent.setData(Uri.parse(mAvUpdateCheck.getLink()));
35 | intent.setAction(Intent.ACTION_VIEW);
36 | this.startActivity(intent);
37 | finish();
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/ui/adapter/AccountTypeAdapter.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.ui.adapter;
2 |
3 | import android.app.Activity;
4 | import android.view.LayoutInflater;
5 | import android.view.View;
6 | import android.view.ViewGroup;
7 | import android.widget.BaseAdapter;
8 | import android.widget.ImageView;
9 | import android.widget.TextView;
10 |
11 | import com.suda.jzapp.R;
12 | import com.suda.jzapp.dao.greendao.AccountType;
13 | import com.suda.jzapp.util.IconTypeUtil;
14 |
15 | import java.util.List;
16 |
17 | /**
18 | * Created by ghbha on 2016/2/16.
19 | */
20 | public class AccountTypeAdapter extends BaseAdapter {
21 | private Activity context;
22 | private LayoutInflater mInflater;
23 | private List accountTypeList;
24 |
25 | public AccountTypeAdapter(List accountTypeList, Activity context) {
26 | this.accountTypeList = accountTypeList;
27 | this.context = context;
28 | this.mInflater = LayoutInflater.from(context);
29 | }
30 |
31 | @Override
32 | public int getCount() {
33 | return accountTypeList.size();
34 | }
35 |
36 | @Override
37 | public Object getItem(int position) {
38 | return accountTypeList.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 | ViewHolder holder = null;
49 | if (convertView == null) {
50 | holder = new ViewHolder();
51 | convertView = mInflater.inflate(R.layout.account_type_item, null);
52 | holder.icon = (ImageView) convertView.findViewById(R.id.account_type_icon);
53 | holder.title = (TextView) convertView.findViewById(R.id.account_type_desc);
54 |
55 | convertView.setTag(holder);
56 | } else {
57 | holder = (ViewHolder) convertView.getTag();
58 | }
59 | final AccountType accountType = accountTypeList.get(position);
60 |
61 | holder.icon.setBackgroundResource(IconTypeUtil.getAccountIcon(accountType.getAccountIcon()));
62 | holder.title.setText(accountType.getAccountDesc());
63 |
64 | return convertView;
65 | }
66 |
67 | public class ViewHolder {
68 | public TextView title;
69 | public ImageView icon;
70 | }
71 | }
72 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/ui/adapter/MyFragmentPagerAdapter.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.ui.adapter;
2 |
3 | import android.content.Context;
4 | import android.support.v4.app.Fragment;
5 | import android.support.v4.app.FragmentManager;
6 | import android.support.v4.app.FragmentPagerAdapter;
7 |
8 | import com.suda.jzapp.R;
9 | import com.suda.jzapp.ui.fragment.AccountFrg;
10 | import com.suda.jzapp.ui.fragment.AnalysisFrg;
11 | import com.suda.jzapp.ui.fragment.RecordFrg;
12 |
13 | /**
14 | * Created by ghbha on 2016/2/15.
15 | */
16 | public class MyFragmentPagerAdapter extends FragmentPagerAdapter {
17 |
18 | private Context mContext;
19 |
20 | private final String[] TITLES = {"1","2","3"};
21 |
22 | public MyFragmentPagerAdapter(FragmentManager fm,Context context) {
23 | super(fm);
24 | this.mContext = context;
25 | String[] title = mContext.getResources().getStringArray(
26 | R.array.tab_title);
27 | TITLES[0] = title[0];
28 | TITLES[1] = title[1];
29 | TITLES[2] = title[2];
30 | }
31 |
32 | @Override
33 | public CharSequence getPageTitle(int position) {
34 | return TITLES[position];
35 | }
36 |
37 | @Override
38 | public int getCount() {
39 | return TITLES.length;
40 | }
41 |
42 | @Override
43 | public Fragment getItem(int position) {
44 |
45 | switch (position) {
46 | case 0 :
47 | return new AccountFrg();
48 | case 1 :
49 | return new RecordFrg();
50 | case 2 :
51 | return new AnalysisFrg();
52 | default :
53 | return null;
54 | }
55 |
56 | }
57 | }
58 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/ui/adapter/RecordDetailFrgAdapter.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.ui.adapter;
2 |
3 | import android.support.v4.app.Fragment;
4 | import android.support.v4.app.FragmentManager;
5 | import android.support.v4.app.FragmentPagerAdapter;
6 |
7 | import java.util.ArrayList;
8 | import java.util.List;
9 |
10 | /**
11 | * Created by suda on 2016/8/4.
12 | */
13 | public class RecordDetailFrgAdapter extends FragmentPagerAdapter {
14 | private final List mFragments = new ArrayList<>();
15 | private final List mFragmentsTitles = new ArrayList<>();
16 |
17 | public RecordDetailFrgAdapter(FragmentManager fm) {
18 | super(fm);
19 | }
20 |
21 | public void addFragment(Fragment fragment, String fragmentTitle) {
22 | mFragments.add(fragment);
23 | mFragmentsTitles.add(fragmentTitle);
24 | }
25 |
26 | @Override
27 | public Fragment getItem(int position) {
28 | return mFragments.get(position);
29 | }
30 |
31 | @Override
32 | public int getCount() {
33 | //返回Fragment的数量
34 | return mFragments.size();
35 | }
36 |
37 | @Override
38 | public CharSequence getPageTitle(int position) {
39 | return mFragmentsTitles.get(position);
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/ui/adapter/RecordTypeIconAdapter.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.ui.adapter;
2 |
3 |
4 | import android.content.Context;
5 | import android.view.LayoutInflater;
6 | import android.view.View;
7 | import android.view.ViewGroup;
8 | import android.widget.BaseAdapter;
9 | import android.widget.ImageView;
10 |
11 | import com.suda.jzapp.R;
12 | import com.suda.jzapp.util.IconTypeUtil;
13 |
14 | import java.util.List;
15 |
16 | /**
17 | * Created by ghbha on 2016/2/25.
18 | */
19 | public class RecordTypeIconAdapter extends BaseAdapter {
20 |
21 | public RecordTypeIconAdapter(Context context, List recordTypes) {
22 | super();
23 | this.recordTypes = recordTypes;
24 | this.context = context;
25 | this.mInflater = LayoutInflater.from(context);
26 | }
27 |
28 | @Override
29 | public int getCount() {
30 | return recordTypes.size();
31 | }
32 |
33 | @Override
34 | public Object getItem(int position) {
35 | return recordTypes.get(position);
36 | }
37 |
38 | @Override
39 | public long getItemId(int position) {
40 | return position;
41 | }
42 |
43 | @Override
44 | public View getView(int position, View convertView, ViewGroup parent) {
45 | ViewHolder holder = null;
46 |
47 | if (convertView == null) {
48 | holder = new ViewHolder();
49 | convertView = mInflater.inflate(R.layout.item_record_type_icon, null);
50 |
51 | holder.icon = (ImageView) convertView.findViewById(R.id.record_icon);
52 | convertView.setTag(holder);
53 | } else {
54 | holder = (ViewHolder) convertView.getTag();
55 | }
56 | if (position == mHidePosition) {
57 | convertView.setVisibility(View.INVISIBLE);
58 | } else {
59 | convertView.setVisibility(View.VISIBLE);
60 | }
61 | holder.icon.setImageResource(IconTypeUtil.getTypeIcon(recordTypes.get(position)));
62 | return convertView;
63 | }
64 |
65 |
66 | public class ViewHolder {
67 | public ImageView icon;
68 | }
69 |
70 | private List recordTypes;
71 | private Context context;
72 | private LayoutInflater mInflater;
73 | private int mHidePosition = -1;
74 | }
75 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/ui/adapter/helper/ItemTouchHelperAdapter.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Paul Burke
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.suda.jzapp.ui.adapter.helper;
18 |
19 | import android.support.v7.widget.RecyclerView;
20 | import android.support.v7.widget.helper.ItemTouchHelper;
21 |
22 | /**
23 | * Interface to listen for a move or dismissal event from a {@link ItemTouchHelper.Callback}.
24 | *
25 | * @author Paul Burke (ipaulpro)
26 | */
27 | public interface ItemTouchHelperAdapter {
28 |
29 | /**
30 | * Called when an item has been dragged far enough to trigger a move. This is called every time
31 | * an item is shifted, and not at the end of a "drop" event.
32 | *
33 | * Implementations should call {@link RecyclerView.Adapter#notifyItemMoved(int, int)} after
34 | * adjusting the underlying data to reflect this move.
35 | *
36 | * @param fromPosition The start position of the moved item.
37 | * @param toPosition Then resolved position of the moved item.
38 | * @return True if the item was moved to the new adapter position.
39 | *
40 | * @see RecyclerView#getAdapterPositionFor(RecyclerView.ViewHolder)
41 | * @see RecyclerView.ViewHolder#getAdapterPosition()
42 | */
43 | boolean onItemMove(int fromPosition, int toPosition);
44 |
45 |
46 | /**
47 | * Called when an item has been dismissed by a swipe.
48 | *
49 | * Implementations should call {@link RecyclerView.Adapter#notifyItemRemoved(int)} after
50 | * adjusting the underlying data to reflect this removal.
51 | *
52 | * @param position The position of the item dismissed.
53 | *
54 | * @see RecyclerView#getAdapterPositionFor(RecyclerView.ViewHolder)
55 | * @see RecyclerView.ViewHolder#getAdapterPosition()
56 | */
57 | void onItemDismiss(int position);
58 | }
59 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/ui/adapter/helper/ItemTouchHelperViewHolder.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Paul Burke
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.suda.jzapp.ui.adapter.helper;
18 |
19 | import android.support.v7.widget.helper.ItemTouchHelper;
20 |
21 | /**
22 | * Interface to notify an item ViewHolder of relevant callbacks from {@link
23 | * ItemTouchHelper.Callback}.
24 | *
25 | * @author Paul Burke (ipaulpro)
26 | */
27 | public interface ItemTouchHelperViewHolder {
28 |
29 | /**
30 | * Called when the {@link ItemTouchHelper} first registers an item as being moved or swiped.
31 | * Implementations should update the item view to indicate it's active state.
32 | */
33 | void onItemSelected();
34 |
35 |
36 | /**
37 | * Called when the {@link ItemTouchHelper} has completed the move or swipe, and the active item
38 | * state should be cleared.
39 | */
40 | void onItemClear();
41 | }
42 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/ui/adapter/helper/OnStartDragListener.java:
--------------------------------------------------------------------------------
1 | /*
2 | * Copyright (C) 2015 Paul Burke
3 | *
4 | * Licensed under the Apache License, Version 2.0 (the "License");
5 | * you may not use this file except in compliance with the License.
6 | * You may obtain a copy of the License at
7 | *
8 | * http://www.apache.org/licenses/LICENSE-2.0
9 | *
10 | * Unless required by applicable law or agreed to in writing, software
11 | * distributed under the License is distributed on an "AS IS" BASIS,
12 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | * See the License for the specific language governing permissions and
14 | * limitations under the License.
15 | */
16 |
17 | package com.suda.jzapp.ui.adapter.helper;
18 |
19 | import android.support.v7.widget.RecyclerView;
20 |
21 | /**
22 | * Listener for manual initiation of a drag.
23 | */
24 | public interface OnStartDragListener {
25 |
26 | /**
27 | * Called when a view is requesting a start of a drag.
28 | *
29 | * @param viewHolder The holder of the view to drag.
30 | */
31 | void onStartDrag(RecyclerView.ViewHolder viewHolder);
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/AlarmUtil.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 | import android.app.AlarmManager;
4 | import android.app.PendingIntent;
5 | import android.content.Context;
6 | import android.content.Intent;
7 |
8 | import com.suda.jzapp.misc.Constant;
9 | import com.suda.jzapp.receiver.AlarmReceiver;
10 |
11 | import java.text.DateFormat;
12 | import java.text.SimpleDateFormat;
13 | import java.util.Calendar;
14 |
15 | /**
16 | * Created by ghbha on 2016/4/15.
17 | */
18 | public class AlarmUtil {
19 |
20 |
21 | public static void createAlarm(Context context) {
22 | createAlarmOrCancel(context, true);
23 | }
24 |
25 | public static void createAlarmOrCancel(Context context, boolean create) {
26 |
27 | long alarmTime = SPUtils.gets(context, Constant.SP_ALARM_TIME, 0l);
28 |
29 | Calendar calendarOld = Calendar.getInstance();
30 | calendarOld.setTimeInMillis(alarmTime);
31 |
32 | long curTime = System.currentTimeMillis();
33 |
34 | Intent intent = new Intent(context, AlarmReceiver.class);
35 | PendingIntent sender = PendingIntent.getBroadcast(context, 0, intent, 0);
36 | // 过10s 执行这个闹铃
37 | Calendar calendar = Calendar.getInstance();
38 | calendar.setTimeInMillis(curTime);
39 | //calendar.add(Calendar.SECOND, 10);
40 | calendar.set(Calendar.SECOND, 0);
41 | calendar.set(Calendar.MILLISECOND, 0);
42 | calendar.set(Calendar.HOUR_OF_DAY, calendarOld.get(Calendar.HOUR_OF_DAY));
43 | calendar.set(Calendar.MINUTE, calendarOld.get(Calendar.MINUTE));
44 | if (calendar.getTimeInMillis() < curTime) {
45 | calendar.add(Calendar.DATE, 1);
46 | }
47 |
48 | DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
49 | LogUtils.d("ALARM", "下次提醒时间" + format.format(calendar.getTime()));
50 |
51 | // 进行闹铃注册
52 | AlarmManager manager = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
53 | manager.cancel(sender);
54 |
55 | if (!create)
56 | return;
57 |
58 | manager.set(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), sender);
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/AppUtil.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 | import android.content.Context;
4 | import android.content.pm.PackageInfo;
5 | import android.content.pm.PackageManager;
6 |
7 | /**
8 | * Created by suda on 2016/8/5.
9 | */
10 | public class AppUtil {
11 |
12 | public static PackageInfo getAppInfo(Context context) {
13 | // 获取packagemanager的实例
14 | try {
15 | PackageManager packageManager = context.getPackageManager();
16 | // getPackageName()是你当前类的包名,0代表是获取版本信息
17 | PackageInfo packInfo = packageManager.getPackageInfo(context.getPackageName(), 0);
18 | return packInfo;
19 | } catch (Exception e) {
20 |
21 | }
22 | return null;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/DateTimeUtil.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 | import java.text.DateFormat;
4 | import java.text.SimpleDateFormat;
5 | import java.util.Calendar;
6 | import java.util.Date;
7 |
8 | /**
9 | * Created by ghbha on 2016/4/10.
10 | */
11 | public class DateTimeUtil {
12 | public static boolean isThisYear(Date date) {
13 | Calendar calendar = Calendar.getInstance();
14 | int year = calendar.get(Calendar.YEAR);
15 | calendar.setTime(date);
16 | return year == calendar.get(Calendar.YEAR);
17 | }
18 |
19 | public static boolean isToday(Date date) {
20 | Calendar calendar = Calendar.getInstance();
21 | calendar.set(Calendar.HOUR_OF_DAY, 0);
22 | calendar.set(Calendar.MINUTE, 0);
23 | calendar.set(Calendar.SECOND, 0);
24 | calendar.set(Calendar.MILLISECOND, 0);
25 | calendar.getTime();
26 | return calendar.getTime().equals(date);
27 | }
28 |
29 | public static String fmCQLDate(Date date) {
30 | DateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.'000Z'");
31 | return format.format(date);
32 | }
33 | }
34 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/DensityUtils.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 |
4 | import android.content.Context;
5 | import android.util.TypedValue;
6 |
7 | //常用单位转换的辅助类
8 | public class DensityUtils {
9 | private DensityUtils() {
10 | /* cannot be instantiated */
11 | throw new UnsupportedOperationException("cannot be instantiated");
12 | }
13 |
14 | /**
15 | * dp转px
16 | *
17 | * @param context
18 | * @param dpVal
19 | * @return
20 | */
21 | public static int dp2px(Context context, float dpVal) {
22 | return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,
23 | dpVal, context.getResources().getDisplayMetrics());
24 | }
25 |
26 | /**
27 | * sp转px
28 | *
29 | * @param context
30 | * @param spVal
31 | * @return
32 | */
33 | public static int sp2px(Context context, float spVal) {
34 | return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP,
35 | spVal, context.getResources().getDisplayMetrics());
36 | }
37 |
38 | /**
39 | * px转dp
40 | *
41 | * @param context
42 | * @param pxVal
43 | * @return
44 | */
45 | public static float px2dp(Context context, float pxVal) {
46 | final float scale = context.getResources().getDisplayMetrics().density;
47 | return (pxVal / scale);
48 | }
49 |
50 | /**
51 | * px转sp
52 | *
53 | * @param pxVal
54 | * @param pxVal
55 | * @return
56 | */
57 | public static float px2sp(Context context, float pxVal) {
58 | return (pxVal / context.getResources().getDisplayMetrics().scaledDensity);
59 | }
60 |
61 | }
62 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/ExceptionInfoUtil.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 | import com.avos.avoscloud.AVException;
4 |
5 | /**
6 | * Created by Suda on 2015/7/24.
7 | */
8 | public class ExceptionInfoUtil {
9 |
10 | public static String getError(int errorCode) {
11 | String info = "";
12 | switch (errorCode) {
13 | case AVException.USERNAME_TAKEN:
14 | info = "用户名已被占用";
15 | break;
16 | case AVException.USER_DOESNOT_EXIST:
17 | info = "用户名未注册";
18 | break;
19 | case AVException.USERNAME_PASSWORD_MISMATCH:
20 | info = "密码错误";
21 | break;
22 | case AVException.INVALID_EMAIL_ADDRESS:
23 | info = "请填写正确邮箱";
24 | break;
25 | case AVException.INVALID_PHONE_NUMBER:
26 | info = "请填写正确手机号";
27 | break;
28 | case AVException.EMAIL_TAKEN:
29 | info = "该邮箱已被注册";
30 | break;
31 | case AVException.USER_MOBILE_PHONENUMBER_TAKEN:
32 | info = "该手机号已被注册";
33 | break;
34 | case 216:
35 | info = "先验证邮箱才能登陆哦";
36 | break;
37 | case AVException.EMAIL_NOT_FOUND:
38 | info = "该邮箱尚未注册";
39 | default:
40 | break;
41 | }
42 | return info;
43 | }
44 | }
45 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/KeyBoardUtils.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 |
4 | import android.content.Context;
5 | import android.view.inputmethod.InputMethodManager;
6 | import android.widget.EditText;
7 |
8 | //打开或关闭软键盘
9 | public class KeyBoardUtils {
10 | /**
11 | * 打卡软键盘
12 | *
13 | * @param mEditText 输入框
14 | * @param mContext 上下文
15 | */
16 | public static void openKeybord(EditText mEditText, Context mContext) {
17 | InputMethodManager imm = (InputMethodManager) mContext
18 | .getSystemService(Context.INPUT_METHOD_SERVICE);
19 | imm.showSoftInput(mEditText, InputMethodManager.RESULT_SHOWN);
20 | imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,
21 | InputMethodManager.HIDE_IMPLICIT_ONLY);
22 | }
23 |
24 | /**
25 | * 关闭软键盘
26 | *
27 | * @param mEditText 输入框
28 | * @param mContext 上下文
29 | */
30 | public static void closeKeybord(EditText mEditText, Context mContext) {
31 | InputMethodManager imm = (InputMethodManager) mContext.getSystemService(Context.INPUT_METHOD_SERVICE);
32 |
33 | imm.hideSoftInputFromWindow(mEditText.getWindowToken(), 0);
34 | }
35 | }
36 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/LauncherIconUtil.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 | import android.app.Activity;
4 | import android.content.ComponentName;
5 | import android.content.Context;
6 | import android.content.pm.PackageManager;
7 |
8 | import com.suda.jzapp.R;
9 |
10 | /**
11 | * Created by suda on 2016/8/10.
12 | */
13 | public class LauncherIconUtil {
14 |
15 | public static void changeLauncherIcon(Activity ctx, int iconType) {
16 | PackageManager pm = ctx.getPackageManager();
17 |
18 | pm.setComponentEnabledSetting(new ComponentName("com.suda.jzapp",
19 | "com.suda.jzapp.MainActivity-icon1"),
20 | iconType == 1 ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
21 | PackageManager.DONT_KILL_APP);
22 |
23 | pm.setComponentEnabledSetting(new ComponentName("com.suda.jzapp",
24 | "com.suda.jzapp.MainActivity-icon2"),
25 | iconType == 2 ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED : PackageManager.COMPONENT_ENABLED_STATE_DISABLED,
26 | PackageManager.DONT_KILL_APP);
27 |
28 | }
29 |
30 | public static int getLauncherIcon(Context context) {
31 | if ((boolean) SPUtils.get(context, true, context.getResources().getString(R.string.key_icon), true))
32 | return R.mipmap.icon1;
33 | else
34 | return R.mipmap.icon2;
35 |
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/LoadAVOSLib.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 |
4 | import com.avos.avoscloud.AVObject;
5 | import com.suda.jzapp.dao.cloud.avos.pojo.account.AVAccount;
6 | import com.suda.jzapp.dao.cloud.avos.pojo.account.AVAccountIndex;
7 | import com.suda.jzapp.dao.cloud.avos.pojo.record.AVRecord;
8 | import com.suda.jzapp.dao.cloud.avos.pojo.record.AVRecordType;
9 | import com.suda.jzapp.dao.cloud.avos.pojo.record.AVRecordTypeIndex;
10 | import com.suda.jzapp.dao.cloud.avos.pojo.system.AVUpdateCheck;
11 | import com.suda.jzapp.dao.cloud.avos.pojo.user.MyAVUser;
12 | import com.suda.jzapp.dao.cloud.avos.pojo.user.UserLink;
13 |
14 | /**
15 | * Created by Suda on 2015/9/16.
16 | */
17 | public class LoadAVOSLib {
18 |
19 | public static void LoadLib() {
20 | AVObject.registerSubclass(AVRecordType.class);
21 | AVObject.registerSubclass(AVRecord.class);
22 | AVObject.registerSubclass(AVAccount.class);
23 | AVObject.registerSubclass(AVAccountIndex.class);
24 | AVObject.registerSubclass(MyAVUser.class);
25 | AVObject.registerSubclass(AVRecordTypeIndex.class);
26 | AVObject.registerSubclass(UserLink.class);
27 | AVObject.registerSubclass(AVUpdateCheck.class);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/MD5Util.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 | import java.security.MessageDigest;
4 |
5 | /**
6 | * Created by ghbha on 2016/4/8.
7 | */
8 | public class MD5Util {
9 | public final static String getMD5(String s) {
10 | char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F'};
11 | try {
12 | byte[] btInput = s.getBytes();
13 | // 获得MD5摘要算法的 MessageDigest 对象
14 | MessageDigest mdInst = MessageDigest.getInstance("MD5");
15 | // 使用指定的字节更新摘要
16 | mdInst.update(btInput);
17 | // 获得密文
18 | byte[] md = mdInst.digest();
19 | // 把密文转换成十六进制的字符串形式
20 | int j = md.length;
21 | char str[] = new char[j * 2];
22 | int k = 0;
23 | for (int i = 0; i < j; i++) {
24 | byte byte0 = md[i];
25 | str[k++] = hexDigits[byte0 >>> 4 & 0xf];
26 | str[k++] = hexDigits[byte0 & 0xf];
27 | }
28 | return new String(str);
29 | } catch (Exception e) {
30 | e.printStackTrace();
31 | return null;
32 | }
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/MoneyUtil.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 | import android.content.Context;
4 |
5 | import com.suda.jzapp.R;
6 |
7 | import java.math.BigDecimal;
8 |
9 | /**
10 | * Created by suda on 2016/8/7.
11 | */
12 | public class MoneyUtil {
13 |
14 | public static String getFormatMoneyStr(Context context, double money) {
15 | if (context == null)
16 | return "";
17 | return "" + getFormatNumStr(context, money);
18 | }
19 |
20 | public static String getFormatNumStr(Context context, double num) {
21 | return String.format(context.getResources().getString(R.string.record_money_format), getFormatNum(num));
22 | }
23 |
24 | public static double getFormatNum(double num) {
25 | BigDecimal per = new BigDecimal(num);
26 | return per.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue();
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/MsgUtil.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 | import com.alibaba.fastjson.JSON;
4 | import com.suda.jzapp.manager.domain.MsgDo;
5 | import com.suda.jzapp.misc.MsgConstant;
6 |
7 | /**
8 | * Created by ghbha on 2016/4/13.
9 | */
10 | public class MsgUtil {
11 | public static String getFormatMsg(int msgType, String content,String extra) {
12 | MsgDo msgDo = new MsgDo();
13 | msgDo.setMsgContent(content);
14 | msgDo.setMsgType(msgType);
15 | msgDo.setMsgExtra(extra);
16 | return JSON.toJSONString(msgDo);
17 | }
18 |
19 | public static MsgDo parseMsg(String orgMsg) {
20 | MsgDo msgDo = null;
21 | try {
22 | msgDo = JSON.parseObject(orgMsg, MsgDo.class);
23 | } catch (Exception e) {
24 | msgDo = new MsgDo();
25 | msgDo.setMsgType(MsgConstant.MSG_TYPE_INVALID);
26 | LogUtils.d(e.toString());
27 | }
28 | return msgDo;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/NotificationUtil.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 | import android.app.Notification;
4 | import android.app.NotificationManager;
5 | import android.app.PendingIntent;
6 | import android.content.Context;
7 | import android.content.Intent;
8 |
9 | import com.suda.jzapp.R;
10 | import com.suda.jzapp.ui.activity.MainActivity;
11 |
12 | /**
13 | * Created by ghbha on 2016/4/14.
14 | */
15 | public class NotificationUtil {
16 | public static void showRemindNotification(final Context context, String message) {
17 |
18 | NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
19 | Notification notification = new Notification.Builder(context)
20 | //.setLargeIcon(context.getResources().getN)
21 | .setSmallIcon(LauncherIconUtil.getLauncherIcon(context))
22 | .setContentTitle("记账提醒")
23 | .setContentText(message)
24 | .build();
25 | Intent intent = new Intent(Intent.ACTION_MAIN);
26 | intent.addCategory(Intent.CATEGORY_LAUNCHER);
27 | intent.setClass(context, MainActivity.class);
28 | intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
29 | notification.flags = Notification.FLAG_AUTO_CANCEL;
30 | PendingIntent contextIntent = PendingIntent.getActivity(context, 0, intent, 0);
31 | notification.contentIntent = contextIntent;
32 | notificationManager.notify(LauncherIconUtil.getLauncherIcon(context), notification);
33 | }
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/QRCodeUtil.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 | import android.graphics.Bitmap;
4 |
5 | /**
6 | * Created by ghbha on 2016/4/13.
7 | */
8 | public class QRCodeUtil {
9 |
10 | public static Bitmap createQRImage(String url, int QR_WIDTH, int QR_HEIGHT) {
11 | // try {
12 | // //判断URL合法性
13 | // if (url == null || "".equals(url) || url.length() < 1) {
14 | // return null;
15 | // }
16 | // Hashtable hints = new Hashtable();
17 | // hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
18 | // //图像数据转换,使用了矩阵转换
19 | // BitMatrix bitMatrix = new QRCodeWriter().encode(url, BarcodeFormat.QR_CODE, QR_WIDTH, QR_HEIGHT, hints);
20 | // int[] pixels = new int[QR_WIDTH * QR_HEIGHT];
21 | // //下面这里按照二维码的算法,逐个生成二维码的图片,
22 | // //两个for循环是图片横列扫描的结果
23 | // for (int y = 0; y < QR_HEIGHT; y++) {
24 | // for (int x = 0; x < QR_WIDTH; x++) {
25 | // if (bitMatrix.get(x, y)) {
26 | // pixels[y * QR_WIDTH + x] = 0xff000000;
27 | // } else {
28 | // pixels[y * QR_WIDTH + x] = 0xffffffff;
29 | // }
30 | // }
31 | // }
32 | // //生成二维码图片的格式,使用ARGB_8888
33 | // Bitmap bitmap = Bitmap.createBitmap(QR_WIDTH, QR_HEIGHT, Bitmap.Config.ARGB_8888);
34 | // bitmap.setPixels(pixels, 0, QR_WIDTH, 0, 0, QR_WIDTH, QR_HEIGHT);
35 | //
36 | // return bitmap;
37 | // } catch (WriterException e) {
38 | // e.printStackTrace();
39 | //
40 | // }
41 | return null;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/SnackBarUtil.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 | import android.content.Context;
4 | import android.support.design.widget.Snackbar;
5 | import android.view.View;
6 |
7 | /**
8 | * Created by ghbha on 2016/4/7.
9 | */
10 | public class SnackBarUtil {
11 | public static void showSnackInfo(View parentView, Context context, String msg) {
12 | if (context == null)
13 | return;
14 | Snackbar snackbar = Snackbar.make(parentView, msg, Snackbar.LENGTH_SHORT)
15 | .setAction("Action", null);
16 | Snackbar.SnackbarLayout ve = (Snackbar.SnackbarLayout) snackbar.getView();
17 | ve.setBackgroundColor(context.getResources().getColor(ThemeUtil.getTheme(context).getMainColorID()));
18 | snackbar.show();
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/util/ThreadPoolUtil.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.util;
2 |
3 | import android.os.Looper;
4 |
5 | import java.util.concurrent.ExecutorService;
6 | import java.util.concurrent.Executors;
7 | import java.util.concurrent.ScheduledExecutorService;
8 |
9 | /**
10 | * Created by ghbha on 2016/2/15.
11 | */
12 | public class ThreadPoolUtil {
13 | public static synchronized ExecutorService getThreadPoolService(){
14 | if(threadPool == null)
15 | threadPool = Executors.newFixedThreadPool(MAX_THREAD_NUM);
16 |
17 | return threadPool;
18 | }
19 |
20 | public static synchronized ScheduledExecutorService getScheduledThreadPoolService(){
21 | if(scheduledThreadPool == null)
22 | scheduledThreadPool = Executors.newScheduledThreadPool(MAX_THREAD_NUM);
23 |
24 | return scheduledThreadPool;
25 | }
26 |
27 | public static boolean isInMainThread(){
28 | return Looper.myLooper() == Looper.getMainLooper();
29 | }
30 |
31 | private static volatile ExecutorService threadPool;
32 | private static volatile ScheduledExecutorService scheduledThreadPool;
33 | private static final int MAX_THREAD_NUM = Runtime.getRuntime().availableProcessors()*4;
34 | }
35 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/view/MyPreferenceCategory.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.view;
2 |
3 | import android.content.Context;
4 | import android.preference.PreferenceCategory;
5 | import android.util.AttributeSet;
6 | import android.view.LayoutInflater;
7 | import android.view.View;
8 | import android.view.ViewGroup;
9 | import android.widget.TextView;
10 |
11 | import com.suda.jzapp.R;
12 | import com.suda.jzapp.util.ThemeUtil;
13 |
14 | /**
15 | * Created by ghbha on 2016/4/8.
16 | */
17 | public class MyPreferenceCategory extends PreferenceCategory {
18 |
19 | private Context mContext = null;
20 |
21 | public MyPreferenceCategory(Context context) {
22 | super(context);
23 | this.mContext = context;
24 | }
25 |
26 | public MyPreferenceCategory(Context context, AttributeSet attrs, int defStyleAttr) {
27 | super(context, attrs, defStyleAttr);
28 | this.mContext = context;
29 | }
30 |
31 | public MyPreferenceCategory(Context context, AttributeSet attrs) {
32 | super(context, attrs);
33 | this.mContext = context;
34 | }
35 |
36 | @Override
37 | protected View onCreateView(ViewGroup parent) {
38 | View view = LayoutInflater.from(getContext()).inflate(R.layout.preference_category_widget, parent, false);
39 | TextView textView = (TextView) view.findViewById(android.R.id.title);
40 | textView.setTextColor(mContext.getResources().getColor(ThemeUtil.getTheme(mContext).getMainColorID()));
41 | return view;
42 | }
43 | }
44 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/view/MyThemeTextView.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.view;
2 |
3 | import android.content.Context;
4 | import android.util.AttributeSet;
5 | import android.widget.TextView;
6 |
7 | import com.suda.jzapp.util.ThemeUtil;
8 |
9 | /**
10 | * Created by ghbha on 2016/4/15.
11 | */
12 | public class MyThemeTextView extends TextView {
13 | public MyThemeTextView(Context context) {
14 | super(context);
15 | setTextColor(context.getResources().getColor(ThemeUtil.getTheme(context).getMainColorID()));
16 | }
17 |
18 | public MyThemeTextView(Context context, AttributeSet attrs) {
19 | super(context, attrs);
20 | setTextColor(context.getResources().getColor(ThemeUtil.getTheme(context).getMainColorID()));
21 | }
22 |
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/app/src/main/java/com/suda/jzapp/view/draggrid/DragGridApi.java:
--------------------------------------------------------------------------------
1 | package com.suda.jzapp.view.draggrid;
2 |
3 | public interface DragGridApi {
4 | /**
5 | * 重新排列数据
6 | * @param oldPosition
7 | * @param newPosition
8 | */
9 | public void reorderItems(int oldPosition, int newPosition);
10 |
11 |
12 | /**
13 | * 设置某个item隐藏
14 | * @param hidePosition
15 | */
16 | public void setHideItem(int hidePosition);
17 |
18 |
19 | }
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/jniLibs/armeabi/libmsc.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/jniLibs/armeabi/libmsc.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/mips/libmsc.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/jniLibs/mips/libmsc.so
--------------------------------------------------------------------------------
/app/src/main/jniLibs/x86/libmsc.so:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/jniLibs/x86/libmsc.so
--------------------------------------------------------------------------------
/app/src/main/res/anim/down_out.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/anim/up_in.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/color/item_color.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v21/ic_color_lens_black_24dp.xml:
--------------------------------------------------------------------------------
1 |
6 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-v21/ripple.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 | -
5 |
6 | />
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ad.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ad.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/anjie.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/anjie.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/arrorw.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/arrorw.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/baobao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/baobao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/baojian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/baojian.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/baoxian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/baoxian.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/baoxiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/baoxiao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/chashuikafei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/chashuikafei.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/chuanpiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/chuanpiao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/daoyou.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/daoyou.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/dapai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/dapai.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/dianfei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/dianfei.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/dianying.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/dianying.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/fangdai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/fangdai.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/fangzu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/fangzu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/fanka.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/fanka.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/feijipiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/feijipiao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/fuwu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/fuwu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/gonggongqiche.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/gonggongqiche.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/haiwaidaigou.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/haiwaidaigou.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/huankuan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/huankuan.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/huazhuangpin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/huazhuangpin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/huochepiao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/huochepiao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/huwaishebei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/huwaishebei.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_add_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_add_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_color_lens_black_24dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_color_lens_black_24dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_delete_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_delete_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_done_white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_done_white.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_drawer_about.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_drawer_about.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_drawer_assignment_grey600_36dp.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_drawer_assignment_grey600_36dp.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_drawer_chat.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_drawer_chat.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_drawer_check_update.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_drawer_check_update.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_drawer_exit.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_drawer_exit.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_drawer_export.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_drawer_export.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_drawer_friends.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_drawer_friends.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_drawer_guide.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_drawer_guide.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_drawer_settings.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_drawer_settings.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/ic_drawer_share.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/ic_drawer_share.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_account_chuzhika_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_account_chuzhika_grey.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_account_gupiao_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_account_gupiao_grey.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_account_wangluozhanghu_gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_account_wangluozhanghu_gray.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_account_xianjin_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_account_xianjin_grey.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_account_xinyongka_gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_account_xinyongka_gray.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_account_yinhangka_gray.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_account_yinhangka_gray.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_account_zhifubao_grey.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_account_zhifubao_grey.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_1.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_10.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_11.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_12.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_13.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_14.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_15.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_16.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_17.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_18.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_19.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_2.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_20.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_3.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_4.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_5.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_6.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_7.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_8.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_add_9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_add_9.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_paytype_delete.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_paytype_delete.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_shouru_type_gongzi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_shouru_type_gongzi.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_shouru_type_hongbao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_shouru_type_hongbao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_shouru_type_jiangjin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_shouru_type_jiangjin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_shouru_type_jianzhiwaikuai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_shouru_type_jianzhiwaikuai.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_shouru_type_jieru.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_shouru_type_jieru.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_shouru_type_linghuaqian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_shouru_type_linghuaqian.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_shouru_type_qita.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_shouru_type_qita.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_shouru_type_shenghuofei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_shouru_type_shenghuofei.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_shouru_type_touzishouru.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_shouru_type_touzishouru.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_baoxiaozhang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_baoxiaozhang.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_canyin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_canyin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_chongwu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_chongwu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_gouwu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_gouwu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_jiaotong.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_jiaotong.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_jiechu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_jiechu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_jujia.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_jujia.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_meirongjianshen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_meirongjianshen.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_renqingsongli.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_renqingsongli.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_shoujitongxun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_shoujitongxun.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_shuiguolingshi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_shuiguolingshi.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_shuji.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_shuji.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_taobao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_taobao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_yanjiuyinliao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_yanjiuyinliao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_yiban.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_yiban.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_yiliaojiaoyu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_yiliaojiaoyu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/icon_zhichu_type_yule.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/icon_zhichu_type_yule.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/jiushui.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/jiushui.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/juechu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/juechu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/kuzi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/kuzi.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/lifa.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/lifa.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/lingqian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/lingqian.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/lingshi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/lingshi.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/link.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/link.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/lvyoudujia.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/lvyoudujia.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/maicai.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/maicai.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/majiang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/majiang.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/mao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/mao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/mask1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/mask1.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/my_back.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/my_back.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/naifen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/naifen.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/quxian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/quxian.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/record_icon_bianji.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/record_icon_bianji.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/record_icon_shanchu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/record_icon_shanchu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/richangyongpin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/richangyongpin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/shipin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/shipin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/shuifei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/shuifei.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/shumachanpin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/shumachanpin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/sijiache.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/sijiache.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/tingchefei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/tingchefei.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/tuikuan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/tuikuan.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/wanfan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/wanfan.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/wangfei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/wangfei.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/wanggou.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/wanggou.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/wanju.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/wanju.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/weixiubaoyang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/weixiubaoyang.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/wuye.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/wuye.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/xianjin.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/xianjin.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/xiaochi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/xiaochi.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/xiaojingjiazhang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/xiaojingjiazhang.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/xiezi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/xiezi.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/xinyongkahuankuan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/xinyongkahuankuan.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/xizao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/xizao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/xuefei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/xuefei.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/yan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/yan.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/yaopinfei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/yaopinfei.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/yifu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/yifu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/yinhangshouxufei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/yinhangshouxufei.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/yiwaiposun.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/yiwaiposun.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/yiwaisuode.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/yiwaisuode.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/youfei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/youfei.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/youxi.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/youxi.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/yuegenghuan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/yuegenghuan.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/yundongjianshen.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/yundongjianshen.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/zaocan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/zaocan.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/zawu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/zawu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/zhifubao.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/zhifubao.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/zhongfan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/zhongfan.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/zhuanzhang.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/zhuanzhang.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/zhusu.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/zhusu.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable-xhdpi/zuojifei.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/drawable-xhdpi/zuojifei.png
--------------------------------------------------------------------------------
/app/src/main/res/drawable/bg_listview_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/card.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/card2.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/card3.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/widget_card_bottom.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | -
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 | -
13 |
14 |
15 |
18 |
19 |
20 |
21 |
--------------------------------------------------------------------------------
/app/src/main/res/drawable/widget_card_top.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | -
6 |
7 |
8 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/account_all_money_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
18 |
19 |
30 |
31 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/account_frg_layout.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
12 |
13 |
18 |
19 |
29 |
30 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/account_item_2.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
22 |
23 |
24 |
31 |
32 |
33 |
38 |
39 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/account_type_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
15 |
16 |
21 |
22 |
23 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_account.xml:
--------------------------------------------------------------------------------
1 |
6 |
7 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_account_link.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
19 |
20 |
21 |
22 |
25 |
26 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_account_transaction.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
12 |
13 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_edit_account_prop.xml:
--------------------------------------------------------------------------------
1 |
10 |
11 |
16 |
17 |
21 |
22 |
30 |
31 |
32 |
33 |
39 |
44 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_export_record.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
11 |
17 |
18 |
23 |
24 |
30 |
31 |
32 |
33 |
40 |
41 |
46 |
47 |
53 |
54 |
55 |
56 |
63 |
64 |
65 |
66 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_gesture_lock.xml:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
22 |
23 |
33 |
34 |
44 |
45 |
55 |
56 |
57 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_new_record_type_detail.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
13 |
14 |
23 |
24 |
25 |
31 |
32 |
33 |
34 |
40 |
41 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_record_line_chart.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_record_pie_analysis_acticity.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_record_type_edit.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_select_account.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
7 |
12 |
13 |
21 |
22 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_settings.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_user_get_pass_back.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
15 |
16 |
21 |
22 |
23 |
24 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/activity_web.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
13 |
14 |
15 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/avoscloud_sns_web_activity.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/frg_record_detail.xml:
--------------------------------------------------------------------------------
1 |
2 |
6 |
7 |
8 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_link_head.xml:
--------------------------------------------------------------------------------
1 |
2 |
10 |
11 |
17 |
18 |
23 |
24 |
29 |
30 |
31 |
32 |
33 |
39 |
40 |
46 |
47 |
52 |
53 |
58 |
59 |
60 |
61 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_record_type.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
12 |
13 |
20 |
21 |
27 |
28 |
34 |
35 |
38 |
39 |
40 |
41 |
42 |
51 |
52 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_record_type_icon.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/item_record_year_status.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
17 |
18 |
25 |
26 |
33 |
34 |
41 |
42 |
50 |
51 |
52 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/left_menu.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
10 |
14 |
15 |
20 |
21 |
22 |
32 |
33 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/loading.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
14 |
15 |
28 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/opt_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
16 |
17 |
24 |
25 |
35 |
36 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/preference_category_widget.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/preference_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
11 |
12 |
16 |
17 |
27 |
28 |
36 |
37 |
38 |
39 |
45 |
46 |
47 |
48 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/record_foot.xml:
--------------------------------------------------------------------------------
1 |
2 |
7 |
8 |
9 |
16 |
17 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/remark_item.xml:
--------------------------------------------------------------------------------
1 |
2 |
5 |
6 |
13 |
14 |
--------------------------------------------------------------------------------
/app/src/main/res/layout/toolbar.xml:
--------------------------------------------------------------------------------
1 |
2 |
9 |
10 |
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/avatar_middle.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/mipmap-xhdpi/avatar_middle.jpg
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/icon1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/mipmap-xhdpi/icon1.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/icon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/mipmap-xhdpi/icon2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/suda.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/mipmap-xhdpi/suda.jpg
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xhdpi/toddthink.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/mipmap-xhdpi/toddthink.jpg
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/icon1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/mipmap-xxhdpi/icon1.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxhdpi/icon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/mipmap-xxhdpi/icon2.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/icon1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/mipmap-xxxhdpi/icon1.png
--------------------------------------------------------------------------------
/app/src/main/res/mipmap-xxxhdpi/icon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/app/src/main/res/mipmap-xxxhdpi/icon2.png
--------------------------------------------------------------------------------
/app/src/main/res/values-v21/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/values/arrays.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | - @string/account_title
5 | - @string/record_title
6 | - @string/analysis_title
7 |
8 |
9 |
--------------------------------------------------------------------------------
/app/src/main/res/values/attrs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/app/src/main/res/values/dimens.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 16dp
4 | 16dp
5 |
6 |
7 |
8 | 54dp
9 | 23dp
10 | 20dp
11 | 24dp
12 | 16sp
13 |
14 | 38dp
15 | 230dp
16 | 13sp
17 |
18 | 150dp
19 | 10dp
20 | 6dp
21 | 10dp
22 |
23 | 20sp
24 | 60dp
25 |
26 | 40dp
27 | 16dp
28 | 24dp
29 |
30 | 26dp
31 | 60dp
32 | 13sp
33 |
34 | 14sp
35 | 20sp
36 |
37 | 10dp
38 | 10dp
39 | 10dp
40 |
41 |
42 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/mywidget.xml:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/app/src/main/res/xml/shortcuts.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
9 |
10 |
14 |
15 |
--------------------------------------------------------------------------------
/build.gradle:
--------------------------------------------------------------------------------
1 | // Top-level build file where you can add configuration options common to all sub-projects/modules.
2 | buildscript {
3 | repositories {
4 | jcenter()
5 | maven {
6 | url "http://mvn.leancloud.cn/nexus/content/repositories/releases"
7 | }
8 |
9 | }
10 |
11 | dependencies {
12 | classpath 'com.android.tools.build:gradle:2.3.1'
13 | classpath 'org.greenrobot:greendao-gradle-plugin:3.2.2' // add plugin
14 | }
15 | tasks.withType(JavaCompile) { options.encoding = "UTF-8" }
16 | }
17 | allprojects {
18 | repositories {
19 | jcenter()
20 | maven {
21 | url "http://mvn.leancloud.cn/nexus/content/repositories/releases"
22 | }
23 | maven {
24 | url "https://oss.sonatype.org/content/repositories/snapshots"
25 | }
26 | maven {
27 | url "https://jitpack.io"
28 | }
29 | }
30 | }
--------------------------------------------------------------------------------
/gradle.properties:
--------------------------------------------------------------------------------
1 | ## Project-wide Gradle settings.
2 | #
3 | # For more details on how to configure your build environment visit
4 | # http://www.gradle.org/docs/current/userguide/build_environment.html
5 | #
6 | # Specifies the JVM arguments used for the daemon process.
7 | # The setting is particularly useful for tweaking memory settings.
8 | # Default value: -Xmx10248m -XX:MaxPermSize=256m
9 | # org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
10 | #
11 | # When configured, Gradle will run in incubating parallel mode.
12 | # This option should only be used with decoupled projects. More details, visit
13 | # http://www.gradle.org/docs/current/userguide/multi_project_builds.html#sec:decoupled_projects
14 | # org.gradle.parallel=true
15 | #Sat May 28 16:36:23 CST 2016
16 | org.gradle.jvmargs=-Xmx2048M
17 | android.useDeprecatedNdk=true
18 |
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Sun Aug 28 12:59:17 CST 2016
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.zip
7 |
--------------------------------------------------------------------------------
/img/Screenshot_20171008-165658.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/img/Screenshot_20171008-165658.png
--------------------------------------------------------------------------------
/img/Screenshot_20171008-165700.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/img/Screenshot_20171008-165700.png
--------------------------------------------------------------------------------
/img/Screenshot_20171008-165703.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/img/Screenshot_20171008-165703.png
--------------------------------------------------------------------------------
/img/Screenshot_20171008-165708.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/img/Screenshot_20171008-165708.png
--------------------------------------------------------------------------------
/img/Screenshot_20171008-165715.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/img/Screenshot_20171008-165715.png
--------------------------------------------------------------------------------
/img/Screenshot_20171008-165718.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/img/Screenshot_20171008-165718.png
--------------------------------------------------------------------------------
/img/Screenshot_20171008-165723.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ghbhaha/JzApp/46fd3ba9c769d02d576c35bf66d558d943154217/img/Screenshot_20171008-165723.png
--------------------------------------------------------------------------------
/local.properties:
--------------------------------------------------------------------------------
1 | ## This file is automatically generated by Android Studio.
2 | # Do not modify this file -- YOUR CHANGES WILL BE ERASED!
3 | #
4 | # This file must *NOT* be checked into Version Control Systems,
5 | # as it contains information specific to your local configuration.
6 | #
7 | # Location of the SDK. This is only used by Gradle.
8 | # For customization when using a Version Control System, please read the
9 | # header note.
10 | #Fri Sep 01 20:37:04 CST 2017
11 | ndk.dir=/Users/guhaibo/Library/Android/sdk/ndk-bundle
12 | sdk.dir=/Users/guhaibo/Library/Android/sdk
13 |
--------------------------------------------------------------------------------
/settings.gradle:
--------------------------------------------------------------------------------
1 | include ':app'
2 |
--------------------------------------------------------------------------------