From 3b4c9b45dcee48059eab3d343ebc378cc4642e9c Mon Sep 17 00:00:00 2001 From: xujie <420684449@qq.com> Date: Thu, 1 Mar 2018 15:04:30 +0800 Subject: [PATCH] create the project of LianHanZi --- MiaohongEntry/.gitignore | 9 + MiaohongEntry/.idea/compiler.xml | 22 ++ .../.idea/copyright/profiles_settings.xml | 3 + MiaohongEntry/.idea/gradle.xml | 18 ++ MiaohongEntry/.idea/misc.xml | 46 ++++ MiaohongEntry/.idea/modules.xml | 9 + MiaohongEntry/.idea/runConfigurations.xml | 12 + MiaohongEntry/app/.gitignore | 1 + MiaohongEntry/app/build.gradle | 33 +++ MiaohongEntry/app/proguard-rules.pro | 25 ++ .../hjx/miaohongentry/ExampleInstrumentedTest.java | 26 ++ MiaohongEntry/app/src/main/AndroidManifest.xml | 50 ++++ MiaohongEntry/app/src/main/assets/mh.db | Bin 0 -> 241664 bytes .../miaohongentry/activity/ChooseBookActivity.java | 73 +++++ .../hjx/miaohongentry/activity/InitCallback.java | 12 + .../hjx/miaohongentry/activity/MainActivity.java | 196 ++++++++++++++ .../hjx/miaohongentry/activity/WordActivity.java | 295 +++++++++++++++++++++ .../hjx/miaohongentry/adapter/BookListAdapter.java | 112 ++++++++ .../miaohongentry/adapter/RowWordListAdapter.java | 94 +++++++ .../com/hjx/miaohongentry/bean/AppVersion.java | 54 ++++ .../java/com/hjx/miaohongentry/bean/BookInfo.java | 59 +++++ .../java/com/hjx/miaohongentry/bean/RowWord.java | 37 +++ .../java/com/hjx/miaohongentry/bean/TitleWord.java | 51 ++++ .../com/hjx/miaohongentry/builder/JSONBuilder.java | 26 ++ .../miaohongentry/builder/UpdateInfoBuilder.java | 38 +++ .../com/hjx/miaohongentry/db/MHDataManager.java | 198 ++++++++++++++ .../java/com/hjx/miaohongentry/db/MHDataTable.java | 44 +++ .../java/com/hjx/miaohongentry/http/MHGetApi.java | 22 ++ .../com/hjx/miaohongentry/http/MHGetApiImp.java | 89 +++++++ .../com/hjx/miaohongentry/ui/FixGridLayout.java | 262 ++++++++++++++++++ .../com/hjx/miaohongentry/ui/WordListView.java | 32 +++ .../hjx/miaohongentry/update/DownloadService.java | 61 +++++ .../hjx/miaohongentry/update/UpdateChecker.java | 211 +++++++++++++++ .../java/com/hjx/miaohongentry/util/Constants.java | 23 ++ .../com/hjx/miaohongentry/util/DeviceUtils.java | 102 +++++++ .../java/com/hjx/miaohongentry/util/SpUtils.java | 109 ++++++++ .../hjx/miaohongentry/util/SpanTextViewUtils.java | 156 +++++++++++ .../com/hjx/miaohongentry/util/StatisUtils.java | 70 +++++ MiaohongEntry/app/src/main/libs/pinyin4j-2.5.0.jar | Bin 0 -> 188920 bytes .../app/src/main/res/drawable/dash_line.xml | 15 ++ .../main/res/drawable/radio_table_type_left.xml | 9 + .../main/res/drawable/radio_table_type_right.xml | 9 + .../app/src/main/res/drawable/shape_corner.xml | 9 + .../src/main/res/layout/activity_choose_book.xml | 46 ++++ .../app/src/main/res/layout/activity_main.xml | 206 ++++++++++++++ .../app/src/main/res/layout/activity_word.xml | 187 +++++++++++++ .../src/main/res/layout/choose_book_list_item.xml | 54 ++++ .../app/src/main/res/layout/row_word_list_item.xml | 39 +++ .../app/src/main/res/layout/view_title_word.xml | 29 ++ .../app/src/main/res/layout/word_text_view.xml | 8 + .../app/src/main/res/mipmap-hdpi/balloon.png | Bin 0 -> 22614 bytes MiaohongEntry/app/src/main/res/mipmap-hdpi/bg.png | Bin 0 -> 125900 bytes .../app/src/main/res/mipmap-hdpi/btn_back.png | Bin 0 -> 7768 bytes .../src/main/res/mipmap-hdpi/btn_change_books.png | Bin 0 -> 26171 bytes .../app/src/main/res/mipmap-hdpi/btn_left.png | Bin 0 -> 2469 bytes .../app/src/main/res/mipmap-hdpi/btn_left_sel.png | Bin 0 -> 2786 bytes .../app/src/main/res/mipmap-hdpi/btn_ok.png | Bin 0 -> 6417 bytes .../app/src/main/res/mipmap-hdpi/btn_rank.png | Bin 0 -> 27657 bytes .../app/src/main/res/mipmap-hdpi/btn_right.png | Bin 0 -> 2446 bytes .../app/src/main/res/mipmap-hdpi/btn_right_sel.png | Bin 0 -> 2757 bytes .../app/src/main/res/mipmap-hdpi/btn_search.png | Bin 0 -> 2588 bytes .../app/src/main/res/mipmap-hdpi/btn_start.png | Bin 0 -> 7534 bytes .../app/src/main/res/mipmap-hdpi/btn_type.png | Bin 0 -> 4619 bytes .../src/main/res/mipmap-hdpi/choose_book_bg.png | Bin 0 -> 8261 bytes .../app/src/main/res/mipmap-hdpi/cloud.png | Bin 0 -> 2428 bytes .../app/src/main/res/mipmap-hdpi/head_icon.png | Bin 0 -> 18265 bytes .../app/src/main/res/mipmap-hdpi/ic_launcher.png | Bin 0 -> 7276 bytes .../src/main/res/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 4208 bytes .../app/src/main/res/mipmap-hdpi/pie_chat.png | Bin 0 -> 43535 bytes .../app/src/main/res/mipmap-hdpi/plane.png | Bin 0 -> 106292 bytes .../app/src/main/res/mipmap-hdpi/row_tag.png | Bin 0 -> 2510 bytes .../app/src/main/res/mipmap-hdpi/word_bg.png | Bin 0 -> 397725 bytes .../src/main/res/mipmap-hdpi/word_switch_bg.png | Bin 0 -> 3075 bytes .../app/src/main/res/mipmap-mdpi/ic_launcher.png | Bin 0 -> 2206 bytes .../src/main/res/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2555 bytes .../app/src/main/res/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 7276 bytes .../main/res/mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 6114 bytes .../app/src/main/res/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 7276 bytes .../main/res/mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 10056 bytes .../src/main/res/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 7276 bytes .../main/res/mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 14696 bytes MiaohongEntry/app/src/main/res/values/attrs.xml | 22 ++ MiaohongEntry/app/src/main/res/values/colors.xml | 16 ++ MiaohongEntry/app/src/main/res/values/strings.xml | 7 + MiaohongEntry/app/src/main/res/values/styles.xml | 36 +++ .../com/hjx/miaohongentry/ExampleUnitTest.java | 17 ++ MiaohongEntry/build.gradle | 23 ++ MiaohongEntry/gradle.properties | 17 ++ MiaohongEntry/gradle/wrapper/gradle-wrapper.jar | Bin 0 -> 53636 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + MiaohongEntry/gradlew | 160 +++++++++++ MiaohongEntry/gradlew.bat | 90 +++++++ MiaohongEntry/settings.gradle | 1 + 93 files changed, 3686 insertions(+) create mode 100644 MiaohongEntry/.gitignore create mode 100644 MiaohongEntry/.idea/compiler.xml create mode 100644 MiaohongEntry/.idea/copyright/profiles_settings.xml create mode 100644 MiaohongEntry/.idea/gradle.xml create mode 100644 MiaohongEntry/.idea/misc.xml create mode 100644 MiaohongEntry/.idea/modules.xml create mode 100644 MiaohongEntry/.idea/runConfigurations.xml create mode 100644 MiaohongEntry/app/.gitignore create mode 100644 MiaohongEntry/app/build.gradle create mode 100644 MiaohongEntry/app/proguard-rules.pro create mode 100644 MiaohongEntry/app/src/androidTest/java/com/hjx/miaohongentry/ExampleInstrumentedTest.java create mode 100644 MiaohongEntry/app/src/main/AndroidManifest.xml create mode 100644 MiaohongEntry/app/src/main/assets/mh.db create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/ChooseBookActivity.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/InitCallback.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/MainActivity.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/WordActivity.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/adapter/BookListAdapter.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/adapter/RowWordListAdapter.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/AppVersion.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/BookInfo.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/RowWord.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/TitleWord.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/builder/JSONBuilder.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/builder/UpdateInfoBuilder.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/db/MHDataManager.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/db/MHDataTable.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/http/MHGetApi.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/http/MHGetApiImp.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/ui/FixGridLayout.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/ui/WordListView.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/update/DownloadService.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/update/UpdateChecker.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/Constants.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/DeviceUtils.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/SpUtils.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/SpanTextViewUtils.java create mode 100644 MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/StatisUtils.java create mode 100644 MiaohongEntry/app/src/main/libs/pinyin4j-2.5.0.jar create mode 100644 MiaohongEntry/app/src/main/res/drawable/dash_line.xml create mode 100644 MiaohongEntry/app/src/main/res/drawable/radio_table_type_left.xml create mode 100644 MiaohongEntry/app/src/main/res/drawable/radio_table_type_right.xml create mode 100644 MiaohongEntry/app/src/main/res/drawable/shape_corner.xml create mode 100644 MiaohongEntry/app/src/main/res/layout/activity_choose_book.xml create mode 100644 MiaohongEntry/app/src/main/res/layout/activity_main.xml create mode 100644 MiaohongEntry/app/src/main/res/layout/activity_word.xml create mode 100644 MiaohongEntry/app/src/main/res/layout/choose_book_list_item.xml create mode 100644 MiaohongEntry/app/src/main/res/layout/row_word_list_item.xml create mode 100644 MiaohongEntry/app/src/main/res/layout/view_title_word.xml create mode 100644 MiaohongEntry/app/src/main/res/layout/word_text_view.xml create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/balloon.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/bg.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/btn_back.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/btn_change_books.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/btn_left.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/btn_left_sel.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/btn_ok.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/btn_rank.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/btn_right.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/btn_right_sel.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/btn_search.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/btn_start.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/btn_type.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/choose_book_bg.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/cloud.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/head_icon.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/ic_launcher.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/ic_launcher_round.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/pie_chat.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/plane.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/row_tag.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/word_bg.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-hdpi/word_switch_bg.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-mdpi/ic_launcher.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-mdpi/ic_launcher_round.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-xhdpi/ic_launcher.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-xxhdpi/ic_launcher.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png create mode 100644 MiaohongEntry/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 MiaohongEntry/app/src/main/res/values/attrs.xml create mode 100644 MiaohongEntry/app/src/main/res/values/colors.xml create mode 100644 MiaohongEntry/app/src/main/res/values/strings.xml create mode 100644 MiaohongEntry/app/src/main/res/values/styles.xml create mode 100644 MiaohongEntry/app/src/test/java/com/hjx/miaohongentry/ExampleUnitTest.java create mode 100644 MiaohongEntry/build.gradle create mode 100644 MiaohongEntry/gradle.properties create mode 100644 MiaohongEntry/gradle/wrapper/gradle-wrapper.jar create mode 100644 MiaohongEntry/gradle/wrapper/gradle-wrapper.properties create mode 100644 MiaohongEntry/gradlew create mode 100644 MiaohongEntry/gradlew.bat create mode 100644 MiaohongEntry/settings.gradle diff --git a/MiaohongEntry/.gitignore b/MiaohongEntry/.gitignore new file mode 100644 index 0000000..39fb081 --- /dev/null +++ b/MiaohongEntry/.gitignore @@ -0,0 +1,9 @@ +*.iml +.gradle +/local.properties +/.idea/workspace.xml +/.idea/libraries +.DS_Store +/build +/captures +.externalNativeBuild diff --git a/MiaohongEntry/.idea/compiler.xml b/MiaohongEntry/.idea/compiler.xml new file mode 100644 index 0000000..96cc43e --- /dev/null +++ b/MiaohongEntry/.idea/compiler.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MiaohongEntry/.idea/copyright/profiles_settings.xml b/MiaohongEntry/.idea/copyright/profiles_settings.xml new file mode 100644 index 0000000..e7bedf3 --- /dev/null +++ b/MiaohongEntry/.idea/copyright/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/MiaohongEntry/.idea/gradle.xml b/MiaohongEntry/.idea/gradle.xml new file mode 100644 index 0000000..7ac24c7 --- /dev/null +++ b/MiaohongEntry/.idea/gradle.xml @@ -0,0 +1,18 @@ + + + + + + \ No newline at end of file diff --git a/MiaohongEntry/.idea/misc.xml b/MiaohongEntry/.idea/misc.xml new file mode 100644 index 0000000..5d19981 --- /dev/null +++ b/MiaohongEntry/.idea/misc.xml @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MiaohongEntry/.idea/modules.xml b/MiaohongEntry/.idea/modules.xml new file mode 100644 index 0000000..90e9395 --- /dev/null +++ b/MiaohongEntry/.idea/modules.xml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/MiaohongEntry/.idea/runConfigurations.xml b/MiaohongEntry/.idea/runConfigurations.xml new file mode 100644 index 0000000..7f68460 --- /dev/null +++ b/MiaohongEntry/.idea/runConfigurations.xml @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/MiaohongEntry/app/.gitignore b/MiaohongEntry/app/.gitignore new file mode 100644 index 0000000..796b96d --- /dev/null +++ b/MiaohongEntry/app/.gitignore @@ -0,0 +1 @@ +/build diff --git a/MiaohongEntry/app/build.gradle b/MiaohongEntry/app/build.gradle new file mode 100644 index 0000000..c2d5026 --- /dev/null +++ b/MiaohongEntry/app/build.gradle @@ -0,0 +1,33 @@ +apply plugin: 'com.android.application' + +android { + compileSdkVersion 26 + buildToolsVersion "26.0.2" + defaultConfig { + applicationId "com.hjx.miaohongentry" + minSdkVersion 17 + targetSdkVersion 26 + versionCode 2 + versionName "1.0.1" + testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" + } + buildTypes { + release { + minifyEnabled false + proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' + } + } +} + +dependencies { + compile fileTree(include: ['*.jar'], dir: 'libs') + androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { + exclude group: 'com.android.support', module: 'support-annotations' + }) + compile files('src/main/libs/pinyin4j-2.5.0.jar') + compile 'com.android.support:appcompat-v7:26.+' + compile 'com.android.support.constraint:constraint-layout:1.0.2' + compile 'com.android.support:support-v4:26.+' + compile 'com.tencent.bugly:crashreport:latest.release' + testCompile 'junit:junit:4.12' +} diff --git a/MiaohongEntry/app/proguard-rules.pro b/MiaohongEntry/app/proguard-rules.pro new file mode 100644 index 0000000..33b8336 --- /dev/null +++ b/MiaohongEntry/app/proguard-rules.pro @@ -0,0 +1,25 @@ +# Add project specific ProGuard rules here. +# By default, the flags in this file are appended to flags specified +# in C:\Users\l\AppData\Local\Android\Sdk/tools/proguard/proguard-android.txt +# You can edit the include path and order by changing the proguardFiles +# directive in build.gradle. +# +# For more details, see +# http://developer.android.com/guide/developing/tools/proguard.html + +# Add any project specific keep options here: + +# If your project uses WebView with JS, uncomment the following +# and specify the fully qualified class name to the JavaScript interface +# class: +#-keepclassmembers class fqcn.of.javascript.interface.for.webview { +# public *; +#} + +# Uncomment this to preserve the line number information for +# debugging stack traces. +#-keepattributes SourceFile,LineNumberTable + +# If you keep the line number information, uncomment this to +# hide the original source file name. +#-renamesourcefileattribute SourceFile diff --git a/MiaohongEntry/app/src/androidTest/java/com/hjx/miaohongentry/ExampleInstrumentedTest.java b/MiaohongEntry/app/src/androidTest/java/com/hjx/miaohongentry/ExampleInstrumentedTest.java new file mode 100644 index 0000000..8b8599b --- /dev/null +++ b/MiaohongEntry/app/src/androidTest/java/com/hjx/miaohongentry/ExampleInstrumentedTest.java @@ -0,0 +1,26 @@ +package com.hjx.miaohongentry; + +import android.content.Context; +import android.support.test.InstrumentationRegistry; +import android.support.test.runner.AndroidJUnit4; + +import org.junit.Test; +import org.junit.runner.RunWith; + +import static org.junit.Assert.*; + +/** + * Instrumentation test, which will execute on an Android device. + * + * @see Testing documentation + */ +@RunWith(AndroidJUnit4.class) +public class ExampleInstrumentedTest { + @Test + public void useAppContext() throws Exception { + // Context of the app under test. + Context appContext = InstrumentationRegistry.getTargetContext(); + + assertEquals("com.hjx.miaohongentry", appContext.getPackageName()); + } +} diff --git a/MiaohongEntry/app/src/main/AndroidManifest.xml b/MiaohongEntry/app/src/main/AndroidManifest.xml new file mode 100644 index 0000000..771de21 --- /dev/null +++ b/MiaohongEntry/app/src/main/AndroidManifest.xml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/MiaohongEntry/app/src/main/assets/mh.db b/MiaohongEntry/app/src/main/assets/mh.db new file mode 100644 index 0000000000000000000000000000000000000000..388bc3daeaf4ac90de7b98cdb041504062f808c4 GIT binary patch literal 241664 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 D7qJ4N literal 0 HcmV?d00001 diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/ChooseBookActivity.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/ChooseBookActivity.java new file mode 100644 index 0000000..836acb1 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/ChooseBookActivity.java @@ -0,0 +1,73 @@ +package com.hjx.miaohongentry.activity; + +import android.app.Activity; +import android.content.Intent; +import android.os.Bundle; +import android.view.View; +import android.view.WindowManager; +import android.widget.AdapterView; +import android.widget.Button; +import android.widget.ListView; + +import com.hjx.miaohongentry.R; +import com.hjx.miaohongentry.adapter.BookListAdapter; +import com.hjx.miaohongentry.bean.BookInfo; +import com.hjx.miaohongentry.db.MHDataManager; +import com.hjx.miaohongentry.util.Constants; + +import java.util.ArrayList; + +/** + * An example full-screen activity that shows and hides the system UI (i.e. + * status bar and navigation/system bar) with user interaction. + */ +public class ChooseBookActivity extends Activity { + + + private ListView listView; + private BookListAdapter adapter; + private ArrayList bookList; + private int curIndex; + private Button okBtn; + public static final int RESULT_CODE_CHOOSE_SECCESS = 0x01; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + getWindow().setFlags(WindowManager.LayoutParams. FLAG_FULLSCREEN , WindowManager.LayoutParams. FLAG_FULLSCREEN); + setContentView(R.layout.activity_choose_book); + curIndex = getIntent().getIntExtra("idx",0); + okBtn = (Button)findViewById(R.id.btn_ok); + listView = (ListView) findViewById(R.id.lv_book_list); + bookList = MHDataManager.getList(Constants.MH_DATABASE_PATH); + adapter = new BookListAdapter(this,bookList); + adapter.setSelectItem(curIndex); + listView.setAdapter(adapter); + listView.setSelection(curIndex); + listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { + @Override + public void onItemClick(AdapterView adapterView, View view, int i, long l) { + curIndex = i; + adapter.setSelectItem(curIndex); + } + }); + okBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + BookInfo bookInfo = bookList.get(curIndex); + Intent mIntent = new Intent(); + mIntent.putExtra("id",bookInfo.get_id()); + mIntent.putExtra("press", bookInfo.getPress()); + mIntent.putExtra("reactos", bookInfo.getReactOS()); + mIntent.putExtra("grade", bookInfo.getGrade()); + // 设置结果,并进行传送 + setResult(RESULT_CODE_CHOOSE_SECCESS, mIntent); + finish(); + } + }); + } + + + + +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/InitCallback.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/InitCallback.java new file mode 100644 index 0000000..0e2eb94 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/InitCallback.java @@ -0,0 +1,12 @@ +package com.hjx.miaohongentry.activity; + +import java.io.IOException; + +/** + * Created by l on 2018/2/6. + */ + +public interface InitCallback { + void onError(IOException e); + void onSucess(); +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/MainActivity.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/MainActivity.java new file mode 100644 index 0000000..55e35f2 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/MainActivity.java @@ -0,0 +1,196 @@ +package com.hjx.miaohongentry.activity; + +import android.Manifest; +import android.app.Activity; +import android.content.Intent; +import android.content.pm.PackageManager; +import android.media.MediaPlayer; +import android.os.Environment; +import android.support.v4.app.ActivityCompat; +import android.os.Bundle; +import android.view.View; +import android.widget.Button; +import android.widget.ImageButton; +import android.widget.TextView; + +import com.hjx.miaohongentry.R; +import com.hjx.miaohongentry.db.MHDataManager; +import com.hjx.miaohongentry.update.UpdateChecker; +import com.hjx.miaohongentry.util.Constants; +import com.hjx.miaohongentry.util.SpUtils; +import com.hjx.miaohongentry.util.StatisUtils; +import com.tencent.bugly.crashreport.CrashReport; + +import java.io.File; +import java.io.FileDescriptor; +import java.io.IOException; +import java.io.RandomAccessFile; + +public class MainActivity extends Activity { + + private static final int REQUEST_EXTERNAL_STORAGE = 0x99; + private Button startBtn; + private ImageButton chooseBtn; + private final int REQUEST_CODE_CHOOSE_BOOK = 0x01; + private TextView bookTextView; + private String bookInfo; + private TextView tv_write_time; + private TextView tv_today_num; + private TextView tv_total_num; + + private static String[] PERMISSIONS_STORAGE = { + Manifest.permission.READ_EXTERNAL_STORAGE, + Manifest.permission.WRITE_EXTERNAL_STORAGE}; + + public static void verifyStoragePermissions(Activity activity) { + // Check if we have write permission + int permission = ActivityCompat.checkSelfPermission(activity, + Manifest.permission.WRITE_EXTERNAL_STORAGE); + + if (permission != PackageManager.PERMISSION_GRANTED) { + // We don't have permission so prompt the user + ActivityCompat.requestPermissions(activity, PERMISSIONS_STORAGE, + REQUEST_EXTERNAL_STORAGE); + } + } + + private void initView(){ + startBtn = (Button) findViewById(R.id.btn_start); + startBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + Intent intent = new Intent(MainActivity.this, WordActivity.class); + intent.putExtra("bookInfo",bookInfo); + startActivity(intent); + } + }); + chooseBtn = (ImageButton)findViewById(R.id.btn_choose); + chooseBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + int idx = SpUtils.getInt(MainActivity.this,Constants.SP_BOOK_CHOSEN_ID,0); + Intent intent = new Intent(MainActivity.this, ChooseBookActivity.class); + intent.putExtra("idx",idx); + startActivityForResult(intent,REQUEST_CODE_CHOOSE_BOOK); + } + }); + bookTextView = (TextView)findViewById(R.id.tv_publish_name); + bookInfo = SpUtils.getString(this,Constants.SP_BOOK_CHOSEN_INFO,"人民教育出版社#一年级#上册"); + if(!bookInfo.isEmpty()){ + String info[] = bookInfo.split("#"); + if(info.length == 3){ + String bookStr = info[1] + info[2] + " " + info[0]; + bookTextView.setText(bookStr); + } + } + + tv_write_time = findViewById(R.id.write_time); + tv_today_num = findViewById(R.id.today_num); + tv_total_num = findViewById(R.id.total_num); + showStatisView(); + } + + private void showStatisView(){ + if(!StatisUtils.isToday(this)){ + StatisUtils.setTodayNum(this,0); + StatisUtils.setTodayTime(this,0); + StatisUtils.setToday(this); + } + tv_total_num.setText(""+ StatisUtils.getTotalNum(this)); + tv_today_num.setText(""+ StatisUtils.getTodayNum(this)); + long mills = StatisUtils.getTodayTime(this); + long min = mills / (1000 * 60); + long sec = (mills - ( min * 60 * 1000)) / 1000; + tv_write_time.setText(min + "分" + sec + "秒"); + + } + + private void testSound(){ + MediaPlayer mPlayer = new MediaPlayer(); + try { + RandomAccessFile mRandomAccessFile = new RandomAccessFile( + Environment.getExternalStorageDirectory().getPath() + File.separator + // + "1.mp3", + + "DICTSOUND.BIN", "r"); + FileDescriptor mFileDescriptor = null; + mFileDescriptor = mRandomAccessFile.getFD(); + mPlayer.reset(); + mPlayer.setDataSource(mFileDescriptor, 122295042, 3027/*mRandomAccessFile.length()*/); + mPlayer.prepare(); + mPlayer.start(); + mRandomAccessFile.close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + verifyStoragePermissions(this); + CrashReport.initCrashReport(getApplicationContext(), "9c92cf01b2", false); + setContentView(R.layout.activity_main); + initView(); + MHDataManager.initDB(this, new InitCallback() { + @Override + public void onError(IOException e) { + + } + + @Override + public void onSucess() { + + } + }); + updateVersion(); + } + + private void saveBookInfo( String bookStr){ + SpUtils.putString(MainActivity.this, Constants.SP_BOOK_CHOSEN_INFO,bookStr); + } + + private void saveBookIdx(String id ){ + try { + int idx = Integer.parseInt(id); + SpUtils.putInt(MainActivity.this, Constants.SP_BOOK_CHOSEN_ID,idx); + } catch (NumberFormatException e) { + e.printStackTrace(); + } + } + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + + switch (requestCode) { + case REQUEST_CODE_CHOOSE_BOOK: + if(resultCode == ChooseBookActivity.RESULT_CODE_CHOOSE_SECCESS){ + String id = data.getStringExtra("id"); + String press = data.getStringExtra("press"); + String grade = data.getStringExtra("grade"); + String reactos = data.getStringExtra("reactos"); + String bookStr = grade + reactos + " " + press; + bookTextView.setText(bookStr); + bookInfo = press + "#" + grade + "#" + reactos; + saveBookInfo(bookInfo); + saveBookIdx(id); + } + break; + default: + break; + } + } + + @Override + protected void onResume(){ + super.onResume(); + showStatisView(); + } + + private void updateVersion(){ + UpdateChecker checker = new UpdateChecker(this); + checker.checkForUpdates(); + } + + + +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/WordActivity.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/WordActivity.java new file mode 100644 index 0000000..4b06edd --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/activity/WordActivity.java @@ -0,0 +1,295 @@ +package com.hjx.miaohongentry.activity; + +import android.app.Activity; +import android.app.ProgressDialog; +import android.content.Intent; +import android.os.Bundle; +import android.os.Handler; +import android.os.Message; +import android.support.annotation.IdRes; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.Button; +import android.widget.EditText; +import android.widget.ImageButton; +import android.widget.LinearLayout; +import android.widget.ListAdapter; +import android.widget.ListView; +import android.widget.RadioButton; +import android.widget.RadioGroup; +import android.widget.RelativeLayout; +import android.widget.TextView; + +import com.hjx.miaohongentry.R; +import com.hjx.miaohongentry.adapter.RowWordListAdapter; +import com.hjx.miaohongentry.bean.BookInfo; +import com.hjx.miaohongentry.bean.RowWord; +import com.hjx.miaohongentry.bean.TitleWord; +import com.hjx.miaohongentry.db.MHDataManager; +import com.hjx.miaohongentry.util.DeviceUtils; +import com.hjx.miaohongentry.util.SpanTextViewUtils; +import com.hjx.miaohongentry.util.StatisUtils; + +import java.util.List; + +public class WordActivity extends Activity { + + private RelativeLayout rl_two_type; + private Button btn_one_type; + private BookInfo bookInfo; + private List tableTypes; + private RadioGroup radioGroup; + private RadioButton rb_left; + private RadioButton rb_right; + private LinearLayout ll_word_group; + private ImageButton backBtn; + private EditText et_search; + private ImageButton btn_search; + + private List titleWords_left; + private List titleWords_right; + private final static int GET_TITLE_WORD_FINISH = 1; + protected ProgressDialog progressDialog = null; + public static final int REQUEST_CODE_MIAO_HONG = 0x01; + + private Handler handler = new Handler() { + public void handleMessage(android.os.Message msg) { + super.handleMessage(msg); + switch (msg.what) { + case GET_TITLE_WORD_FINISH: + updateTableTypeView(); + showWordGroup(titleWords_left); + dismissProgressDialog(); + break; + } + } + }; + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_word); + initData(); + initView(); + showProgressDialog("正在加载..."); + } + + private void initData(){ + + String infoStr = getIntent().getStringExtra("bookInfo"); + String info[] = infoStr.split("#"); + bookInfo = new BookInfo("0",info[0],info[1],info[2]); + new Thread() { + public void run() { + + tableTypes = MHDataManager.getTableTypes(bookInfo.getPress(),bookInfo.getGrade(),bookInfo.getReactOS()); + titleWords_left = MHDataManager.getTitleWords(bookInfo.getPress(),bookInfo.getGrade(),bookInfo.getReactOS(),tableTypes.get(0)); + for(TitleWord titleWord : titleWords_left){ + List rowWords = MHDataManager.getRowWords(bookInfo,tableTypes.get(0),titleWord); + titleWord.setRowWordList(rowWords); + } + if(tableTypes.size() > 1){ + titleWords_right = MHDataManager.getTitleWords(bookInfo.getPress(),bookInfo.getGrade(),bookInfo.getReactOS(),tableTypes.get(1)); + for(TitleWord titleWord : titleWords_right){ + List rowWords = MHDataManager.getRowWords(bookInfo,tableTypes.get(1),titleWord); + titleWord.setRowWordList(rowWords); + } + } + Message msg = new Message(); + msg.what = GET_TITLE_WORD_FINISH; + handler.sendMessage(msg); + } + }.start(); + + } + + + private void initView(){ + backBtn = findViewById(R.id.btn_back); + backBtn.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + finish(); + } + }); + et_search = findViewById(R.id.et_search); + btn_search = findViewById(R.id.btn_search); + btn_search.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + String searchStr = et_search.getText().toString(); + if(!searchStr.isEmpty()){ + SpanTextViewUtils.gotoMiaohong(WordActivity.this, searchStr); + } + } + }); + initTableTypeView(); + + } + + private void initTableTypeView(){ + btn_one_type = findViewById(R.id.btn_one_type); + rl_two_type = findViewById(R.id.rl_two_type); + rb_left = findViewById(R.id.rb_left); + rb_right = findViewById(R.id.rb_right); + radioGroup = findViewById(R.id.rg_type); + } + + private void updateTableTypeView(){ + if(tableTypes.size() > 1){ + btn_one_type.setVisibility(View.GONE); + rl_two_type.setVisibility(View.VISIBLE); + rb_left.setText(tableTypes.get(0).replace("(一)","1").replace("(二)","2")); + rb_right.setText(tableTypes.get(1).replace("(一)","1").replace("(二)","2")); + radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() { + @Override + public void onCheckedChanged(RadioGroup radioGroup, @IdRes int i) { + ll_word_group.removeAllViews(); + if(i == R.id.rb_left){ + showWordGroup(titleWords_left); + }else{ + showWordGroup(titleWords_right); + } + } + }); + + }else{ + btn_one_type.setVisibility(View.VISIBLE); + rl_two_type.setVisibility(View.GONE); + btn_one_type.setText(tableTypes.get(0)); + } + } + private void showWordGroup(List titleWords ){ + ll_word_group = findViewById(R.id.ll_word_group); + for (TitleWord titleWord : titleWords){ + ll_word_group.addView(getTitleWordView(titleWord)); + } + } + + public View getTitleWordView(TitleWord titleWord ) { + View view = LayoutInflater.from(this).inflate( + R.layout.view_title_word, null); + TextView tvTitle = view.findViewById(R.id.tv_title); + tvTitle.setText(titleWord.getTitle()); + ListView listView = view.findViewById(R.id.row_list); + listView.setEnabled(false); + view.setFocusable(true); + view.setFocusableInTouchMode(true); + RowWordListAdapter adapter = new RowWordListAdapter(this,titleWord.getRowWordList()); + listView.setAdapter(adapter); + setListViewHeightBasedOnChildren(listView); + return view; + } + + public void setListViewHeightBasedOnChildren(ListView listView) { + // 获取ListView对应的Adapter + ListAdapter listAdapter = listView.getAdapter(); + if (listAdapter == null) { + return; + } + + int px = DeviceUtils.dip2px(this,1.0f); + + int totalHeight = 0; + for (int i = 0, len = listAdapter.getCount(); i < len; i++) { + // listAdapter.getCount()返回数据项的数目 + View listItem = listAdapter.getView(i, null, listView); + // 计算子项View 的宽高 + int w = View.MeasureSpec.makeMeasureSpec(0, + View.MeasureSpec.UNSPECIFIED); + int h = View.MeasureSpec.makeMeasureSpec(0, + View.MeasureSpec.UNSPECIFIED); + + listItem.measure(w, h); + // 统计所有子项的总高度 + totalHeight += listItem.getMeasuredHeight(); + + if(totalHeight + (listView.getDividerHeight() * (i - 1)) >1000){ + break; + } + } + + ViewGroup.LayoutParams params = listView.getLayoutParams(); + params.height = totalHeight+ (listView.getDividerHeight() * (listAdapter.getCount() - 1)); + + + // listView.getDividerHeight()获取子项间分隔符占用的高度 + // params.height最后得到整个ListView完整显示需要的高度 + listView.setLayoutParams(params); + } + + + public void showProgressDialog( final String message){ + + runOnUiThread(new Runnable() { + @Override + public void run() { + if (progressDialog == null) { + progressDialog = new ProgressDialog(WordActivity.this); + } + if(progressDialog.isShowing()) { + progressDialog.dismiss(); + } + + progressDialog.setMessage(message); + progressDialog.setCanceledOnTouchOutside(false); + progressDialog.show(); + } + }); + } + + + /**隐藏加载进度 + */ + public void dismissProgressDialog() { + runOnUiThread(new Runnable() { + @Override + public void run() { + //把判断写在runOnUiThread外面导致有时dismiss无效,可能不同线程判断progressDialog.isShowing()结果不一致 + if(progressDialog == null || progressDialog.isShowing() == false){ + return; + } + progressDialog.dismiss(); + } + }); + } + + @Override + protected void onResume(){ + super.onResume(); + long enter_mills = StatisUtils.getEnterMiaohongTime(this); + if(enter_mills != 0){ + long now_mills = System.currentTimeMillis(); + long diff_mills = now_mills - enter_mills; + if(diff_mills > 0){ + long save_mills = StatisUtils.getTodayTime(WordActivity.this) + diff_mills; + StatisUtils.setTodayTime(WordActivity.this,save_mills); + } + StatisUtils.setEnterMiaohongTime(this, 0); + } + } + + + @Override + protected void onActivityResult(int requestCode, int resultCode, Intent data) { + + switch (requestCode) { + case REQUEST_CODE_MIAO_HONG: + if(resultCode == 0){ + + long now_mills = System.currentTimeMillis(); + long enter_mills = StatisUtils.getEnterMiaohongTime(WordActivity.this); + long diff_mills = now_mills - enter_mills; + if(diff_mills > 0){ + long save_mills = StatisUtils.getTodayTime(WordActivity.this) + diff_mills; + StatisUtils.setTodayTime(WordActivity.this,save_mills); + } + } + break; + default: + break; + } + } + +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/adapter/BookListAdapter.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/adapter/BookListAdapter.java new file mode 100644 index 0000000..182c597 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/adapter/BookListAdapter.java @@ -0,0 +1,112 @@ +package com.hjx.miaohongentry.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; + +import com.hjx.miaohongentry.R; +import com.hjx.miaohongentry.bean.BookInfo; + +import java.util.ArrayList; + +/** + * Created by l on 2018/2/2. + */ + +public class BookListAdapter extends BaseAdapter { + + private Context mContext; + private ArrayList mList = null; + private int selectItem = 0; + + public BookListAdapter(Context mContext, ArrayList mList) { + this.mContext = mContext; + this.mList = mList; + } + + @Override + public int getCount() { + return mList == null ? 0 : mList.size(); + } + + @Override + public Object getItem(int position) { + return mList.get(position); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int position, View convertView, ViewGroup viewGroup) { + ViewHolder mViewHolder = null; + int textColor = R.color.colorFontBlack; + if (convertView == null) { + convertView = LayoutInflater.from(mContext).inflate( + R.layout.choose_book_list_item, null); + + mViewHolder = new ViewHolder(); + mViewHolder.tv_grade = (TextView) convertView + .findViewById(R.id.choose_book_list_item_grade); + mViewHolder.tv_reactos = (TextView) convertView + .findViewById(R.id.choose_book_list_item_reactos); + mViewHolder.tv_press = (TextView) convertView + .findViewById(R.id.choose_book_list_item_press); + convertView.setTag(mViewHolder); + } else { + mViewHolder = (ViewHolder) convertView.getTag(); + } + + BookInfo detailInfo = (BookInfo) getItem(position); + + if (detailInfo != null) { + mViewHolder.tv_grade.setText(detailInfo.getGrade()); + mViewHolder.tv_reactos.setText(detailInfo.getReactOS()); + mViewHolder.tv_press.setText(detailInfo.getPress()); + } + + if (position == selectItem) { + textColor = R.color.colorFontGreen; + } + mViewHolder.tv_grade.setTextColor(mContext.getResources().getColor(textColor)); + mViewHolder.tv_reactos.setTextColor(mContext.getResources().getColor(textColor)); + mViewHolder.tv_press.setTextColor(mContext.getResources().getColor(textColor)); + return convertView; + } + + public static class ViewHolder { + public TextView tv_grade; + public TextView tv_reactos; + public TextView tv_press; + } + + public void setSelectItem(int selectItem) { + this.selectItem = selectItem; + notifyDataSetChanged(); + } + + public void setSelectItem(BookInfo bookInfo){ + if (bookInfo == null) { + return; + } + + for(int i = 0; i < mList.size(); i++){ + BookInfo kBookInfo = mList.get(i); + if(bookInfo.get_id().equals(kBookInfo.get_id())){ + selectItem = i; + notifyDataSetChanged(); + break; + } + } + } + + public int getSelectItem() { + return this.selectItem; + } + +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/adapter/RowWordListAdapter.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/adapter/RowWordListAdapter.java new file mode 100644 index 0000000..5eeb282 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/adapter/RowWordListAdapter.java @@ -0,0 +1,94 @@ +package com.hjx.miaohongentry.adapter; + +import android.content.Context; +import android.view.LayoutInflater; +import android.view.View; +import android.view.ViewGroup; +import android.widget.BaseAdapter; +import android.widget.TextView; + +import com.hjx.miaohongentry.R; +import com.hjx.miaohongentry.bean.RowWord; +import com.hjx.miaohongentry.ui.FixGridLayout; +import com.hjx.miaohongentry.util.SpanTextViewUtils; + +import java.util.List; + +/** + * Created by l on 2018/2/5. + */ + +public class RowWordListAdapter extends BaseAdapter{ + + private Context mContext; + private List mList = null; + + public RowWordListAdapter(Context mContext, List mList) { + this.mContext = mContext; + this.mList = mList; + } + + + @Override + public int getCount() { + return mList == null ? 0 : mList.size(); + } + + @Override + public Object getItem(int position) { + return mList.get(position); + } + + @Override + public long getItemId(int i) { + return i; + } + + @Override + public View getView(int position, View convertView, ViewGroup viewGroup) { + ViewHolder mViewHolder = null; + if (convertView == null) { + convertView = LayoutInflater.from(mContext).inflate( + R.layout.row_word_list_item, null); + mViewHolder = new ViewHolder(); + mViewHolder.tv_row_idx = convertView.findViewById(R.id.row_idx); + mViewHolder.ll_row_word = convertView.findViewById(R.id.ll_row_word); + convertView.setTag(mViewHolder); + } else { + mViewHolder = (ViewHolder) convertView.getTag(); + } + + RowWord rowWord = (RowWord) getItem(position); + if (rowWord != null) { + if(!rowWord.getOrderNum().isEmpty()){ + mViewHolder.tv_row_idx.setText(rowWord.getOrderNum() + "."); + } + String rowStr = rowWord.getRowStr(); + char rowChar[] = rowStr.toCharArray(); + mViewHolder.ll_row_word.removeAllViews(); + for (int i = 0; i < rowChar.length; i++){ + mViewHolder.ll_row_word.addView(getWordView(rowChar[i])); + } + } + return convertView; + } + + private TextView getWordView( char word ){ + TextView tv = (TextView) LayoutInflater.from(mContext).inflate( + R.layout.word_text_view, null); + tv.setPadding(10,10,10,10); + tv.setText(""+word); + tv.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View view) { + SpanTextViewUtils.gotoMiaohong(mContext,((TextView)view).getText().toString()); + } + }); + return tv; + } + + public static class ViewHolder { + public TextView tv_row_idx; + public FixGridLayout ll_row_word; + } +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/AppVersion.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/AppVersion.java new file mode 100644 index 0000000..e64ff7d --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/AppVersion.java @@ -0,0 +1,54 @@ +package com.hjx.miaohongentry.bean; + +/** + * Created by l on 2017/7/8. + */ + +public class AppVersion { + + private int versionCode; + private String versionName; + private String url; + private String msg; + private boolean isForceUpdate; + + public void setVersionCode( String versionCode){ + this.versionCode = Integer.parseInt(versionCode); ; + } + + public int getVersionCode(){ + return versionCode; + } + + public void setVersionName(String versionName){ + this.versionName = versionName; + } + + public String getVersionName(){ + return versionName; + } + + public void setURL(String url){ + this.url = url; + } + + public String getURL(){ + return url; + } + + public void setMsg(String msg){ + this.msg = msg; + } + + public String getMsg(){ + return msg; + } + + public void setForceUpdate(boolean isForceUpdate){ + this.isForceUpdate = isForceUpdate; + } + + public boolean isForceUpdate(){ + return isForceUpdate; + } +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/BookInfo.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/BookInfo.java new file mode 100644 index 0000000..ed8778e --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/BookInfo.java @@ -0,0 +1,59 @@ +package com.hjx.miaohongentry.bean; + +/** + * Created by l on 2018/2/2. + */ + +public class BookInfo { + + private String _id; //bookid + + private String press; //出版社 + + private String grade; //年级 + + private String reactOS; //上下册 + + public BookInfo(){ + + } + + public BookInfo( String id, String press, String grade, String reactOS){ + this._id = id; + this.press = press; + this.grade = grade; + this.reactOS = reactOS; + } + + public String getPress() { + return press; + } + + public void setPress(String press) { + this.press = press; + } + + public String getGrade() { + return grade; + } + + public void setGrade(String grade) { + this.grade = grade; + } + + public String getReactOS() { + return reactOS; + } + + public void setReactOS(String reactOS) { + this.reactOS = reactOS; + } + + public String get_id() { + return _id; + } + + public void set_id(String _id) { + this._id = _id; + } +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/RowWord.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/RowWord.java new file mode 100644 index 0000000..e4c35bb --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/RowWord.java @@ -0,0 +1,37 @@ +package com.hjx.miaohongentry.bean; + +/** + * Created by l on 2018/2/3. + */ + +public class RowWord { + + private String orderNum; + private String rowStr; + + public RowWord(){ + + } + + public RowWord(String orderNum, String rowStr){ + + this.orderNum = orderNum; + this.rowStr = rowStr; + } + + public String getOrderNum() { + return orderNum; + } + + public void setOrderNum(String orderNum) { + this.orderNum = orderNum; + } + + public String getRowStr() { + return rowStr; + } + + public void setRowStr(String rowStr) { + this.rowStr = rowStr; + } +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/TitleWord.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/TitleWord.java new file mode 100644 index 0000000..0cf0465 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/bean/TitleWord.java @@ -0,0 +1,51 @@ +package com.hjx.miaohongentry.bean; + + +import java.util.List; + +/** + * Created by l on 2018/2/3. + */ + +public class TitleWord { + + private String serialNumber; + + private String title; + + private List rowWordList; + + public TitleWord(){ + + } + + public TitleWord(String serialNumber, String title,List rowWordList ){ + this.serialNumber = serialNumber; + this.title = title; + this.rowWordList = rowWordList; + } + + public String getSerialNumber() { + return serialNumber; + } + + public void setSerialNumber(String serialNumber) { + this.serialNumber = serialNumber; + } + + public String getTitle() { + return title; + } + + public void setTitle(String title) { + this.title = title; + } + + public List getRowWordList() { + return rowWordList; + } + + public void setRowWordList(List rowWordList) { + this.rowWordList = rowWordList; + } +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/builder/JSONBuilder.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/builder/JSONBuilder.java new file mode 100644 index 0000000..757d16d --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/builder/JSONBuilder.java @@ -0,0 +1,26 @@ + +package com.hjx.miaohongentry.builder; + +import org.json.JSONException; +import org.json.JSONObject; + + +public abstract class JSONBuilder { + + protected String root; + + public JSONBuilder(){ + root = ""; + } + + /** + * Sets root of the JSON params, useful when building object in joins + * + * @param root + */ + public void setRoot(String root){ + this.root = root; + } + + public abstract T build(JSONObject jsonObject) throws JSONException; +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/builder/UpdateInfoBuilder.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/builder/UpdateInfoBuilder.java new file mode 100644 index 0000000..aa2a1a6 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/builder/UpdateInfoBuilder.java @@ -0,0 +1,38 @@ +package com.hjx.miaohongentry.builder; + + + + +import com.hjx.miaohongentry.bean.AppVersion; + +import org.json.JSONException; +import org.json.JSONObject; + +/** + * Created by l on 2017/7/8. + */ + +public class UpdateInfoBuilder extends JSONBuilder { + @Override + public AppVersion build(JSONObject jsonObject) throws JSONException { + + try { + AppVersion info = new AppVersion(); + info.setVersionName(jsonObject.getString(root+"version_name")); + info.setVersionCode(jsonObject.getString(root+"versioncode")); + info.setMsg(jsonObject.getString(root+"msg")); + info.setURL(jsonObject.getString(root+"url")); + String update = jsonObject.getString(root+"forceupdate"); + if(update.equalsIgnoreCase("false")){ + info.setForceUpdate(false); + }else{ + info.setForceUpdate(true); + } + + return info; + } catch (JSONException e) { + e.printStackTrace(); + return null; + } + } +} \ No newline at end of file diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/db/MHDataManager.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/db/MHDataManager.java new file mode 100644 index 0000000..f5eb6ca --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/db/MHDataManager.java @@ -0,0 +1,198 @@ +package com.hjx.miaohongentry.db; + +import android.content.Context; +import android.database.Cursor; +import android.database.sqlite.SQLiteDatabase; + +import com.hjx.miaohongentry.activity.InitCallback; +import com.hjx.miaohongentry.bean.BookInfo; +import com.hjx.miaohongentry.bean.RowWord; +import com.hjx.miaohongentry.bean.TitleWord; +import com.hjx.miaohongentry.util.Constants; + +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.util.ArrayList; +import java.util.List; + +/** + * Created by l on 2018/2/2. + */ + +public class MHDataManager { + + public static ArrayList getList(String dataPath){ + SQLiteDatabase mDB = null; + List mList = new ArrayList(); + Cursor mCursor = null; + + mDB = SQLiteDatabase.openDatabase(dataPath, null, + SQLiteDatabase.OPEN_READONLY); + mCursor = mDB.rawQuery("select DISTINCT * from " + MHDataTable.DATA_BOOK_TABLE_NAME,null); + if (mCursor != null) { + int count = 0; + while (mCursor.moveToNext()) { + BookInfo tDetailInfo = getBookInfo(mCursor,count); + mList.add(tDetailInfo); + count++; + } + mCursor.close(); + } + + mDB.close(); + + return (ArrayList) mList; + } + + + private static BookInfo getBookInfo(Cursor mCursor, int idx) { + BookInfo bookInfo = new BookInfo(); + String _id = null; + String press = null; + String grade = null; + String reactOS = null; + if (mCursor != null){ + try { + _id = "" + idx; + press = mCursor.getString(mCursor + .getColumnIndex(MHDataTable.PRESS)); + grade = mCursor.getString(mCursor + .getColumnIndex(MHDataTable.GRADE_NAME)); + reactOS = mCursor.getString(mCursor + .getColumnIndex(MHDataTable.REACTOS)); + }catch (Exception e){ + e.printStackTrace(); + } + } + bookInfo.set_id(_id); + bookInfo.setPress(press); + bookInfo.setGrade(grade); + bookInfo.setReactOS(reactOS); + return bookInfo; + } + + public static List getTableTypes(String press, String grade_name, String reactOS ){ + + SQLiteDatabase mDB = null; + List mList = new ArrayList(); + Cursor mCursor = null; + + mDB = SQLiteDatabase.openDatabase(Constants.MH_DATABASE_PATH, null, + SQLiteDatabase.OPEN_READONLY); + mCursor = mDB.rawQuery("select DISTINCT " + MHDataTable.TABLE_TYPE + " from " + MHDataTable.DATA_WORD_TABLE_NAME + + " WHERE "+ MHDataTable.PRESS + " = ? and " + MHDataTable.GRADE_NAME + " = ? and " + MHDataTable.REACTOS + " = ?", + new String[] { press, grade_name, reactOS}); + if (mCursor != null) { + while (mCursor.moveToNext()) { + String type = mCursor.getString(mCursor + .getColumnIndex(MHDataTable.TABLE_TYPE)); + mList.add(type); + } + mCursor.close(); + } + + mDB.close(); + return mList; + } + + public static List getTitleWords(String press, String grade_name, String reactOS, String table_type ){ + + SQLiteDatabase mDB = null; + List mList = new ArrayList(); + Cursor mCursor = null; + + mDB = SQLiteDatabase.openDatabase(Constants.MH_DATABASE_PATH, null, + SQLiteDatabase.OPEN_READONLY); + mCursor = mDB.rawQuery("select DISTINCT " + MHDataTable.SERIAL_NUMBER + ", " + MHDataTable.TITLE + + " from " + MHDataTable.DATA_WORD_TABLE_NAME + " WHERE "+ MHDataTable.PRESS + " = ? and " + + MHDataTable.GRADE_NAME + " = ? and " + MHDataTable.REACTOS + " = ? and " + + MHDataTable.TABLE_TYPE + " = ?", + new String[] { press, grade_name, reactOS, table_type}); + + if (mCursor != null) { + while (mCursor.moveToNext()) { + String serial_number = mCursor.getString(mCursor + .getColumnIndex(MHDataTable.SERIAL_NUMBER)); + String title = mCursor.getString(mCursor + .getColumnIndex(MHDataTable.TITLE)); + TitleWord titleWord = new TitleWord(); + titleWord.setSerialNumber(serial_number); + titleWord.setTitle(title); + mList.add(titleWord); + } + mCursor.close(); + } + + mDB.close(); + return mList; + } + + public static List getRowWords(BookInfo book, String table_type, TitleWord titleWord){ + + SQLiteDatabase mDB = null; + List mList = new ArrayList(); + Cursor mCursor = null; + + mDB = SQLiteDatabase.openDatabase(Constants.MH_DATABASE_PATH, null, + SQLiteDatabase.OPEN_READONLY); + mCursor = mDB.rawQuery("select DISTINCT " + MHDataTable.ORDER_NUMBER + ", " + MHDataTable.NEW_WORD + + " from " + MHDataTable.DATA_WORD_TABLE_NAME + " WHERE "+ MHDataTable.PRESS + " = ? and " + + MHDataTable.GRADE_NAME + " = ? and " + MHDataTable.REACTOS + " = ? and " + + MHDataTable.TABLE_TYPE + " = ? and " + MHDataTable.SERIAL_NUMBER + " = ? and " + + MHDataTable.TITLE + " = ?", + new String[] { book.getPress(), book.getGrade(), book.getReactOS(), table_type, + titleWord.getSerialNumber(), titleWord.getTitle()}); + + if (mCursor != null) { + while (mCursor.moveToNext()) { + String order_number = mCursor.getString(mCursor + .getColumnIndex(MHDataTable.ORDER_NUMBER)); + String row_word = mCursor.getString(mCursor + .getColumnIndex(MHDataTable.NEW_WORD)); + RowWord rowWord = new RowWord(); + rowWord.setOrderNum(order_number); + rowWord.setRowStr(row_word); + mList.add(rowWord); + } + mCursor.close(); + } + + mDB.close(); + return mList; + } + + + public static void initDB(final Context context, final InitCallback callback){ + new Thread(new Runnable() { + @Override + public void run() { + String databaseFilename = Constants.MH_DATABASE_DIR_PATH + "/mh.db"; + File dir = new File(Constants.MH_DATABASE_DIR_PATH); + if (!dir.exists()) + dir.mkdir(); + if (!(new File(databaseFilename)).exists()) { + try { +// InputStream is = context.getResources().openRawResource(R.raw.address); + InputStream is = context.getResources().getAssets().open("mh.db"); + FileOutputStream fos = new FileOutputStream(databaseFilename); + byte[] buffer = new byte[2048]; + int i = 0; + while ((i = is.read(buffer)) > 0) { + fos.write(buffer, 0, i); + } + fos.flush(); + fos.close(); + is.close(); + } catch (IOException e) { + new File(databaseFilename).delete(); + callback.onError(e); + return; + } + } + callback.onSucess(); + } + }).run(); + } +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/db/MHDataTable.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/db/MHDataTable.java new file mode 100644 index 0000000..9cfd8c1 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/db/MHDataTable.java @@ -0,0 +1,44 @@ +package com.hjx.miaohongentry.db; + +/** + * Created by l on 2018/2/2. + */ + +public class MHDataTable { + + public static final String DATA_NAME = "mh.db"; + + public static final String DATA_BOOK_TABLE_NAME = "chinese_basics"; + + public static final String DATA_WORD_TABLE_NAME = "practice_chinese"; + + public static final int DATA_VERSION = 1; + + public static final String STR_ID = "_id"; + + public static final String PRESS = "press"; + + public static final String VERSION = "version"; + + public static final String GRADE_NAME = "grade_name"; + + public static final String REACTOS = "ReactOS"; + + public static final String[] BOOK_COLUMNS = new String[] { + PRESS, + VERSION, + GRADE_NAME, + REACTOS, + }; + + public static final String TABLE_TYPE = "table_type"; + + public static final String TITLE = "title"; + + public static final String SERIAL_NUMBER = "serial_number"; + + public static final String ORDER_NUMBER = "order_number"; + + public static final String NEW_WORD = "new_word"; + +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/http/MHGetApi.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/http/MHGetApi.java new file mode 100644 index 0000000..cda0ea4 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/http/MHGetApi.java @@ -0,0 +1,22 @@ +package com.hjx.miaohongentry.http; + + +import com.hjx.miaohongentry.bean.AppVersion; + +/** + * Created by l on 2017/7/1. + */ + +public interface MHGetApi { + + /** + * Get the update informatuon of the vertion + *

+ * http://boss.hjx.com/general/release/version + * @return the update informatuon + * @throws Exception + */ + AppVersion getUpdateInfo(String pid, String appName) throws Exception; + + +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/http/MHGetApiImp.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/http/MHGetApiImp.java new file mode 100644 index 0000000..2df6744 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/http/MHGetApiImp.java @@ -0,0 +1,89 @@ +package com.hjx.miaohongentry.http; + + + +import com.hjx.miaohongentry.bean.AppVersion; +import com.hjx.miaohongentry.builder.UpdateInfoBuilder; + +import org.json.JSONArray; +import org.json.JSONObject; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.UnsupportedEncodingException; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.ProtocolException; +import java.net.URL; + +/** + * Created by l on 2017/7/1. + */ + +public class MHGetApiImp implements MHGetApi { + + + private String doGet(String query) throws Exception { + String path = "http://boss.hjx.com"+ query; + try { + URL url = new URL(path); + HttpURLConnection connection = (HttpURLConnection) url.openConnection(); + connection.setConnectTimeout(5000); + connection.setRequestMethod("GET"); + //获得结果码 + int responseCode = connection.getResponseCode(); + if(responseCode ==200){ + //请求成功 获得返回的流 + InputStream is = connection.getInputStream(); + return InputStream2String(is); + }else { + //请求失败 + return null; + } + } catch (MalformedURLException e) { + e.printStackTrace(); + } catch (ProtocolException e) { + e.printStackTrace(); + } catch (IOException e) { + e.printStackTrace(); + } + return null; + + + } + + + public AppVersion getUpdateInfo(String pid, String appName) throws Exception { + + String jsonStr = doGet("/general/release/version?pid="+pid+"&appName="+appName); + JSONArray jsonArray = new JSONArray(jsonStr); + for (int i = 0; i < jsonArray.length(); i++){ + JSONObject jsonObject = jsonArray.getJSONObject(i); + UpdateInfoBuilder builder = new UpdateInfoBuilder(); + return builder.build(jsonObject); + } + return null; + } + + public static String InputStream2String(InputStream in) { + InputStreamReader reader = null; + try { + reader = new InputStreamReader(in, "UTF-8"); + } catch (UnsupportedEncodingException e1) { + e1.printStackTrace(); + } + BufferedReader br = new BufferedReader(reader); + StringBuilder sb = new StringBuilder(); + String line = ""; + try { + while ((line = br.readLine()) != null) { + sb.append(line); + } + } catch (IOException e) { + e.printStackTrace(); + } + return sb.toString(); + } +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/ui/FixGridLayout.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/ui/FixGridLayout.java new file mode 100644 index 0000000..712cdc3 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/ui/FixGridLayout.java @@ -0,0 +1,262 @@ +package com.hjx.miaohongentry.ui; + +import android.content.Context; +import android.content.res.TypedArray; +import android.util.AttributeSet; +import android.view.View; +import android.view.ViewGroup; + +import com.hjx.miaohongentry.R; + +import java.util.ArrayList; +import java.util.List; + +/** + * Created by l on 2018/2/5. + */ + +public class FixGridLayout extends ViewGroup { + + private Type mType; + private List mWarpLineGroup; + + public FixGridLayout(Context context) { + this(context, null); + } + + public FixGridLayout(Context context, AttributeSet attrs) { + this(context, attrs, R.style.WarpLinearLayoutDefault); + } + + public FixGridLayout(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + mType = new Type(context, attrs); + } + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int withMode = MeasureSpec.getMode(widthMeasureSpec); + int withSize = MeasureSpec.getSize(widthMeasureSpec); + int heightMode = MeasureSpec.getMode(heightMeasureSpec); + int heightSize = MeasureSpec.getSize(heightMeasureSpec); + int with = 0; + int height = 0; + int childCount = getChildCount(); + /** + * 在调用childView。getMeasre之前必须先调用该行代码,用于对子View大小的测量 + */ + measureChildren(widthMeasureSpec, heightMeasureSpec); + /** + * 计算宽度 + */ + switch (withMode) { + case MeasureSpec.EXACTLY: + with = withSize; + break; + case MeasureSpec.AT_MOST: + for (int i = 0; i < childCount; i++) { + if (i != 0) { + with += mType.horizontal_Space; + } + with += getChildAt(i).getMeasuredWidth(); + } + with += getPaddingLeft() + getPaddingRight(); + with = with > withSize ? withSize : with; + break; + case MeasureSpec.UNSPECIFIED: + for (int i = 0; i < childCount; i++) { + if (i != 0) { + with += mType.horizontal_Space; + } + with += getChildAt(i).getMeasuredWidth(); + } + with += getPaddingLeft() + getPaddingRight(); + break; + default: + with = withSize; + break; + + } + /** + * 根据计算出的宽度,计算出所需要的行数 + */ + WarpLine warpLine = new WarpLine(); + /** + * 不能够在定义属性时初始化,因为onMeasure方法会多次调用 + */ + mWarpLineGroup = new ArrayList(); + for (int i = 0; i < childCount; i++) { + if (warpLine.lineWidth + getChildAt(i).getMeasuredWidth() + mType.horizontal_Space > with) { + if (warpLine.lineView.size() == 0) { + warpLine.addView(getChildAt(i)); + mWarpLineGroup.add(warpLine); + warpLine = new WarpLine(); + } else { + mWarpLineGroup.add(warpLine); + warpLine = new WarpLine(); + warpLine.addView(getChildAt(i)); + } + } else { + warpLine.addView(getChildAt(i)); + } + } + /** + * 添加最后一行 + */ + if (warpLine.lineView.size() > 0 && !mWarpLineGroup.contains(warpLine)) { + mWarpLineGroup.add(warpLine); + } + /** + * 计算宽度 + */ + height = getPaddingTop() + getPaddingBottom(); + for (int i = 0; i < mWarpLineGroup.size(); i++) { + if (i != 0) { + height += mType.vertical_Space; + } + height += mWarpLineGroup.get(i).height; + } + switch (heightMode) { + case MeasureSpec.EXACTLY: + height = heightSize; + break; + case MeasureSpec.AT_MOST: + height = height > heightSize ? heightSize : height; + break; + case MeasureSpec.UNSPECIFIED: + break; + default: + break; + } + setMeasuredDimension(with, height); + } + + @Override + protected void onLayout(boolean changed, int l, int t, int r, int b) { + t = getPaddingTop(); + for (int i = 0; i < mWarpLineGroup.size(); i++) { + int left = getPaddingLeft(); + WarpLine warpLine = mWarpLineGroup.get(i); + int lastWidth = getMeasuredWidth() - warpLine.lineWidth; + for (int j = 0; j < warpLine.lineView.size(); j++) { + View view = warpLine.lineView.get(j); + if (isFull()) {//需要充满当前行时 + view.layout(left, t, left + view.getMeasuredWidth() + lastWidth / warpLine.lineView.size(), t + view.getMeasuredHeight()); + left += view.getMeasuredWidth() + mType.horizontal_Space + lastWidth / warpLine.lineView.size(); + } else { + switch (getGrivate()) { + case 0://右对齐 + view.layout(left + lastWidth, t, left + lastWidth + view.getMeasuredWidth(), t + view.getMeasuredHeight()); + break; + case 2://居中对齐 + view.layout(left + lastWidth / 2, t, left + lastWidth / 2 + view.getMeasuredWidth(), t + view.getMeasuredHeight()); + break; + default://左对齐 + view.layout(left, t, left + view.getMeasuredWidth(), t + view.getMeasuredHeight()); + break; + } + left += view.getMeasuredWidth() + mType.horizontal_Space; + } + } + t += warpLine.height + mType.vertical_Space; + } + } + + /** + * 用于存放一行子View + */ + private final class WarpLine { + private List lineView = new ArrayList(); + /** + * 当前行中所需要占用的宽度 + */ + private int lineWidth = getPaddingLeft() + getPaddingRight(); + /** + * 该行View中所需要占用的最大高度 + */ + private int height = 0; + + private void addView(View view) { + if (lineView.size() != 0) { + lineWidth += mType.horizontal_Space; + } + height = height > view.getMeasuredHeight() ? height : view.getMeasuredHeight(); + lineWidth += view.getMeasuredWidth(); + lineView.add(view); + } + } + + /** + * 对样式的初始化 + */ + private final static class Type { + /* + *对齐方式 right 0,left 1,center 2 + */ + private int grivate; + /** + * 水平间距,单位px + */ + private float horizontal_Space; + /** + * 垂直间距,单位px + */ + private float vertical_Space; + /** + * 是否自动填满 + */ + private boolean isFull; + + Type(Context context, AttributeSet attrs) { + if (attrs == null) { + return; + } + TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.WarpLinearLayout); + grivate = typedArray.getInt(R.styleable.WarpLinearLayout_grivate, grivate); + horizontal_Space = typedArray.getDimension(R.styleable.WarpLinearLayout_horizontal_Space, horizontal_Space); + vertical_Space = typedArray.getDimension(R.styleable.WarpLinearLayout_vertical_Space, vertical_Space); + isFull = typedArray.getBoolean(R.styleable.WarpLinearLayout_isFull, isFull); + } + } + + public int getGrivate() { + return mType.grivate; + } + + public float getHorizontal_Space() { + return mType.horizontal_Space; + } + + public float getVertical_Space() { + return mType.vertical_Space; + } + + public boolean isFull() { + return mType.isFull; + } + + public void setGrivate(int grivate) { + mType.grivate = grivate; + } + + public void setHorizontal_Space(float horizontal_Space) { + mType.horizontal_Space = horizontal_Space; + } + + public void setVertical_Space(float vertical_Space) { + mType.vertical_Space = vertical_Space; + } + + public void setIsFull(boolean isFull) { + mType.isFull = isFull; + } + + /** + * 每行子View的对齐方式 + */ + public final static class Gravite { + public final static int RIGHT = 0; + public final static int LEFT = 1; + public final static int CENTER = 2; + } +} \ No newline at end of file diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/ui/WordListView.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/ui/WordListView.java new file mode 100644 index 0000000..4d751b3 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/ui/WordListView.java @@ -0,0 +1,32 @@ +package com.hjx.miaohongentry.ui; + +import android.content.Context; +import android.util.AttributeSet; +import android.widget.ListView; + +/** + * Created by l on 2018/2/6. + */ + +public class WordListView extends ListView { + + public WordListView(Context context) { + super(context); + } + + public WordListView(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public WordListView(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + + @Override + protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { + int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, + MeasureSpec.AT_MOST); + super.onMeasure(widthMeasureSpec, expandSpec); + } +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/update/DownloadService.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/update/DownloadService.java new file mode 100644 index 0000000..393e59b --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/update/DownloadService.java @@ -0,0 +1,61 @@ +package com.hjx.miaohongentry.update; + +/** + * Created by l on 2017/7/17. + */ + + +import android.app.IntentService; +import android.content.Intent; +import android.os.Bundle; +import android.os.ResultReceiver; + +import java.io.BufferedInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.URL; +import java.net.URLConnection; + +public class DownloadService extends IntentService { + public static final int UPDATE_PROGRESS = 8344; + public DownloadService() { + super("DownloadService"); + } + @Override + protected void onHandleIntent(Intent intent) { + String urlToDownload = intent.getStringExtra("url"); + String fileDestination = intent.getStringExtra("dest"); + ResultReceiver receiver = (ResultReceiver) intent.getParcelableExtra("receiver"); + try { + URL url = new URL(urlToDownload); + URLConnection connection = url.openConnection(); + connection.connect(); + // this will be useful so that you can show a typical 0-100% progress bar + int fileLength = connection.getContentLength(); + // download the file + InputStream input = new BufferedInputStream(connection.getInputStream()); + OutputStream output = new FileOutputStream(fileDestination); + byte data[] = new byte[100]; + long total = 0; + int count; + while ((count = input.read(data)) != -1) { + total += count; + // publishing the progress.... + Bundle resultData = new Bundle(); + resultData.putInt("progress" ,(int) (total * 100 / fileLength)); + receiver.send(UPDATE_PROGRESS, resultData); + output.write(data, 0, count); + } + output.flush(); + output.close(); + input.close(); + } catch (IOException e) { + e.printStackTrace(); + } + Bundle resultData = new Bundle(); + resultData.putInt("progress" ,100); + receiver.send(UPDATE_PROGRESS, resultData); + } +} \ No newline at end of file diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/update/UpdateChecker.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/update/UpdateChecker.java new file mode 100644 index 0000000..ec7eb6e --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/update/UpdateChecker.java @@ -0,0 +1,211 @@ +package com.hjx.miaohongentry.update; + +/** + * Created by l on 2017/7/17. + */ + +import android.app.Activity; +import android.app.AlertDialog; +import android.app.ProgressDialog; +import android.content.Context; +import android.content.DialogInterface; +import android.content.Intent; +import android.content.pm.PackageInfo; +import android.content.pm.PackageManager; +import android.net.Uri; +import android.os.Bundle; +import android.os.Environment; +import android.os.Handler; +import android.os.Message; +import android.os.ResultReceiver; +import android.util.Log; + + +import com.hjx.miaohongentry.bean.AppVersion; +import com.hjx.miaohongentry.http.MHGetApiImp; + +import java.io.File; + +public class UpdateChecker { + private static final String TAG = "UpdateChecker"; + private Context mContext; + //检查版本信息的线程 + private Thread mThread; + + private AppVersion mAppVersion; + //下载apk的对话框 + private ProgressDialog mProgressDialog; + + private File apkFile; + + + public UpdateChecker(Context context) { + mContext = context; + // instantiate it within the onCreate method + mProgressDialog = new ProgressDialog(context); + mProgressDialog.setMessage("正在下载"); + mProgressDialog.setIndeterminate(false); + mProgressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); + mProgressDialog.setCancelable(true); + mProgressDialog.setOnCancelListener(new DialogInterface.OnCancelListener() { + @Override + public void onCancel(DialogInterface dialog) { + + } + }); + mProgressDialog.setOnDismissListener(new DialogInterface.OnDismissListener() { + @Override + public void onDismiss(DialogInterface dialog) { + // TODO Auto-generated method stub + + } + }); + } + + public void checkForUpdates() { + + final Handler handler = new Handler(){ + public void handleMessage(Message msg) { + if (msg.what == 1) { + mAppVersion = (AppVersion) msg.obj; + try{ + int versionCode = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0).versionCode; + if (mAppVersion.getVersionCode() > versionCode) { + if(mAppVersion.isForceUpdate()){ + showForceUpdateDialog(); + }else{ + showUpdateDialog(); + } + } else { + //Toast.makeText(mContext, "已经是最新版本", Toast.LENGTH_SHORT).show(); + } + }catch (PackageManager.NameNotFoundException ignored) { + // + } + } + } + }; + + mThread = new Thread() { + @Override + public void run() { + //if (isNetworkAvailable(mContext)) { + try { + MHGetApiImp imp = new MHGetApiImp(); + String pkgName = mContext.getPackageName(); + + PackageInfo pkg = mContext.getPackageManager().getPackageInfo(mContext.getPackageName(), 0); + // String appName = pkg.applicationInfo.loadLabel(mContext.getPackageManager()).toString(); + String appName = "练汉字"; + AppVersion appVersion = imp.getUpdateInfo(pkgName,appName); + if(appVersion != null){ + Message msg = new Message(); + msg.what = 1; + msg.obj = appVersion; + handler.sendMessage(msg); + }else { + Log.e(TAG, "can't get app update json"); + } + + }catch (Exception e){ + e.printStackTrace(); + } + + } + }; + mThread.start(); + } + + private void showForceUpdateDialog() { + AlertDialog.Builder builder = new AlertDialog.Builder(mContext); + + //builder.setIcon(R.drawable.icon); + builder.setTitle("升级提示"); + builder.setMessage(mAppVersion.getMsg()); + builder.setPositiveButton("现在升级", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + downLoadApk(); + } + }); + builder.setNegativeButton("退出", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + ((Activity)mContext).finish(); + } + }); + builder.setCancelable(false); + builder.show(); + } + + private void showUpdateDialog() { + AlertDialog.Builder builder = new AlertDialog.Builder(mContext); + //builder.setIcon(R.drawable.icon); + builder.setTitle("升级提示"); + builder.setMessage(mAppVersion.getMsg()); + builder.setPositiveButton("下载", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + downLoadApk(); + } + }); + builder.setNegativeButton("忽略", + new DialogInterface.OnClickListener() { + public void onClick(DialogInterface dialog, int whichButton) { + + } + }); + builder.show(); + } + + private void downLoadApk() { + String apkUrl = mAppVersion.getURL(); + String dir = mContext.getExternalFilesDir( "apk").getAbsolutePath(); + File folder = Environment.getExternalStoragePublicDirectory(dir); + if(folder.exists() && folder.isDirectory()) { + //do nothing + }else { + folder.mkdirs(); + } + String filename = apkUrl.substring(apkUrl.lastIndexOf("/"),apkUrl.length()); + String destinationFilePath = dir + "/" + filename; + apkFile = new File(destinationFilePath); + if(mAppVersion.isForceUpdate()){ + mProgressDialog.setCancelable(false); + } + mProgressDialog.show(); + Intent intent = new Intent(mContext, DownloadService.class); + intent.putExtra("url", apkUrl); + intent.putExtra("dest", destinationFilePath); + intent.putExtra("receiver", new DownloadReceiver(new Handler())); + mContext.startService(intent); + } + + private class DownloadReceiver extends ResultReceiver { + public DownloadReceiver(Handler handler) { + super(handler); + } + @Override + protected void onReceiveResult(int resultCode, Bundle resultData) { + super.onReceiveResult(resultCode, resultData); + if (resultCode == DownloadService.UPDATE_PROGRESS) { + int progress = resultData.getInt("progress"); + mProgressDialog.setProgress(progress); + if (progress == 100) { + mProgressDialog.dismiss(); + //如果没有设置SDCard写权限,或者没有sdcard,apk文件保存在内存中,需要授予权限才能安装 + String[] command = {"chmod","777",apkFile.toString()}; + try{ + ProcessBuilder builder = new ProcessBuilder(command); + builder.start(); + Intent intent = new Intent(Intent.ACTION_VIEW); + intent.setDataAndType(Uri.fromFile(apkFile), "application/vnd.android.package-archive"); + mContext.startActivity(intent); + }catch (Exception e){ + e.printStackTrace(); + } + } + } + } + } +} \ No newline at end of file diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/Constants.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/Constants.java new file mode 100644 index 0000000..c884fbc --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/Constants.java @@ -0,0 +1,23 @@ +package com.hjx.miaohongentry.util; + +import android.os.Environment; + +/** + * Created by l on 2018/2/3. + */ + +public class Constants { + + public final static String SP_BOOK_CHOSEN_INFO = "book_info"; + public final static String SP_BOOK_CHOSEN_ID = "book_idx"; + public final static String PACKAGE_NAME = "com.hjx.miaohongentry"; + public final static String MH_DATABASE_DIR_PATH = "/sdcard/"+PACKAGE_NAME; + public final static String MH_DATABASE_PATH = "/sdcard/"+PACKAGE_NAME+"/mh.db"; + + public final static String SP_STATIS_WRITE_TOTAL = "write_total"; + public final static String SP_STATIS_WRITE_NUM_TODAY = "write_num_today"; + public final static String SP_STATIS_WRITE_TIME_TODAY = "write_time_today"; + public final static String SP_STATIS_DATE_TODAY = "today"; + + public final static String SP_STATIS_ENTER_APP_TIMR = "enter_time"; +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/DeviceUtils.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/DeviceUtils.java new file mode 100644 index 0000000..58fc447 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/DeviceUtils.java @@ -0,0 +1,102 @@ +/* + * Copyright (C) 2013 Peng fei Pan + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package com.hjx.miaohongentry.util; + +import android.annotation.TargetApi; +import android.content.Context; +import android.graphics.Point; +import android.os.Build; +import android.util.TypedValue; +import android.view.Display; +import android.view.WindowManager; + +/** + * 设备工具箱,提供与设备硬件相关的工具方法 + */ +public class DeviceUtils { + + /** + * 获取屏幕尺寸 + */ + @SuppressWarnings("deprecation") + @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR2) + public static Point getScreenSize(Context context){ + WindowManager windowManager = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE); + Display display = windowManager.getDefaultDisplay(); + if(Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB_MR2){ + return new Point(display.getWidth(), display.getHeight()); + }else{ + Point point = new Point(); + display.getSize(point); + return point; + } + } + + public static int dip2px(Context context, float dpValue) { + final float scale = context.getResources().getDisplayMetrics().density; + return (int) (dpValue * scale + 0.5f); + } + + /** + * dp转px + * + * @param context 上下文 + * @param dpVal dp值 + * @return result in px + */ + public static int dp2px(Context context, float dpVal) { + return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, + dpVal, context.getResources().getDisplayMetrics()); + } + + /** + * sp转px + * + * @param context 上下文 + * @param spVal sp值 + * @return result in px + */ + public static int sp2px(Context context, float spVal) { + return (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, + spVal, context.getResources().getDisplayMetrics()); + } + + /** + * px转dp + * + * @param context 上下文 + * @param pxVal px值 + * @return result in dp + */ + public static float px2dp(Context context, float pxVal) { + final float scale = context.getResources().getDisplayMetrics().density; + return (pxVal / scale); + } + + /** + * px转sp + * + * @param context 上下文 + * @param pxVal px值 + * @return result in sp + */ + public static float px2sp(Context context, float pxVal) { + return (pxVal / context.getResources().getDisplayMetrics().scaledDensity); + } + + +} \ No newline at end of file diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/SpUtils.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/SpUtils.java new file mode 100644 index 0000000..ee06cfc --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/SpUtils.java @@ -0,0 +1,109 @@ +package com.hjx.miaohongentry.util; + +/** + * Created by l on 2017/7/20. + */ + + +import android.content.Context; +import android.content.SharedPreferences; + +/** + * SharedPreference操作类 + */ +public class SpUtils { + private static final String spFileName = "app"; + + + public static String getString(Context context, String strKey) { + SharedPreferences setPreferences = context.getSharedPreferences( + spFileName, Context.MODE_PRIVATE); + String result = setPreferences.getString(strKey, ""); + return result; + } + + public static String getString(Context context, String strKey, + String strDefault) { + SharedPreferences setPreferences = context.getSharedPreferences( + spFileName, Context.MODE_PRIVATE); + String result = setPreferences.getString(strKey, strDefault); + return result; + } + + public static void putString(Context context, String strKey, String strData) { + SharedPreferences activityPreferences = context.getSharedPreferences( + spFileName, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = activityPreferences.edit(); + editor.putString(strKey, strData); + editor.commit(); + } + + public static Boolean getBoolean(Context context, String strKey) { + SharedPreferences setPreferences = context.getSharedPreferences( + spFileName, Context.MODE_PRIVATE); + Boolean result = setPreferences.getBoolean(strKey, false); + return result; + } + + public static Boolean getBoolean(Context context, String strKey, + Boolean strDefault) { + SharedPreferences setPreferences = context.getSharedPreferences( + spFileName, Context.MODE_PRIVATE); + Boolean result = setPreferences.getBoolean(strKey, strDefault); + return result; + } + + + public static void putBoolean(Context context, String strKey, + Boolean strData) { + SharedPreferences activityPreferences = context.getSharedPreferences( + spFileName, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = activityPreferences.edit(); + editor.putBoolean(strKey, strData); + editor.commit(); + } + + public static int getInt(Context context, String strKey) { + SharedPreferences setPreferences = context.getSharedPreferences( + spFileName, Context.MODE_PRIVATE); + int result = setPreferences.getInt(strKey, -1); + return result; + } + + public static int getInt(Context context, String strKey, int strDefault) { + SharedPreferences setPreferences = context.getSharedPreferences( + spFileName, Context.MODE_PRIVATE); + int result = setPreferences.getInt(strKey, strDefault); + return result; + } + + public static void putInt(Context context, String strKey, int strData) { + SharedPreferences activityPreferences = context.getSharedPreferences( + spFileName, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = activityPreferences.edit(); + editor.putInt(strKey, strData); + editor.commit(); + } + + public static long getLong(Context context, String strKey) { + SharedPreferences setPreferences = context.getSharedPreferences( + spFileName, Context.MODE_PRIVATE); + long result = setPreferences.getLong(strKey, -1); + return result; + } + + public static long getLong(Context context, String strKey, long strDefault) { + SharedPreferences setPreferences = context.getSharedPreferences( + spFileName, Context.MODE_PRIVATE); + long result = setPreferences.getLong(strKey, strDefault); + return result; + } + + public static void putLong(Context context, String strKey, long strData) { + SharedPreferences activityPreferences = context.getSharedPreferences( + spFileName, Context.MODE_PRIVATE); + SharedPreferences.Editor editor = activityPreferences.edit(); + editor.putLong(strKey, strData); + editor.commit(); + } +} \ No newline at end of file diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/SpanTextViewUtils.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/SpanTextViewUtils.java new file mode 100644 index 0000000..435273e --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/SpanTextViewUtils.java @@ -0,0 +1,156 @@ +package com.hjx.miaohongentry.util; + +import java.util.Timer; +import java.util.TimerTask; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import net.sourceforge.pinyin4j.PinyinHelper; +import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; +import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; +import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; +import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; + +import android.app.Activity; +import android.app.AlertDialog; +import android.app.Dialog; +import android.content.ComponentName; +import android.content.Context; +import android.content.Intent; +import android.graphics.Color; +import android.graphics.drawable.AnimationDrawable; +import android.provider.Settings; +import android.text.style.ForegroundColorSpan; +import android.view.LayoutInflater; +import android.view.View; +import android.view.View.OnClickListener; +import android.widget.ImageButton; +import android.widget.ImageView; +import android.widget.RelativeLayout; +import android.widget.Toast; + +import com.hjx.miaohongentry.activity.WordActivity; + + +public class SpanTextViewUtils { + + public static long lastTime;// 上一次点击时间 + public static long currentTime;// 这一次点击时间 + + private static View contentView; + private static Dialog dialog; + private static AnimationDrawable mAnimationDrawable; + + public static ForegroundColorSpan mForegroundColorSpan = new ForegroundColorSpan(Color.CYAN); + + + + /** + * 进入描红应用 adb shell am force-stop air.com.wyt.HanZiMiaoHong + * + * @param context + * @param character + * 需要描红的汉字 + */ + public static void gotoMiaohong(Context context, String character) { + // 一个字的情况下,进入描红 + String pinyins = converterToSpell(character); + String py = pinyins.split(",")[0].trim(); + boolean isCharacter = false; + Pattern p = Pattern.compile("[\\u4e00-\\u9fa5]"); + Matcher m = p.matcher(character); + while (m.find()) { + isCharacter = true; + } + if (isCharacter) {// 语文科目且是汉字才跳 + //&& Constants.OPENFLAG == 0//语文科目且 + Intent intent = new Intent(); + ComponentName cn = new ComponentName("air.com.wyt.HanZiMiaoHong", "air.com.wyt.HanZiMiaoHong.AppEntry"); + intent.setComponent(cn); + // 描红传入规则:汉字&_拼音 + intent.putExtra("type", character.trim() + "&_" + py.trim()); + try { + // ((Activity)context).startActivityForResult(intent, WordActivity.REQUEST_CODE_MIAO_HONG); + context.startActivity(intent); + } catch (Exception e) { + Toast.makeText(context, "未安装汉字描红!", + Toast.LENGTH_SHORT).show(); + // return; + //ToastUtil.showLong(context, context.getResources().getString(R.string.apk_none_hanzimiaohong)); + } + StatisUtils.setEnterMiaohongTime(context, System.currentTimeMillis()); + StatisUtils.addTotalNum(context); + int count = StatisUtils.getTodayNum(context); + count ++; + StatisUtils.setTodayNum(context,count); + } + } + + /** + * 汉字转换位汉语全拼,英文字符不变,特殊字符丢失 + * 支持多音字,生成方式如(重当参:zhongdangcen,zhongdangcan,chongdangcen + * ,chongdangshen,zhongdangshen,chongdangcan) + * + * @param chines + * 汉字 + * @return 拼音 + */ + public static String converterToSpell(String chines) { + StringBuffer pinyinName = new StringBuffer(); + char[] nameChar = chines.toCharArray(); + HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); + defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); + defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); + for (int i = 0; i < nameChar.length; i++) { + if (nameChar[i] > 128) { + try { + // 取得当前汉字的所有全拼 + String[] strs = PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat); + if (strs != null) { + for (int j = 0; j < strs.length; j++) { + pinyinName.append(strs[j]); + if (j != strs.length - 1) { + pinyinName.append(","); + } + } + } + } catch (BadHanyuPinyinOutputFormatCombination e) { + e.printStackTrace(); + } + } else { + pinyinName.append(nameChar[i]); + } + pinyinName.append(" "); + } + return pinyinName.toString(); + } + + public static ExecutorService executorService = Executors.newFixedThreadPool(5); + + + + private static void startAnimation() { + if (mAnimationDrawable != null) { + mAnimationDrawable.start(); + Timer mytimer = new Timer(); + TimerTask mytt = new TimerTask() { + + @Override + public void run() { + + stopAnimation(); + } + }; + mytimer.schedule(mytt, 1000); + } + } + + public static void stopAnimation() { + if (mAnimationDrawable != null) { + mAnimationDrawable.stop(); + } + } + +} diff --git a/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/StatisUtils.java b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/StatisUtils.java new file mode 100644 index 0000000..e4b8054 --- /dev/null +++ b/MiaohongEntry/app/src/main/java/com/hjx/miaohongentry/util/StatisUtils.java @@ -0,0 +1,70 @@ +package com.hjx.miaohongentry.util; + +import android.content.Context; + +import java.text.SimpleDateFormat; +import java.util.Date; + +/** + * Created by l on 2018/2/6. + */ + +public class StatisUtils { + + public static void addTotalNum(Context context){ + int num = SpUtils.getInt(context,Constants.SP_STATIS_WRITE_TOTAL,0); + num ++; + SpUtils.putInt(context,Constants.SP_STATIS_WRITE_TOTAL,num); + } + + public static int getTotalNum(Context context){ + int num = SpUtils.getInt(context,Constants.SP_STATIS_WRITE_TOTAL,0); + return num; + } + + public static void setToday(Context context){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Date now = new Date(); + String now_date = format.format(now); + SpUtils.putString(context,Constants.SP_STATIS_DATE_TODAY,now_date); + } + + public static boolean isToday(Context context){ + SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); + Date now = new Date(); + String now_date = format.format(now); + String sp_today = SpUtils.getString(context,Constants.SP_STATIS_DATE_TODAY,""); + if(now_date.equals(sp_today)){ + return true; + }else{ + return false; + } + } + + public static int getTodayNum(Context context){ + int num = SpUtils.getInt(context,Constants.SP_STATIS_WRITE_NUM_TODAY,0); + return num; + } + + public static long getTodayTime(Context context){ + long time = SpUtils.getLong(context,Constants.SP_STATIS_WRITE_TIME_TODAY,0); + return time; + } + + public static void setTodayTime(Context context, long time){ + SpUtils.putLong(context,Constants.SP_STATIS_WRITE_TIME_TODAY,time); + } + + public static void setTodayNum(Context context, int num){ + SpUtils.putInt(context,Constants.SP_STATIS_WRITE_NUM_TODAY,num); + } + + public static void setEnterMiaohongTime(Context context,long mills){ + SpUtils.putLong(context,Constants.SP_STATIS_ENTER_APP_TIMR,mills); + } + + public static long getEnterMiaohongTime(Context context){ + long mills = SpUtils.getLong(context,Constants.SP_STATIS_ENTER_APP_TIMR,0); + return mills; + } +} diff --git a/MiaohongEntry/app/src/main/libs/pinyin4j-2.5.0.jar b/MiaohongEntry/app/src/main/libs/pinyin4j-2.5.0.jar new file mode 100644 index 0000000000000000000000000000000000000000..e8ede137ae6d90ee19c7e122809536e61a478bc9 GIT binary patch literal 188920 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

&)bP^u`_7nHbn8r2B4LZnU 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 l4l}kw + + + + + + + + + \ No newline at end of file diff --git a/MiaohongEntry/app/src/main/res/drawable/radio_table_type_left.xml b/MiaohongEntry/app/src/main/res/drawable/radio_table_type_left.xml new file mode 100644 index 0000000..8de0e05 --- /dev/null +++ b/MiaohongEntry/app/src/main/res/drawable/radio_table_type_left.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/MiaohongEntry/app/src/main/res/drawable/radio_table_type_right.xml b/MiaohongEntry/app/src/main/res/drawable/radio_table_type_right.xml new file mode 100644 index 0000000..4d0e5e6 --- /dev/null +++ b/MiaohongEntry/app/src/main/res/drawable/radio_table_type_right.xml @@ -0,0 +1,9 @@ + + + + + \ No newline at end of file diff --git a/MiaohongEntry/app/src/main/res/drawable/shape_corner.xml b/MiaohongEntry/app/src/main/res/drawable/shape_corner.xml new file mode 100644 index 0000000..57713b9 --- /dev/null +++ b/MiaohongEntry/app/src/main/res/drawable/shape_corner.xml @@ -0,0 +1,9 @@ + + + + + + \ No newline at end of file diff --git a/MiaohongEntry/app/src/main/res/layout/activity_choose_book.xml b/MiaohongEntry/app/src/main/res/layout/activity_choose_book.xml new file mode 100644 index 0000000..3ea37ee --- /dev/null +++ b/MiaohongEntry/app/src/main/res/layout/activity_choose_book.xml @@ -0,0 +1,46 @@ + + + + + + + + + +