diff --git a/.gitignore b/.gitignore
index c6cbe56..a1c63d7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,5 @@
.DS_Store
/build
/captures
+rxjavaapp.jks
+grad*
\ No newline at end of file
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 0000000..8dada3e
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,201 @@
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "{}"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright {yyyy} {name of copyright owner}
+
+ 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.
diff --git a/README.md b/README.md
index d113db6..ed39dfd 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,37 @@
-###请记住: 实践是检验真理的唯一标准,有所尝试才能有所收获。
-一个用于学习RxJava操作符的app
+### 学习RxJava操作符的APP
+ 全新升级,更漂亮,更耐看,已加入RxJava2.x介绍 自行编译
-下载地址: fir.im
-http://fir.im/bpdu
+### 展示:
+
+
+
-或者直接在 Release里面下载
-https://github.com/jiang111/RxJavaApp/releases/tag/1.3
+### 下载地址
+>* 自行编译
+### 说明:
+>* Logo来源于网络
+>* app中用到的数据来自: https://github.com/mcxiaoke/RxDocs
+>* 介绍的操作符并不是全部操作符,大都是我们常用的,想要看全部操作符,请移步:http://reactivex.io/RxJava/javadoc/overview-summary.html
+>* 线程调度的一些说明可能不准确,如发现错误,欢迎提issue,我会及时更正过来
-时间仓促,如果各位看官发现有错误的话请提到issue
+### 捐赠
+如果您觉得对您有帮助,欢迎请作者一杯咖啡
+
-Logo来源于网络,如有所不适请见谅😄
-app中用到的数据来自:https://github.com/mcxiaoke/RxDocs
+### License
+ Copyright 2016 NewTab
+ 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.
diff --git a/app/art/1.png b/app/art/1.png
index 99eb12c..975241d 100644
Binary files a/app/art/1.png and b/app/art/1.png differ
diff --git a/app/art/2.png b/app/art/2.png
index c21d09b..6e7ac84 100644
Binary files a/app/art/2.png and b/app/art/2.png differ
diff --git a/app/art/3.png b/app/art/3.png
index a0d465c..e245213 100644
Binary files a/app/art/3.png and b/app/art/3.png differ
diff --git a/app/art/4.png b/app/art/4.png
deleted file mode 100644
index a1a5402..0000000
Binary files a/app/art/4.png and /dev/null differ
diff --git a/app/build.gradle b/app/build.gradle
index b81f2d1..a38e3df 100644
--- a/app/build.gradle
+++ b/app/build.gradle
@@ -8,8 +8,8 @@ android {
applicationId "com.jiang.android.rxjavaapp"
minSdkVersion 15
targetSdkVersion 23
- versionCode 3
- versionName "1.3"
+ versionCode 9
+ versionName "2.0"
}
buildTypes {
release {
@@ -22,7 +22,6 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
- testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
@@ -35,5 +34,4 @@ dependencies {
compile 'io.reactivex:rxjava:1.1.1'
compile 'io.reactivex:rxandroid:1.1.0'
-
}
diff --git a/app/libs/commons-codec-1.6.jar b/app/libs/commons-codec-1.6.jar
new file mode 100644
index 0000000..ee1bc49
Binary files /dev/null and b/app/libs/commons-codec-1.6.jar differ
diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro
index 30d88c0..6357755 100644
--- a/app/proguard-rules.pro
+++ b/app/proguard-rules.pro
@@ -12,6 +12,6 @@
# 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 *;
-#}
+-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+ public *;
+}
diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 3775086..9173c99 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -15,10 +15,10 @@
android:screenOrientation="portrait"
android:supportsRtl="true"
android:theme="@style/AppTheme">
-
+
-
-
+
+
diff --git a/app/src/main/java/com/jiang/android/rxjavaapp/actiity/LauncherActivity.java b/app/src/main/java/com/jiang/android/rxjavaapp/activity/LauncherActivity.java
similarity index 82%
rename from app/src/main/java/com/jiang/android/rxjavaapp/actiity/LauncherActivity.java
rename to app/src/main/java/com/jiang/android/rxjavaapp/activity/LauncherActivity.java
index 31ba8b7..27dc2bd 100644
--- a/app/src/main/java/com/jiang/android/rxjavaapp/actiity/LauncherActivity.java
+++ b/app/src/main/java/com/jiang/android/rxjavaapp/activity/LauncherActivity.java
@@ -1,4 +1,4 @@
-package com.jiang.android.rxjavaapp.actiity;
+package com.jiang.android.rxjavaapp.activity;
import android.content.Intent;
import android.os.Bundle;
@@ -8,9 +8,8 @@
import com.jiang.android.rxjavaapp.R;
import com.jiang.android.rxjavaapp.common.CommonString;
-import com.jiang.android.rxjavaapp.common.SPKey;
+import com.jiang.android.rxjavaapp.database.helper.DbUtil;
import com.jiang.android.rxjavaapp.utils.DataUtils;
-import com.jiang.android.rxjavaapp.utils.SharePrefUtil;
import com.nostra13.universalimageloader.core.ImageLoader;
public class LauncherActivity extends AppCompatActivity {
@@ -29,11 +28,13 @@ protected void onCreate(Bundle savedInstanceState) {
}
private void startAct() {
- if (SharePrefUtil.getBoolean(this, SPKey.FIRST_ENTER, true)) {
+
+
+ long count = DbUtil.getOperatorsService().count();
+ if (count == 0) {
DataUtils.fillData(new DataUtils.callBack() {
@Override
public void onSuccess() {
- SharePrefUtil.saveBoolean(LauncherActivity.this, SPKey.FIRST_ENTER, false);
startActivity(new Intent(LauncherActivity.this, MainActivity.class));
LauncherActivity.this.finish();
diff --git a/app/src/main/java/com/jiang/android/rxjavaapp/actiity/MainActivity.java b/app/src/main/java/com/jiang/android/rxjavaapp/activity/MainActivity.java
similarity index 86%
rename from app/src/main/java/com/jiang/android/rxjavaapp/actiity/MainActivity.java
rename to app/src/main/java/com/jiang/android/rxjavaapp/activity/MainActivity.java
index 7f62b9a..fa51b5c 100644
--- a/app/src/main/java/com/jiang/android/rxjavaapp/actiity/MainActivity.java
+++ b/app/src/main/java/com/jiang/android/rxjavaapp/activity/MainActivity.java
@@ -1,6 +1,7 @@
-package com.jiang.android.rxjavaapp.actiity;
+package com.jiang.android.rxjavaapp.activity;
import android.content.Intent;
+import android.net.Uri;
import android.os.Bundle;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
@@ -9,12 +10,14 @@
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.Toolbar;
+import android.text.TextUtils;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
+import android.widget.Toast;
import com.jiang.android.rxjavaapp.R;
import com.jiang.android.rxjavaapp.adapter.BaseAdapter;
@@ -39,12 +42,14 @@
public class MainActivity extends BaseActivity implements View.OnClickListener {
+ private static final int REQUEST_STORAGE = 1010;
private Toolbar toolbar;
private LinearLayout mHeadView;
RecyclerView mNavRecyclerView;
BaseAdapter mAdapter;
BaseAdapter mContentAdapter;
+ private int checkedPosition = 0;
private List mList = new ArrayList<>();
private List mContentLists = new ArrayList<>();
@@ -62,6 +67,7 @@ protected void initViewsAndEvents() {
initNavRecycerView();
mContentRecyclerView = (RecyclerView) findViewById(R.id.id_content);
+
}
private void getAllOperatorById(final long parent_id) {
@@ -94,7 +100,9 @@ private void initContentRecyclerView() {
LinearLayoutManager manager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
mContentRecyclerView.setLayoutManager(manager);
mContentRecyclerView.setHasFixedSize(true);
- getAllOperatorById(mList.get(0).getOuter_id());
+ if (mList != null && mList.size() > 0) {
+ getAllOperatorById(mList.get(0).getOuter_id());
+ }
}
@@ -107,6 +115,12 @@ protected void onBindView(BaseViewHolder holder, final int position) {
ImageView iv = holder.getView(R.id.item_content_iv);
TextView title = holder.getView(R.id.item_content_title);
TextView desc = holder.getView(R.id.item_content_desc);
+ TextView thread = holder.getView(R.id.item_content_thread);
+ if (TextUtils.isEmpty(mContentLists.get(position).getThread())) {
+ thread.setText("默认线程");
+ } else {
+ thread.setText(mContentLists.get(position).getThread());
+ }
title.setText(mContentLists.get(position).getName());
desc.setText(mContentLists.get(position).getDesc());
ImageLoader.getInstance().displayImage(mContentLists.get(position).getImg(), iv);
@@ -142,6 +156,7 @@ public void onItemClick(int position) {
});
mContentRecyclerView.setAdapter(mContentAdapter);
} else {
+ mContentRecyclerView.getLayoutManager().scrollToPosition(0);
mContentAdapter.notifyDataSetChanged();
}
}
@@ -190,6 +205,11 @@ public int getItemCount() {
protected void onBindView(BaseViewHolder holder, int position) {
TextView tv = holder.getView(R.id.item_nav_head_v);
tv.setText(mList.get(position).getName());
+ if (position == checkedPosition) {
+ tv.setBackgroundColor(getResources().getColor(R.color._eeeeee));
+ } else {
+ tv.setBackgroundColor(getResources().getColor(R.color.white));
+ }
}
@Override
@@ -200,7 +220,8 @@ protected int getLayoutID(int position) {
mAdapter.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(int position) {
-
+ checkedPosition = position;
+ mAdapter.notifyDataSetChanged();
getAllOperatorById(mList.get(position).getOuter_id());
if (drawer.isDrawerOpen(GravityCompat.START)) {
drawer.closeDrawer(GravityCompat.START);
@@ -270,18 +291,33 @@ public boolean onOptionsItemSelected(MenuItem item) {
case R.id.share:
shareText(item.getActionView());
break;
+ case R.id.mark:
+ try {
+ Intent viewIntent = new Intent("android.intent.action.VIEW",
+ Uri.parse("market://details?id=" + getPackageName()));
+ startActivity(viewIntent);
+ } catch (Exception e) {
+ e.printStackTrace();
+ toast("手机未安装应用市场");
+ }
}
return super.onOptionsItemSelected(item);
}
+
+ private void toast(String str) {
+ Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
+ }
+
public void shareText(View view) {
Intent shareIntent = new Intent();
shareIntent.setAction(Intent.ACTION_SEND);
- shareIntent.putExtra(Intent.EXTRA_TEXT, "Hi,我正在学习RxJava,推荐你下载这个app一起学习吧 https://github.com/jiang111/RxJavaApp/releases");
+ shareIntent.putExtra(Intent.EXTRA_TEXT, "Hi,我正在学习RxJava,推荐你下载这个app一起学习吧 到应用商店或者https://github.com/jiang111/RxJavaApp/releases即可下载");
shareIntent.setType("text/plain");
startActivity(Intent.createChooser(shareIntent, "分享到"));
}
+
@Override
public void onClick(View v) {
switch (v.getId()) {
@@ -312,4 +348,6 @@ public void showImgFullScreen(int pos) {
readyGo(PhotoPagerActivity.class, bundle);
}
+
+
}
diff --git a/app/src/main/java/com/jiang/android/rxjavaapp/actiity/PhotoPagerActivity.java b/app/src/main/java/com/jiang/android/rxjavaapp/activity/PhotoPagerActivity.java
similarity index 97%
rename from app/src/main/java/com/jiang/android/rxjavaapp/actiity/PhotoPagerActivity.java
rename to app/src/main/java/com/jiang/android/rxjavaapp/activity/PhotoPagerActivity.java
index b6927fb..58c8e25 100644
--- a/app/src/main/java/com/jiang/android/rxjavaapp/actiity/PhotoPagerActivity.java
+++ b/app/src/main/java/com/jiang/android/rxjavaapp/activity/PhotoPagerActivity.java
@@ -1,4 +1,4 @@
-package com.jiang.android.rxjavaapp.actiity;
+package com.jiang.android.rxjavaapp.activity;
import android.support.v4.view.PagerAdapter;
import android.view.View;
diff --git a/app/src/main/java/com/jiang/android/rxjavaapp/common/CommonString.java b/app/src/main/java/com/jiang/android/rxjavaapp/common/CommonString.java
index 19fc805..30ef73e 100644
--- a/app/src/main/java/com/jiang/android/rxjavaapp/common/CommonString.java
+++ b/app/src/main/java/com/jiang/android/rxjavaapp/common/CommonString.java
@@ -32,160 +32,160 @@
* Created by jiang on 16/3/13.
*/
public class CommonString {
- public static final String SPLASH_INDEX_URL = "http://s7.51cto.com/wyfs02/M01/71/AC/wKiom1XWiPSQ-3r1AABXHna6t3c411.jpg";
+ public static final String SPLASH_INDEX_URL = "https://raw.githubusercontent.com/jiang111/jiang111.github.io/master/images/rxjava_app_launcher.png";
public static final String GITHUB_URL = "https://github.com/jiang111/RxJavaApp";
- public static final String OBSERVABLES = "https://github.com/mcxiaoke/RxDocs/raw/master/images/legend.png";
- public static final String SUBJECT = "https://github.com/mcxiaoke/RxDocs/raw/master/images/S.AsyncSubject.png";
- public static final String JUST = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/just.png";
- public static final String FROM = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/from.png";
- public static final String REPEAT = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/repeat.c.png";
- public static final String REPEAT_WHEN = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/repeatWhen.f.png";
- public static final String CREATE = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/create.c.png";
- public static final String DEFER = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/defer.c.png";
- public static final String RANGE = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/range.png";
- public static final String INTERVAL = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/interval.c.png";
- public static final String TIMER = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/timer.p.png";
+ public static final String OBSERVABLES = "https://github.com/jiang111/RxDocs/raw/master/images/legend.png";
+ public static final String SUBJECT = "https://github.com/jiang111/RxDocs/raw/master/images/S.AsyncSubject.png";
+ public static final String JUST = "https://github.com/jiang111/RxDocs/raw/master/images/operators/just.png";
+ public static final String FROM = "https://github.com/jiang111/RxDocs/raw/master/images/operators/from.png";
+ public static final String REPEAT = "https://github.com/jiang111/RxDocs/raw/master/images/operators/repeat.c.png";
+ public static final String REPEAT_WHEN = "https://github.com/jiang111/RxDocs/raw/master/images/operators/repeatWhen.f.png";
+ public static final String CREATE = "https://github.com/jiang111/RxDocs/raw/master/images/operators/create.c.png";
+ public static final String DEFER = "https://github.com/jiang111/RxDocs/raw/master/images/operators/defer.c.png";
+ public static final String RANGE = "https://github.com/jiang111/RxDocs/raw/master/images/operators/range.png";
+ public static final String INTERVAL = "https://github.com/jiang111/RxDocs/raw/master/images/operators/interval.c.png";
+ public static final String TIMER = "https://github.com/jiang111/RxDocs/raw/master/images/operators/timer.p.png";
public static final String EMPTY = SPLASH_INDEX_URL;
// transd form
- public static final String MAP = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/map.png";
- public static final String FLATMAP = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/flatMap.png";
- public static final String CONTACTMAP = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/concatMap.png";
- public static final String SWITCHMAP = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/switchMap.png";
- public static final String SCAN = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/scan.c.png";
- public static final String GROUPBY = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/groupBy.c.png";
- public static final String BUFFER = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/buffer.png";
- public static final String WINDOW = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/window.C.png";
- public static final String CAST = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/cast.png";
+ public static final String MAP = "https://github.com/jiang111/RxDocs/raw/master/images/operators/map.png";
+ public static final String FLATMAP = "https://github.com/jiang111/RxDocs/raw/master/images/operators/flatMap.png";
+ public static final String CONTACTMAP = "https://github.com/jiang111/RxDocs/raw/master/images/operators/concatMap.png";
+ public static final String SWITCHMAP = "https://github.com/jiang111/RxDocs/raw/master/images/operators/switchMap.png";
+ public static final String SCAN = "https://github.com/jiang111/RxDocs/raw/master/images/operators/scan.c.png";
+ public static final String GROUPBY = "https://github.com/jiang111/RxDocs/raw/master/images/operators/groupBy.c.png";
+ public static final String BUFFER = "https://github.com/jiang111/RxDocs/raw/master/images/operators/buffer.png";
+ public static final String WINDOW = "https://github.com/jiang111/RxDocs/raw/master/images/operators/window.C.png";
+ public static final String CAST = "https://github.com/jiang111/RxDocs/raw/master/images/operators/cast.png";
//filter
- public static final String FILTER = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/filter.c.png";
- public static final String TAKE_LAST = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/takeLast.c.png";
- public static final String LAST = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/last.c.png";
- public static final String LAST_OR_DEFAULT = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/lastOrDefault.p.png";
- public static final String TAKE_LAST_BUFFER = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/takeLastBuffer.png";
- public static final String SKIP = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/skip.png";
- public static final String SKIP_LAST = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/skipLast.c.png";
- public static final String TAKE = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/take.c.png";
- public static final String FIRST = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/first.c.png";
- public static final String FIRST_DEFAULT = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/firstOrDefault.png";
- public static final String ELEMENT_AT = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/elementAt.c.png";
- public static final String ELEMENT_DEFAULT = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/elementAtOrDefault.png";
- public static final String SAMPLE = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/sample.png";
- public static final String THROLFIRST = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/throttleFirst.png";
- public static final String DEBOUND = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/debounce.png";
- public static final String TIMEOUT = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/timeout.c.png";
- public static final String DISTINCT = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/distinct.png";
- public static final String UNTILCHANGED = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/distinctUntilChanged.png";
- public static final String OF_TYPE = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/filter.png";
- public static final String IGNORE_ELEMENT = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/ignoreElements.c.png";
+ public static final String FILTER = "https://github.com/jiang111/RxDocs/raw/master/images/operators/filter.c.png";
+ public static final String TAKE_LAST = "https://github.com/jiang111/RxDocs/raw/master/images/operators/takeLast.c.png";
+ public static final String LAST = "https://github.com/jiang111/RxDocs/raw/master/images/operators/last.c.png";
+ public static final String LAST_OR_DEFAULT = "https://github.com/jiang111/RxDocs/raw/master/images/operators/lastOrDefault.p.png";
+ public static final String TAKE_LAST_BUFFER = "https://github.com/jiang111/RxDocs/raw/master/images/operators/takeLastBuffer.png";
+ public static final String SKIP = "https://github.com/jiang111/RxDocs/raw/master/images/operators/skip.png";
+ public static final String SKIP_LAST = "https://github.com/jiang111/RxDocs/raw/master/images/operators/skipLast.c.png";
+ public static final String TAKE = "https://github.com/jiang111/RxDocs/raw/master/images/operators/take.c.png";
+ public static final String FIRST = "https://github.com/jiang111/RxDocs/raw/master/images/operators/first.c.png";
+ public static final String FIRST_DEFAULT = "https://github.com/jiang111/RxDocs/raw/master/images/operators/firstOrDefault.png";
+ public static final String ELEMENT_AT = "https://github.com/jiang111/RxDocs/raw/master/images/operators/elementAt.c.png";
+ public static final String ELEMENT_DEFAULT = "https://github.com/jiang111/RxDocs/raw/master/images/operators/elementAtOrDefault.png";
+ public static final String SAMPLE = "https://github.com/jiang111/RxDocs/raw/master/images/operators/sample.png";
+ public static final String THROLFIRST = "https://github.com/jiang111/RxDocs/raw/master/images/operators/throttleFirst.png";
+ public static final String DEBOUND = "https://github.com/jiang111/RxDocs/raw/master/images/operators/debounce.png";
+ public static final String TIMEOUT = "https://github.com/jiang111/RxDocs/raw/master/images/operators/timeout.c.png";
+ public static final String DISTINCT = "https://github.com/jiang111/RxDocs/raw/master/images/operators/distinct.png";
+ public static final String UNTILCHANGED = "https://github.com/jiang111/RxDocs/raw/master/images/operators/distinctUntilChanged.png";
+ public static final String OF_TYPE = "https://github.com/jiang111/RxDocs/raw/master/images/operators/filter.png";
+ public static final String IGNORE_ELEMENT = "https://github.com/jiang111/RxDocs/raw/master/images/operators/ignoreElements.c.png";
//combin
- public static final String STARTWITH = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/startWith.png";
- public static final String MERGE = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/merge.c.png";
- public static final String MERGEDELAY = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/mergeDelayError.C.png";
- public static final String ZIP = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/zip.c.png";
- public static final String AND = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/and_then_when.C.png";
- public static final String COMBINLASTED = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/combineLatest.c.png";
- public static final String JOIN = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/join.c.png";
- public static final String SWITHONNEXT = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/switch.c.png";
+ public static final String STARTWITH = "https://github.com/jiang111/RxDocs/raw/master/images/operators/startWith.png";
+ public static final String MERGE = "https://github.com/jiang111/RxDocs/raw/master/images/operators/merge.c.png";
+ public static final String MERGEDELAY = "https://github.com/jiang111/RxDocs/raw/master/images/operators/mergeDelayError.C.png";
+ public static final String ZIP = "https://github.com/jiang111/RxDocs/raw/master/images/operators/zip.c.png";
+ public static final String AND = "https://github.com/jiang111/RxDocs/raw/master/images/operators/and_then_when.C.png";
+ public static final String COMBINLASTED = "https://github.com/jiang111/RxDocs/raw/master/images/operators/combineLatest.c.png";
+ public static final String JOIN = "https://github.com/jiang111/RxDocs/raw/master/images/operators/join.c.png";
+ public static final String SWITHONNEXT = "https://github.com/jiang111/RxDocs/raw/master/images/operators/switch.c.png";
//error
- public static final String RETRY = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/retry.C.png";
- public static final String RETRYWHEN = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/retryWhen.f.png";
+ public static final String RETRY = "https://github.com/jiang111/RxDocs/raw/master/images/operators/retry.C.png";
+ public static final String RETRYWHEN = "https://github.com/jiang111/RxDocs/raw/master/images/operators/retryWhen.f.png";
//utility
- public static final String Materialize = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/materialize.c.png";
- public static final String Dematerialize = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/dematerialize.c.png";
- public static final String Timestamp = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/timestamp.c.png";
- public static final String Serialize = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/serialize.c.png";
- public static final String ObserveOn = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/observeOn.c.png";
- public static final String SubscribeOn = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/subscribeOn.c.png";
- public static final String doOnEach = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/doOnEach.png";
- public static final String doOnSubscribe = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/doOnSubscribe.png";
- public static final String doOnUnsubscribe = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/doOnUnsubscribe.png";
- public static final String doOnCompleted = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/doOnCompleted.png";
- public static final String doOnError = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/doOnError.png";
- public static final String doOnTerminate = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/doOnTerminate.png";
-
- public static final String finallyDo = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/finallyDo.png";
- public static final String Delay = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/delay.c.png";
- public static final String delaySubscription = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/delaySubscription.o.png";
- public static final String TimeInterval = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/timeInterval.c.png";
- public static final String Using = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/using.c.png";
- public static final String First = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/first.c.png";
- public static final String To = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/to.c.png";
+ public static final String Materialize = "https://github.com/jiang111/RxDocs/raw/master/images/operators/materialize.c.png";
+ public static final String Dematerialize = "https://github.com/jiang111/RxDocs/raw/master/images/operators/dematerialize.c.png";
+ public static final String Timestamp = "https://github.com/jiang111/RxDocs/raw/master/images/operators/timestamp.c.png";
+ public static final String Serialize = "https://github.com/jiang111/RxDocs/raw/master/images/operators/serialize.c.png";
+ public static final String ObserveOn = "https://github.com/jiang111/RxDocs/raw/master/images/operators/observeOn.c.png";
+ public static final String SubscribeOn = "https://github.com/jiang111/RxDocs/raw/master/images/operators/subscribeOn.c.png";
+ public static final String doOnEach = "https://github.com/jiang111/RxDocs/raw/master/images/operators/doOnEach.png";
+ public static final String doOnSubscribe = "https://github.com/jiang111/RxDocs/raw/master/images/operators/doOnSubscribe.png";
+ public static final String doOnUnsubscribe = "https://github.com/jiang111/RxDocs/raw/master/images/operators/doOnUnsubscribe.png";
+ public static final String doOnCompleted = "https://github.com/jiang111/RxDocs/raw/master/images/operators/doOnCompleted.png";
+ public static final String doOnError = "https://github.com/jiang111/RxDocs/raw/master/images/operators/doOnError.png";
+ public static final String doOnTerminate = "https://github.com/jiang111/RxDocs/raw/master/images/operators/doOnTerminate.png";
+
+ public static final String finallyDo = "https://github.com/jiang111/RxDocs/raw/master/images/operators/finallyDo.png";
+ public static final String Delay = "https://github.com/jiang111/RxDocs/raw/master/images/operators/delay.c.png";
+ public static final String delaySubscription = "https://github.com/jiang111/RxDocs/raw/master/images/operators/delaySubscription.o.png";
+ public static final String TimeInterval = "https://github.com/jiang111/RxDocs/raw/master/images/operators/timeInterval.c.png";
+ public static final String Using = "https://github.com/jiang111/RxDocs/raw/master/images/operators/using.c.png";
+ public static final String First = "https://github.com/jiang111/RxDocs/raw/master/images/operators/first.c.png";
+ public static final String To = "https://github.com/jiang111/RxDocs/raw/master/images/operators/to.c.png";
//string
- public static final String byLine = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/St.byLine.png";
- public static final String decode = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/St.decode.png";
- public static final String encode = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/St.encode.png";
- public static final String from_String = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/St.from.png";
- public static final String join = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/St.join.png";
- public static final String split = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/St.split.png";
- public static final String stringConcat = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/sum.f.png";
+ public static final String byLine = "https://github.com/jiang111/RxDocs/raw/master/images/operators/St.byLine.png";
+ public static final String decode = "https://github.com/jiang111/RxDocs/raw/master/images/operators/St.decode.png";
+ public static final String encode = "https://github.com/jiang111/RxDocs/raw/master/images/operators/St.encode.png";
+ public static final String from_String = "https://github.com/jiang111/RxDocs/raw/master/images/operators/St.from.png";
+ public static final String join = "https://github.com/jiang111/RxDocs/raw/master/images/operators/St.join.png";
+ public static final String split = "https://github.com/jiang111/RxDocs/raw/master/images/operators/St.split.png";
+ public static final String stringConcat = "https://github.com/jiang111/RxDocs/raw/master/images/operators/sum.f.png";
//conditional
- public static final String amb = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/amb.c.png";
- public static final String defaultIfEmpty = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/defaultIfEmpty.c.png";
+ public static final String amb = "https://github.com/jiang111/RxDocs/raw/master/images/operators/amb.c.png";
+ public static final String defaultIfEmpty = "https://github.com/jiang111/RxDocs/raw/master/images/operators/defaultIfEmpty.c.png";
public static final String doWhile = amb;
public static final String ifThen = amb;
- public static final String skipUntil = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/skipUntil.c.png";
- public static final String skipWhile = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/skipWhile.c.png";
+ public static final String skipUntil = "https://github.com/jiang111/RxDocs/raw/master/images/operators/skipUntil.c.png";
+ public static final String skipWhile = "https://github.com/jiang111/RxDocs/raw/master/images/operators/skipWhile.c.png";
public static final String switchCase = amb;
- public static final String takeUntil = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/takeUntil.png";
- public static final String takeWhile = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/takeWhile.c.png";
+ public static final String takeUntil = "https://github.com/jiang111/RxDocs/raw/master/images/operators/takeUntil.png";
+ public static final String takeWhile = "https://github.com/jiang111/RxDocs/raw/master/images/operators/takeWhile.c.png";
public static final String whileDo = amb;
//bool
- public static final String all = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/all.png";
- public static final String contains = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/contains.png";
- public static final String exists = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/exists.png";
- public static final String sequenceEqual = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/sequenceEqual.png";
+ public static final String all = "https://github.com/jiang111/RxDocs/raw/master/images/operators/all.png";
+ public static final String contains = "https://github.com/jiang111/RxDocs/raw/master/images/operators/contains.png";
+ public static final String exists = "https://github.com/jiang111/RxDocs/raw/master/images/operators/exists.png";
+ public static final String sequenceEqual = "https://github.com/jiang111/RxDocs/raw/master/images/operators/sequenceEqual.png";
- public static final String MATH = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/collect.png";
+ public static final String MATH = "https://github.com/jiang111/RxDocs/raw/master/images/operators/collect.png";
// math other
- public static final String concat = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/concat.c.png";
- public static final String count = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/count.c.png";
- public static final String reduce = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/reduce.c.png";
- public static final String collect = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/collect.png";
- public static final String toList = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/toList.png";
- public static final String toSortedList = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/toSortedList.png";
- public static final String toMap = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/toMap.png";
- public static final String toMultiMap = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/toMultiMap.png";
-
- public static String start = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/start.png";
- public static String toAsync = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/toAsync.png";
- public static String startFuture = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/startFuture.png";
- public static String deferFuture = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/deferFuture.png";
- public static String forEachFuture = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/forEachFuture.png";
+ public static final String concat = "https://github.com/jiang111/RxDocs/raw/master/images/operators/concat.c.png";
+ public static final String count = "https://github.com/jiang111/RxDocs/raw/master/images/operators/count.c.png";
+ public static final String reduce = "https://github.com/jiang111/RxDocs/raw/master/images/operators/reduce.c.png";
+ public static final String collect = "https://github.com/jiang111/RxDocs/raw/master/images/operators/collect.png";
+ public static final String toList = "https://github.com/jiang111/RxDocs/raw/master/images/operators/toList.png";
+ public static final String toSortedList = "https://github.com/jiang111/RxDocs/raw/master/images/operators/toSortedList.png";
+ public static final String toMap = "https://github.com/jiang111/RxDocs/raw/master/images/operators/toMap.png";
+ public static final String toMultiMap = "https://github.com/jiang111/RxDocs/raw/master/images/operators/toMultiMap.png";
+
+ public static String start = "https://github.com/jiang111/RxDocs/raw/master/images/operators/start.png";
+ public static String toAsync = "https://github.com/jiang111/RxDocs/raw/master/images/operators/toAsync.png";
+ public static String startFuture = "https://github.com/jiang111/RxDocs/raw/master/images/operators/startFuture.png";
+ public static String deferFuture = "https://github.com/jiang111/RxDocs/raw/master/images/operators/deferFuture.png";
+ public static String forEachFuture = "https://github.com/jiang111/RxDocs/raw/master/images/operators/forEachFuture.png";
public static String fromAction = start;
public static String runAsync = start;
- public static String fromRunnable = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/fromRunnable.png";
- public static String fromCallable = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/fromCallable.png";
+ public static String fromRunnable = "https://github.com/jiang111/RxDocs/raw/master/images/operators/fromRunnable.png";
+ public static String fromCallable = "https://github.com/jiang111/RxDocs/raw/master/images/operators/fromCallable.png";
//connect
- public static String connect = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/publishConnect.c.png";
- public static String publish = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/publishConnect.c.png";
- public static String replay = "https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/replay.c.png";
+ public static String connect = "https://github.com/jiang111/RxDocs/raw/master/images/operators/publishConnect.c.png";
+ public static String publish = "https://github.com/jiang111/RxDocs/raw/master/images/operators/publishConnect.c.png";
+ public static String replay = "https://github.com/jiang111/RxDocs/raw/master/images/operators/replay.c.png";
public static String refCount = replay;
//block
public static String forEach=EMPTY;
- public static String first="https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/first.c.png";
- public static String firstOrDefault="https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/firstOrDefault.png";
- public static String last="https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/last.png";
- public static String lastOrDefault="https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/lastOrDefault.png";
- public static String mostRecent="https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/first.png";
- public static String next="https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/takeLast.c.png";
- public static String single="https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/single.p.png";
- public static String singleOrDefault="https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/singleOrDefault.p.png";
- public static String toFuture="https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/B.toFuture.png";
- public static String toIterable="https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/B.getIterator.png";
- public static String getIterator="https://github.com/mcxiaoke/RxDocs/raw/master/images/operators/B.getIterator.png";
+ public static String first="https://github.com/jiang111/RxDocs/raw/master/images/operators/first.c.png";
+ public static String firstOrDefault="https://github.com/jiang111/RxDocs/raw/master/images/operators/firstOrDefault.png";
+ public static String last="https://github.com/jiang111/RxDocs/raw/master/images/operators/last.png";
+ public static String lastOrDefault="https://github.com/jiang111/RxDocs/raw/master/images/operators/lastOrDefault.png";
+ public static String mostRecent="https://github.com/jiang111/RxDocs/raw/master/images/operators/first.png";
+ public static String next="https://github.com/jiang111/RxDocs/raw/master/images/operators/takeLast.c.png";
+ public static String single="https://github.com/jiang111/RxDocs/raw/master/images/operators/single.p.png";
+ public static String singleOrDefault="https://github.com/jiang111/RxDocs/raw/master/images/operators/singleOrDefault.p.png";
+ public static String toFuture="https://github.com/jiang111/RxDocs/raw/master/images/operators/B.toFuture.png";
+ public static String toIterable="https://github.com/jiang111/RxDocs/raw/master/images/operators/B.getIterator.png";
+ public static String getIterator="https://github.com/jiang111/RxDocs/raw/master/images/operators/B.getIterator.png";
}
diff --git a/app/src/main/java/com/jiang/android/rxjavaapp/common/OperatorsUrl.java b/app/src/main/java/com/jiang/android/rxjavaapp/common/OperatorsUrl.java
index 55c5701..95d5725 100644
--- a/app/src/main/java/com/jiang/android/rxjavaapp/common/OperatorsUrl.java
+++ b/app/src/main/java/com/jiang/android/rxjavaapp/common/OperatorsUrl.java
@@ -45,6 +45,7 @@ public class OperatorsUrl {
public static final String REPEAT = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Repeat.md";
public static final String CREATE = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Create.md";
public static final String DEFER = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Defer.md";
+ public static final String RANGE = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Range.md";
public static final String INTERVAL = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Interval.md";
public static final String TIMER = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Timer.md";
public static final String EMPTY = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Empty.md";
@@ -155,25 +156,31 @@ public class OperatorsUrl {
public static final String OWN_OPERATE = "https://github.com/mcxiaoke/RxDocs/blob/master/topics/Implementing-Your-Own-Operators.md";
public static final String OWN_CHAJIAN = "https://github.com/mcxiaoke/RxDocs/blob/master/topics/Plugins.md";
public static final String ANDROID_MODULE = "https://github.com/mcxiaoke/RxDocs/blob/master/topics/The-RxJava-Android-Module.md";
-
+
public static final String ERROR_HANDLE = "https://github.com/mcxiaoke/RxDocs/blob/master/topics/Error-Handling.md";
public static String start = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Start.md#start";
//connect
public static String connect = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Connect.md";
- public static String publish="https://github.com/mcxiaoke/RxDocs/blob/master/operators/Publish.md";
- public static String replay="https://github.com/mcxiaoke/RxDocs/blob/master/operators/Replay.md";
- public static String refCount="https://github.com/mcxiaoke/RxDocs/blob/master/operators/Refcount.md";
+ public static String publish = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Publish.md";
+ public static String replay = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Replay.md";
+ public static String refCount = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Refcount.md";
//block
- public static String forEach="https://github.com/mcxiaoke/RxDocs/blob/master/operators/Subscribe.md";
- public static String first="https://github.com/mcxiaoke/RxDocs/blob/master/operators/First.md";
- public static String firstOrDefault="https://github.com/mcxiaoke/RxDocs/blob/master/operators/First.md";
- public static String lastOrDefault="https://github.com/mcxiaoke/RxDocs/blob/master/operators/Last.md";
- public static String mostRecent="https://github.com/mcxiaoke/RxDocs/blob/master/operators/First.md";
- public static String next="https://github.com/mcxiaoke/RxDocs/blob/master/operators/TakeLast.md";
- public static String single="https://github.com/mcxiaoke/RxDocs/blob/master/operators/First.md";
- public static String singleOrDefault="https://github.com/mcxiaoke/RxDocs/blob/master/operators/First.md";
- public static String toFuture="https://github.com/mcxiaoke/RxDocs/blob/master/operators/To.md";
- public static String toIterable="https://github.com/mcxiaoke/RxDocs/blob/master/operators/To.md";
- public static String getIterator="https://github.com/mcxiaoke/RxDocs/blob/master/operators/To.md";
- public static String last="https://github.com/mcxiaoke/RxDocs/blob/master/operators/Last.md";
+ public static String forEach = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Subscribe.md";
+ public static String first = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/First.md";
+ public static String firstOrDefault = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/First.md";
+ public static String lastOrDefault = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Last.md";
+ public static String mostRecent = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/First.md";
+ public static String next = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/TakeLast.md";
+ public static String single = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/First.md";
+ public static String singleOrDefault = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/First.md";
+ public static String toFuture = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/To.md";
+ public static String toIterable = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/To.md";
+ public static String getIterator = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/To.md";
+ public static String last = "https://github.com/mcxiaoke/RxDocs/blob/master/operators/Last.md";
+
+ //RxJava2.x
+ public static String R_2_INDEX = "https://github.com/mcxiaoke/RxDocs/blob/master/RxJava2/What-different-in-2.md";
+ public static String R_2_FLOWABLE = "https://github.com/mcxiaoke/RxDocs/blob/master/RxJava2/Flow.md";
+ public static String R_2_OTHER = "https://github.com/mcxiaoke/RxDocs/blob/master/RxJava2/other.md";
+
}
diff --git a/app/src/main/java/com/jiang/android/rxjavaapp/database/DaoMaster.java b/app/src/main/java/com/jiang/android/rxjavaapp/database/DaoMaster.java
index 2911aac..af73750 100644
--- a/app/src/main/java/com/jiang/android/rxjavaapp/database/DaoMaster.java
+++ b/app/src/main/java/com/jiang/android/rxjavaapp/database/DaoMaster.java
@@ -15,7 +15,7 @@
* Master of DAO (schema version 1): knows all DAOs.
*/
public class DaoMaster extends AbstractDaoMaster {
- public static final int SCHEMA_VERSION = 1;
+ public static final int SCHEMA_VERSION = 4;
/** Creates underlying database table using DAOs. */
public static void createAllTables(SQLiteDatabase db, boolean ifNotExists) {
diff --git a/app/src/main/java/com/jiang/android/rxjavaapp/database/DaoSession.java b/app/src/main/java/com/jiang/android/rxjavaapp/database/DaoSession.java
index 43d7064..81f5cbe 100644
--- a/app/src/main/java/com/jiang/android/rxjavaapp/database/DaoSession.java
+++ b/app/src/main/java/com/jiang/android/rxjavaapp/database/DaoSession.java
@@ -18,40 +18,40 @@
*/
public class DaoSession extends AbstractDaoSession {
- private final DaoConfig alloperatorsDaoConfig;
private final DaoConfig operatorsDaoConfig;
+ private final DaoConfig alloperatorsDaoConfig;
- private final alloperatorsDao alloperatorsDao;
private final operatorsDao operatorsDao;
+ private final alloperatorsDao alloperatorsDao;
public DaoSession(SQLiteDatabase db, IdentityScopeType type, Map>, DaoConfig>
daoConfigMap) {
super(db);
- alloperatorsDaoConfig = daoConfigMap.get(alloperatorsDao.class).clone();
- alloperatorsDaoConfig.initIdentityScope(type);
-
operatorsDaoConfig = daoConfigMap.get(operatorsDao.class).clone();
operatorsDaoConfig.initIdentityScope(type);
- alloperatorsDao = new alloperatorsDao(alloperatorsDaoConfig, this);
+ alloperatorsDaoConfig = daoConfigMap.get(alloperatorsDao.class).clone();
+ alloperatorsDaoConfig.initIdentityScope(type);
+
operatorsDao = new operatorsDao(operatorsDaoConfig, this);
+ alloperatorsDao = new alloperatorsDao(alloperatorsDaoConfig, this);
- registerDao(alloperators.class, alloperatorsDao);
registerDao(operators.class, operatorsDao);
+ registerDao(alloperators.class, alloperatorsDao);
}
public void clear() {
- alloperatorsDaoConfig.getIdentityScope().clear();
operatorsDaoConfig.getIdentityScope().clear();
- }
-
- public alloperatorsDao getAlloperatorsDao() {
- return alloperatorsDao;
+ alloperatorsDaoConfig.getIdentityScope().clear();
}
public operatorsDao getOperatorsDao() {
return operatorsDao;
}
+ public alloperatorsDao getAlloperatorsDao() {
+ return alloperatorsDao;
+ }
+
}
diff --git a/app/src/main/java/com/jiang/android/rxjavaapp/database/alloperators.java b/app/src/main/java/com/jiang/android/rxjavaapp/database/alloperators.java
index 939b1da..c518da7 100644
--- a/app/src/main/java/com/jiang/android/rxjavaapp/database/alloperators.java
+++ b/app/src/main/java/com/jiang/android/rxjavaapp/database/alloperators.java
@@ -3,16 +3,21 @@
import de.greenrobot.dao.DaoException;
// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT. Enable "keep" sections if you want to edit.
-
/**
* Entity mapped to table "ALLOPERATORS".
*/
public class alloperators {
private Long id;
+ /** Not-null value. */
private String name;
+ /** Not-null value. */
+ private String thread;
+ /** Not-null value. */
private String desc;
+ /** Not-null value. */
private String img;
+ /** Not-null value. */
private String url;
private Long operators_id;
@@ -33,9 +38,10 @@ public alloperators(Long id) {
this.id = id;
}
- public alloperators(Long id, String name, String desc, String img, String url, Long operators_id) {
+ public alloperators(Long id, String name, String thread, String desc, String img, String url, Long operators_id) {
this.id = id;
this.name = name;
+ this.thread = thread;
this.desc = desc;
this.img = img;
this.url = url;
@@ -56,34 +62,52 @@ public void setId(Long id) {
this.id = id;
}
+ /** Not-null value. */
public String getName() {
return name;
}
+ /** Not-null value; ensure this value is available before it is saved to the database. */
public void setName(String name) {
this.name = name;
}
+ /** Not-null value. */
+ public String getThread() {
+ return thread;
+ }
+
+ /** Not-null value; ensure this value is available before it is saved to the database. */
+ public void setThread(String thread) {
+ this.thread = thread;
+ }
+
+ /** Not-null value. */
public String getDesc() {
return desc;
}
+ /** Not-null value; ensure this value is available before it is saved to the database. */
public void setDesc(String desc) {
this.desc = desc;
}
+ /** Not-null value. */
public String getImg() {
return img;
}
+ /** Not-null value; ensure this value is available before it is saved to the database. */
public void setImg(String img) {
this.img = img;
}
+ /** Not-null value. */
public String getUrl() {
return url;
}
+ /** Not-null value; ensure this value is available before it is saved to the database. */
public void setUrl(String url) {
this.url = url;
}
diff --git a/app/src/main/java/com/jiang/android/rxjavaapp/database/alloperatorsDao.java b/app/src/main/java/com/jiang/android/rxjavaapp/database/alloperatorsDao.java
index 60c0f4c..7664bcb 100644
--- a/app/src/main/java/com/jiang/android/rxjavaapp/database/alloperatorsDao.java
+++ b/app/src/main/java/com/jiang/android/rxjavaapp/database/alloperatorsDao.java
@@ -11,10 +11,12 @@
import de.greenrobot.dao.Property;
import de.greenrobot.dao.internal.DaoConfig;
import de.greenrobot.dao.internal.SqlUtils;
+import de.greenrobot.dao.query.Query;
+import de.greenrobot.dao.query.QueryBuilder;
-// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
-/**
+// THIS CODE IS GENERATED BY greenDAO, DO NOT EDIT.
+/**
* DAO for table "ALLOPERATORS".
*/
public class alloperatorsDao extends AbstractDao {
@@ -28,14 +30,17 @@ public class alloperatorsDao extends AbstractDao {
public static class Properties {
public final static Property Id = new Property(0, Long.class, "id", true, "_id");
public final static Property Name = new Property(1, String.class, "name", false, "NAME");
- public final static Property Desc = new Property(2, String.class, "desc", false, "DESC");
- public final static Property Img = new Property(3, String.class, "img", false, "IMG");
- public final static Property Url = new Property(4, String.class, "url", false, "URL");
- public final static Property Operators_id = new Property(5, Long.class, "operators_id", false, "OPERATORS_ID");
+ public final static Property Thread = new Property(2, String.class, "thread", false, "THREAD");
+ public final static Property Desc = new Property(3, String.class, "desc", false, "DESC");
+ public final static Property Img = new Property(4, String.class, "img", false, "IMG");
+ public final static Property Url = new Property(5, String.class, "url", false, "URL");
+ public final static Property Operators_id = new Property(6, Long.class, "operators_id", false, "OPERATORS_ID");
+ public final static Property Outer_id = new Property(7, Long.class, "outer_id", false, "OUTER_ID");
};
private DaoSession daoSession;
+ private Query operators_AlloperatorsListQuery;
public alloperatorsDao(DaoConfig config) {
super(config);
@@ -50,12 +55,14 @@ public alloperatorsDao(DaoConfig config, DaoSession daoSession) {
public static void createTable(SQLiteDatabase db, boolean ifNotExists) {
String constraint = ifNotExists? "IF NOT EXISTS ": "";
db.execSQL("CREATE TABLE " + constraint + "\"ALLOPERATORS\" (" + //
- "\"_id\" INTEGER PRIMARY KEY AUTOINCREMENT ," + // 0: id
- "\"NAME\" TEXT," + // 1: name
- "\"DESC\" TEXT," + // 2: desc
- "\"IMG\" TEXT," + // 3: img
- "\"URL\" TEXT," + // 4: url
- "\"OPERATORS_ID\" INTEGER);"); // 5: operators_id
+ "\"_id\" INTEGER PRIMARY KEY ," + // 0: id
+ "\"NAME\" TEXT NOT NULL ," + // 1: name
+ "\"THREAD\" TEXT NOT NULL ," + // 2: thread
+ "\"DESC\" TEXT NOT NULL ," + // 3: desc
+ "\"IMG\" TEXT NOT NULL ," + // 4: img
+ "\"URL\" TEXT NOT NULL ," + // 5: url
+ "\"OPERATORS_ID\" INTEGER," + // 6: operators_id
+ "\"OUTER_ID\" INTEGER);"); // 7: outer_id
}
/** Drops the underlying database table. */
@@ -73,30 +80,15 @@ protected void bindValues(SQLiteStatement stmt, alloperators entity) {
if (id != null) {
stmt.bindLong(1, id);
}
-
- String name = entity.getName();
- if (name != null) {
- stmt.bindString(2, name);
- }
-
- String desc = entity.getDesc();
- if (desc != null) {
- stmt.bindString(3, desc);
- }
-
- String img = entity.getImg();
- if (img != null) {
- stmt.bindString(4, img);
- }
-
- String url = entity.getUrl();
- if (url != null) {
- stmt.bindString(5, url);
- }
+ stmt.bindString(2, entity.getName());
+ stmt.bindString(3, entity.getThread());
+ stmt.bindString(4, entity.getDesc());
+ stmt.bindString(5, entity.getImg());
+ stmt.bindString(6, entity.getUrl());
Long operators_id = entity.getOperators_id();
if (operators_id != null) {
- stmt.bindLong(6, operators_id);
+ stmt.bindLong(7, operators_id);
}
}
@@ -117,11 +109,12 @@ public Long readKey(Cursor cursor, int offset) {
public alloperators readEntity(Cursor cursor, int offset) {
alloperators entity = new alloperators( //
cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0), // id
- cursor.isNull(offset + 1) ? null : cursor.getString(offset + 1), // name
- cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2), // desc
- cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3), // img
- cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4), // url
- cursor.isNull(offset + 5) ? null : cursor.getLong(offset + 5) // operators_id
+ cursor.getString(offset + 1), // name
+ cursor.getString(offset + 2), // thread
+ cursor.getString(offset + 3), // desc
+ cursor.getString(offset + 4), // img
+ cursor.getString(offset + 5), // url
+ cursor.isNull(offset + 6) ? null : cursor.getLong(offset + 6) // operators_id
);
return entity;
}
@@ -130,11 +123,12 @@ public alloperators readEntity(Cursor cursor, int offset) {
@Override
public void readEntity(Cursor cursor, alloperators entity, int offset) {
entity.setId(cursor.isNull(offset + 0) ? null : cursor.getLong(offset + 0));
- entity.setName(cursor.isNull(offset + 1) ? null : cursor.getString(offset + 1));
- entity.setDesc(cursor.isNull(offset + 2) ? null : cursor.getString(offset + 2));
- entity.setImg(cursor.isNull(offset + 3) ? null : cursor.getString(offset + 3));
- entity.setUrl(cursor.isNull(offset + 4) ? null : cursor.getString(offset + 4));
- entity.setOperators_id(cursor.isNull(offset + 5) ? null : cursor.getLong(offset + 5));
+ entity.setName(cursor.getString(offset + 1));
+ entity.setThread(cursor.getString(offset + 2));
+ entity.setDesc(cursor.getString(offset + 3));
+ entity.setImg(cursor.getString(offset + 4));
+ entity.setUrl(cursor.getString(offset + 5));
+ entity.setOperators_id(cursor.isNull(offset + 6) ? null : cursor.getLong(offset + 6));
}
/** @inheritdoc */
@@ -160,6 +154,20 @@ protected boolean isEntityUpdateable() {
return true;
}
+ /** Internal query to resolve the "alloperatorsList" to-many relationship of operators. */
+ public List _queryOperators_AlloperatorsList(Long outer_id) {
+ synchronized (this) {
+ if (operators_AlloperatorsListQuery == null) {
+ QueryBuilder queryBuilder = queryBuilder();
+ queryBuilder.where(Properties.Outer_id.eq(null));
+ operators_AlloperatorsListQuery = queryBuilder.build();
+ }
+ }
+ Query query = operators_AlloperatorsListQuery.forCurrentThread();
+ query.setParameter(0, outer_id);
+ return query.list();
+ }
+
private String selectDeep;
protected String getSelectDeep() {
diff --git a/app/src/main/java/com/jiang/android/rxjavaapp/utils/DataUtils.java b/app/src/main/java/com/jiang/android/rxjavaapp/utils/DataUtils.java
index 3e98c28..f977932 100644
--- a/app/src/main/java/com/jiang/android/rxjavaapp/utils/DataUtils.java
+++ b/app/src/main/java/com/jiang/android/rxjavaapp/utils/DataUtils.java
@@ -46,8 +46,13 @@
* Created by jiang on 16/3/13.
*/
public class DataUtils {
+ private static final String IMMEDIATE = "immediate";
static long i = 1l;
- static long parentId = 1l;
+ static long parentId = 0l;
+
+ static final String COMPUTATION = "computation";
+ static final String DEFAULT = "默认线程";
+ static final String TRAMPOLINE = "trampoline";
public static void fillData(final callBack call) {
Single.create(new Single.OnSubscribe() {
@@ -82,25 +87,27 @@ public void onError(Throwable error) {
public static List getOperatorsData() {
List lists = new ArrayList<>();
+ lists.add(new operators(0l, "RxJava 2.x", 0l));
lists.add(new operators(1l, "RxJava 介绍", 1l));
- lists.add(new operators(2l, "Creating 创建操作", 2l));
- lists.add(new operators(3l, "Transforming 变换操作", 3l));
- lists.add(new operators(4l, "Filtering 过滤操作", 4l));
- lists.add(new operators(5l, "Combining 结合操作", 5l));
- lists.add(new operators(6l, "Error Handling 错误处理", 6l));
- lists.add(new operators(7l, "Utility 辅助操作", 7l));
- lists.add(new operators(8l, "Conditional 条件和布尔操作", 8l));
- lists.add(new operators(9l, "Mathematical 算术和聚合操作", 9l));
- lists.add(new operators(10l, "Async 异步操作", 10l));
- lists.add(new operators(11l, "Connect 连接操作", 11l));
- lists.add(new operators(12l, "Blocking 阻塞操作", 12l));
- lists.add(new operators(13l, "String 字符串操作", 13l));
+ lists.add(new operators(2l, "创建操作", 2l));
+ lists.add(new operators(3l, "变换操作", 3l));
+ lists.add(new operators(4l, "过滤操作", 4l));
+ lists.add(new operators(5l, "结合操作", 5l));
+ lists.add(new operators(6l, "错误处理", 6l));
+ lists.add(new operators(7l, "辅助操作", 7l));
+ lists.add(new operators(8l, "条件和布尔操作", 8l));
+ lists.add(new operators(9l, "算术和聚合操作", 9l));
+ lists.add(new operators(10l, "异步操作", 10l));
+ lists.add(new operators(11l, "连接操作", 11l));
+ lists.add(new operators(12l, "阻塞操作", 12l));
+ lists.add(new operators(13l, "字符串操作", 13l));
lists.add(new operators(14l, "其他的相关操作", 14l));
return lists;
}
public static List getAllOperators() {
List alloperatorses = new ArrayList<>();
+ getRxJava2List(alloperatorses);
getIntroduceList(alloperatorses);
getCreatingList(alloperatorses);
getTransformList(alloperatorses);
@@ -115,217 +122,222 @@ public static List getAllOperators() {
getBlockList(alloperatorses);
getStringList(alloperatorses);
getOthersList(alloperatorses);
+
return alloperatorses;
}
+ private static void getRxJava2List(List alloperatorses) {
+ alloperatorses.add(new alloperators(i++, "RxJava2.x有什么不同", " ", "RxJava2.x与RxJava1.x的区别", CommonString.SPLASH_INDEX_URL, OperatorsUrl.R_2_INDEX, parentId));
+ alloperatorses.add(new alloperators(i++, "Flowable", " ", "Flowable操作符的使用", CommonString.SPLASH_INDEX_URL, OperatorsUrl.R_2_FLOWABLE, parentId));
+ alloperatorses.add(new alloperators(i++, "其他相关类", " ", "Single Completable Subject/Processor", CommonString.SPLASH_INDEX_URL, OperatorsUrl.R_2_OTHER, parentId));
+ parentId++;
+ }
+
+
private static void getOthersList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "实现自己的操作符", "实现自己的操作符", CommonString.SPLASH_INDEX_URL, OperatorsUrl.OWN_OPERATE, parentId));
- alloperatorses.add(new alloperators(i++, "自定义插件", "自定义插件", CommonString.SPLASH_INDEX_URL, OperatorsUrl.OWN_CHAJIAN, parentId));
- alloperatorses.add(new alloperators(i++, "Android模块", "Android模块", CommonString.SPLASH_INDEX_URL, OperatorsUrl.ANDROID_MODULE, parentId));
- alloperatorses.add(new alloperators(i++, "错误处理", "错误处理", CommonString.SPLASH_INDEX_URL, OperatorsUrl.ERROR_HANDLE, parentId));
+ alloperatorses.add(new alloperators(i++, "实现自己的操作符", " ", "实现自己的操作符", CommonString.SPLASH_INDEX_URL, OperatorsUrl.OWN_OPERATE, parentId));
+ alloperatorses.add(new alloperators(i++, "自定义插件", " ", "自定义插件", CommonString.SPLASH_INDEX_URL, OperatorsUrl.OWN_CHAJIAN, parentId));
+ alloperatorses.add(new alloperators(i++, "Android模块", " ", "Android模块", CommonString.SPLASH_INDEX_URL, OperatorsUrl.ANDROID_MODULE, parentId));
+ alloperatorses.add(new alloperators(i++, "错误处理", " ", "错误处理", CommonString.SPLASH_INDEX_URL, OperatorsUrl.ERROR_HANDLE, parentId));
parentId++;
}
- /**
- * string 操作符
- *
- * @param alloperatorses
- */
private static void getStringList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "byLine()", "将一个字符串的Observable转换为一个行序列的Observable,这个Observable将原来的序列当做流处理,然后按换行符分割", CommonString.byLine, OperatorsUrl.byLine, parentId));
- alloperatorses.add(new alloperators(i++, "decode()", "将一个多字节的字符流转换为一个Observable,它按字符边界发射字节数组", CommonString.decode, OperatorsUrl.decode, parentId));
- alloperatorses.add(new alloperators(i++, "encode()", "对一个发射字符串的Observable执行变换操作,变换后的Observable发射一个在原始字符串中表示多字节字符边界的字节数组", CommonString.encode, OperatorsUrl.encode, parentId));
- alloperatorses.add(new alloperators(i++, "from()", "将一个字符流或者Reader转换为一个发射字节数组或者字符串的Observable", CommonString.from_String, OperatorsUrl.from_String, parentId));
- alloperatorses.add(new alloperators(i++, "join()", "将一个发射字符串序列的Observable转换为一个发射单个字符串的Observable,后者用一个指定的字符串连接所有的字符串", CommonString.join, OperatorsUrl.join, parentId));
- alloperatorses.add(new alloperators(i++, "split()", "将一个发射字符串的Observable转换为另一个发射字符串的Observable,后者使用一个指定的正则表达式边界分割前者发射的所有字符串", CommonString.split, OperatorsUrl.split, parentId));
- alloperatorses.add(new alloperators(i++, "stringConcat()", "将一个发射字符串序列的Observable转换为一个发射单个字符串的Observable,后者连接前者发射的所有字符串", CommonString.stringConcat, OperatorsUrl.stringConcat, parentId));
+ alloperatorses.add(new alloperators(i++, "byLine()", DEFAULT, "将一个字符串的Observable转换为一个行序列的Observable,这个Observable将原来的序列当做流处理,然后按换行符分割", CommonString.byLine, OperatorsUrl.byLine, parentId));
+ alloperatorses.add(new alloperators(i++, "decode()", DEFAULT, "将一个多字节的字符流转换为一个Observable,它按字符边界发射字节数组", CommonString.decode, OperatorsUrl.decode, parentId));
+ alloperatorses.add(new alloperators(i++, "encode()", DEFAULT, "对一个发射字符串的Observable执行变换操作,变换后的Observable发射一个在原始字符串中表示多字节字符边界的字节数组", CommonString.encode, OperatorsUrl.encode, parentId));
+ alloperatorses.add(new alloperators(i++, "from()", DEFAULT, "将一个字符流或者Reader转换为一个发射字节数组或者字符串的Observable", CommonString.from_String, OperatorsUrl.from_String, parentId));
+ alloperatorses.add(new alloperators(i++, "join()", DEFAULT, "将一个发射字符串序列的Observable转换为一个发射单个字符串的Observable,后者用一个指定的字符串连接所有的字符串", CommonString.join, OperatorsUrl.join, parentId));
+ alloperatorses.add(new alloperators(i++, "split()", DEFAULT, "将一个发射字符串的Observable转换为另一个发射字符串的Observable,后者使用一个指定的正则表达式边界分割前者发射的所有字符串", CommonString.split, OperatorsUrl.split, parentId));
+ alloperatorses.add(new alloperators(i++, "stringConcat()", DEFAULT, "将一个发射字符串序列的Observable转换为一个发射单个字符串的Observable,后者连接前者发射的所有字符串", CommonString.stringConcat, OperatorsUrl.stringConcat, parentId));
parentId++;
}
private static void getBlockList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "forEach()", "对Observable发射的每一项数据调用一个方法,会阻塞直到Observable完成", CommonString.forEach, OperatorsUrl.forEach, parentId));
- alloperatorses.add(new alloperators(i++, "first()", "阻塞直到Observable发射了一个数据,然后返回第一项数据", CommonString.first, OperatorsUrl.first, parentId));
- alloperatorses.add(new alloperators(i++, "firstOrDefault()", "阻塞直到Observable发射了一个数据或者终止,返回第一项数据,或者返回默认值", CommonString.firstOrDefault, OperatorsUrl.firstOrDefault, parentId));
- alloperatorses.add(new alloperators(i++, "last()", "阻塞直到Observable终止,然后返回最后一项数据", CommonString.last, OperatorsUrl.last, parentId));
- alloperatorses.add(new alloperators(i++, "lastOrDefault()", " 阻塞直到Observable终止,然后返回最后一项的数据,或者返回默认值", CommonString.lastOrDefault, OperatorsUrl.lastOrDefault, parentId));
- alloperatorses.add(new alloperators(i++, "mostRecent()", "返回一个总是返回Observable最近发射的数据的iterable", CommonString.mostRecent, OperatorsUrl.mostRecent, parentId));
- alloperatorses.add(new alloperators(i++, "next()", "返回一个Iterable,会阻塞直到Observable发射了另一个值,然后返回那个值", CommonString.next, OperatorsUrl.next, parentId));
- alloperatorses.add(new alloperators(i++, "single()", " 如果Observable终止时只发射了一个值,返回那个值,否则抛出异常", CommonString.single, OperatorsUrl.single, parentId));
- alloperatorses.add(new alloperators(i++, "singleOrDefault()", "如果Observable终止时只发射了一个值,返回那个值,否则否好默认值", CommonString.singleOrDefault, OperatorsUrl.singleOrDefault, parentId));
- alloperatorses.add(new alloperators(i++, "toFuture()", "将Observable转换为一个Future", CommonString.toFuture, OperatorsUrl.toFuture, parentId));
- alloperatorses.add(new alloperators(i++, "toIterable()", "将一个发射数据序列的Observable转换为一个Iterable", CommonString.toIterable, OperatorsUrl.toIterable, parentId));
- alloperatorses.add(new alloperators(i++, "getIterator()", " 将一个发射数据序列的Observable转换为一个Iterator", CommonString.getIterator, OperatorsUrl.getIterator, parentId));
+ alloperatorses.add(new alloperators(i++, "forEach()", DEFAULT, "对Observable发射的每一项数据调用一个方法,会阻塞直到Observable完成", CommonString.forEach, OperatorsUrl.forEach, parentId));
+ alloperatorses.add(new alloperators(i++, "first()", DEFAULT, "阻塞直到Observable发射了一个数据,然后返回第一项数据", CommonString.first, OperatorsUrl.first, parentId));
+ alloperatorses.add(new alloperators(i++, "firstOrDefault()", DEFAULT, "阻塞直到Observable发射了一个数据或者终止,返回第一项数据,或者返回默认值", CommonString.firstOrDefault, OperatorsUrl.firstOrDefault, parentId));
+ alloperatorses.add(new alloperators(i++, "last()", DEFAULT, "阻塞直到Observable终止,然后返回最后一项数据", CommonString.last, OperatorsUrl.last, parentId));
+ alloperatorses.add(new alloperators(i++, "lastOrDefault()", DEFAULT, "阻塞直到Observable终止,然后返回最后一项的数据,或者返回默认值()", CommonString.lastOrDefault, OperatorsUrl.lastOrDefault, parentId));
+ alloperatorses.add(new alloperators(i++, "mostRecent()", DEFAULT, "返回一个总是返回Observable最近发射的数据的iterable", CommonString.mostRecent, OperatorsUrl.mostRecent, parentId));
+ alloperatorses.add(new alloperators(i++, "next()", DEFAULT, "返回一个Iterable,会阻塞直到Observable发射了另一个值,然后返回那个值", CommonString.next, OperatorsUrl.next, parentId));
+ alloperatorses.add(new alloperators(i++, "single()", DEFAULT, " 如果Observable终止时只发射了一个值,返回那个值,否则抛出异常", CommonString.single, OperatorsUrl.single, parentId));
+ alloperatorses.add(new alloperators(i++, "singleOrDefault()", DEFAULT, "如果Observable终止时只发射了一个值,返回那个值,否则否好默认值", CommonString.singleOrDefault, OperatorsUrl.singleOrDefault, parentId));
+ alloperatorses.add(new alloperators(i++, "toFuture()", DEFAULT, "将Observable转换为一个Future", CommonString.toFuture, OperatorsUrl.toFuture, parentId));
+ alloperatorses.add(new alloperators(i++, "toIterable()", DEFAULT, "将一个发射数据序列的Observable转换为一个Iterable", CommonString.toIterable, OperatorsUrl.toIterable, parentId));
+ alloperatorses.add(new alloperators(i++, "getIterator()", DEFAULT, " 将一个发射数据序列的Observable转换为一个Iterator", CommonString.getIterator, OperatorsUrl.getIterator, parentId));
parentId++;
}
private static void getConnectList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "ConnectableObservable.connect()", "指示一个可连接的Observable开始发射数据", CommonString.connect, OperatorsUrl.connect, parentId));
- alloperatorses.add(new alloperators(i++, "ConnectableObservable.publish()", "将一个Observable转换为一个可连接的Observable", CommonString.publish, OperatorsUrl.publish, parentId));
- alloperatorses.add(new alloperators(i++, "ConnectableObservable.replay()", "确保所有的订阅者看到相同的数据序列,即使它们在Observable开始发射数据之后才订阅", CommonString.replay, OperatorsUrl.replay, parentId));
- alloperatorses.add(new alloperators(i++, "ConnectableObservable.refCount()", "让一个可连接的Observable表现得像一个普通的Observable", CommonString.refCount, OperatorsUrl.refCount, parentId));
+ alloperatorses.add(new alloperators(i++, "connect()", DEFAULT, "指示一个可连接的Observable开始发射数据", CommonString.connect, OperatorsUrl.connect, parentId));
+ alloperatorses.add(new alloperators(i++, "publish()", DEFAULT, "将一个Observable转换为一个可连接的Observable", CommonString.publish, OperatorsUrl.publish, parentId));
+ alloperatorses.add(new alloperators(i++, "replay()", DEFAULT, "确保所有的订阅者看到相同的数据序列,即使它们在Observable开始发射数据之后才订阅", CommonString.replay, OperatorsUrl.replay, parentId));
+ alloperatorses.add(new alloperators(i++, "refCount()", DEFAULT, "让一个可连接的Observable表现得像一个普通的Observable", CommonString.refCount, OperatorsUrl.refCount, parentId));
parentId++;
}
private static void getSayncList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "start()", "创建一个Observable,它发射一个函数的返回值", CommonString.start, OperatorsUrl.start, parentId));
- alloperatorses.add(new alloperators(i++, "toAsync() or asyncAction() or asyncFunc()", " 将一个函数或者Action转换为已Observable,它执行这个函数并发射函数的返回值", CommonString.toAsync, OperatorsUrl.start, parentId));
- alloperatorses.add(new alloperators(i++, "startFuture()", "将一个返回Future的函数转换为一个Observable,它发射Future的返回值", CommonString.startFuture, OperatorsUrl.start, parentId));
- alloperatorses.add(new alloperators(i++, "deferFuture()", "将一个返回Observable的Future转换为一个Observable,但是并不尝试获取这个Future返回的Observable,直到有订阅者订阅它", CommonString.deferFuture, OperatorsUrl.start, parentId));
- alloperatorses.add(new alloperators(i++, "forEachFuture()", "传递Subscriber方法给一个Subscriber,但是同时表现得像一个Future一样阻塞直到它完成", CommonString.forEachFuture, OperatorsUrl.start, parentId));
- alloperatorses.add(new alloperators(i++, "fromAction()", "将一个Action转换为Observable,当一个订阅者订阅时,它执行这个action并发射它的返回值", CommonString.fromAction, OperatorsUrl.start, parentId));
- alloperatorses.add(new alloperators(i++, "fromCallable()", "将一个Callable转换为Observable,当一个订阅者订阅时,它执行这个Callable并发射Callable的返回值,或者发射异常", CommonString.fromCallable, OperatorsUrl.start, parentId));
- alloperatorses.add(new alloperators(i++, "fromRunnable()", "convert a Runnable into an Observable that invokes the runable and emits its result when a Subscriber subscribes将一个Runnable转换为Observable,当一个订阅者订阅时,它执行这个Runnable并发射Runnable的返回值", CommonString.fromRunnable, OperatorsUrl.start, parentId));
- alloperatorses.add(new alloperators(i++, "runAsync()", "返回一个StoppableObservable,它发射某个Scheduler上指定的Action生成的多个actions", CommonString.runAsync, OperatorsUrl.start, parentId));
+ alloperatorses.add(new alloperators(i++, "start()", DEFAULT, "创建一个Observable,它发射一个函数的返回值", CommonString.start, OperatorsUrl.start, parentId));
+ alloperatorses.add(new alloperators(i++, "toAsync() or asyncAction() or asyncFunc()", DEFAULT, " 将一个函数或者Action转换为已Observable,它执行这个函数并发射函数的返回值", CommonString.toAsync, OperatorsUrl.start, parentId));
+ alloperatorses.add(new alloperators(i++, "startFuture()", DEFAULT, "将一个返回Future的函数转换为一个Observable,它发射Future的返回值", CommonString.startFuture, OperatorsUrl.start, parentId));
+ alloperatorses.add(new alloperators(i++, "deferFuture()", DEFAULT, "将一个返回Observable的Future转换为一个Observable,但是并不尝试获取这个Future返回的Observable,直到有订阅者订阅它", CommonString.deferFuture, OperatorsUrl.start, parentId));
+ alloperatorses.add(new alloperators(i++, "forEachFuture()", DEFAULT, "传递Subscriber方法给一个Subscriber,但是同时表现得像一个Future一样阻塞直到它完成", CommonString.forEachFuture, OperatorsUrl.start, parentId));
+ alloperatorses.add(new alloperators(i++, "fromAction()", DEFAULT, "将一个Action转换为Observable,当一个订阅者订阅时,它执行这个action并发射它的返回值", CommonString.fromAction, OperatorsUrl.start, parentId));
+ alloperatorses.add(new alloperators(i++, "fromCallable()", DEFAULT, "将一个Callable转换为Observable,当一个订阅者订阅时,它执行这个Callable并发射Callable的返回值,或者发射异常", CommonString.fromCallable, OperatorsUrl.start, parentId));
+ alloperatorses.add(new alloperators(i++, "fromRunnable()", DEFAULT, "convert a Runnable into an Observable that invokes the runable and emits its result when a Subscriber subscribes将一个Runnable转换为Observable,当一个订阅者订阅时,它执行这个Runnable并发射Runnable的返回值", CommonString.fromRunnable, OperatorsUrl.start, parentId));
+ alloperatorses.add(new alloperators(i++, "runAsync()", DEFAULT, "返回一个StoppableObservable,它发射某个Scheduler上指定的Action生成的多个actions", CommonString.runAsync, OperatorsUrl.start, parentId));
parentId++;
}
private static void getMathList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "rxjava-math模块", "模块的操作符", CommonString.MATH, OperatorsUrl.MATH, parentId));
- alloperatorses.add(new alloperators(i++, "concat()", "顺序连接多个Observables", CommonString.concat, OperatorsUrl.concat, parentId));
- alloperatorses.add(new alloperators(i++, "count() and countLong()", "计算数据项的个数并发射结果", CommonString.count, OperatorsUrl.count, parentId));
- alloperatorses.add(new alloperators(i++, "reduce()", "对序列使用reduce()函数并发射对吼的结果", CommonString.reduce, OperatorsUrl.reduce, parentId));
- alloperatorses.add(new alloperators(i++, "collect()", "将原始Observable发射的数据放到一个单一的可变的数据结构中,然后返回一个发射这个数据结构的Observable", CommonString.collect, OperatorsUrl.collect, parentId));
- alloperatorses.add(new alloperators(i++, "toList()", "收集原始Observable发射的所有数据到一个列表,然后返回这个列表", CommonString.toList, OperatorsUrl.toList, parentId));
- alloperatorses.add(new alloperators(i++, "toSortedList()", "收集原始Observable发射的所有数据到一个有序列表,然后返回这个列表", CommonString.toSortedList, OperatorsUrl.toSortedList, parentId));
- alloperatorses.add(new alloperators(i++, "toMap()", "将序列数据转换为一个Map,Map的key是根据一个函数计算的", CommonString.toMap, OperatorsUrl.toMap, parentId));
- alloperatorses.add(new alloperators(i++, "toMultiMap()", "将序列数据转换为一个列表,同时也是一个Map,Map的key是根据一个函数计算的", CommonString.toMultiMap, OperatorsUrl.toMultiMap, parentId));
+ alloperatorses.add(new alloperators(i++, "rxjava-math模块", " ", "模块的操作符", CommonString.MATH, OperatorsUrl.MATH, parentId));
+ alloperatorses.add(new alloperators(i++, "concat()", DEFAULT, "顺序连接多个Observables", CommonString.concat, OperatorsUrl.concat, parentId));
+ alloperatorses.add(new alloperators(i++, "count() and countLong()", DEFAULT, "计算数据项的个数并发射结果", CommonString.count, OperatorsUrl.count, parentId));
+ alloperatorses.add(new alloperators(i++, "reduce()", DEFAULT, "对序列使用reduce()函数并发射对吼的结果", CommonString.reduce, OperatorsUrl.reduce, parentId));
+ alloperatorses.add(new alloperators(i++, "collect()", DEFAULT, "将原始Observable发射的数据放到一个单一的可变的数据结构中,然后返回一个发射这个数据结构的Observable", CommonString.collect, OperatorsUrl.collect, parentId));
+ alloperatorses.add(new alloperators(i++, "toList()", DEFAULT, "收集原始Observable发射的所有数据到一个列表,然后返回这个列表", CommonString.toList, OperatorsUrl.toList, parentId));
+ alloperatorses.add(new alloperators(i++, "toSortedList()", DEFAULT, "收集原始Observable发射的所有数据到一个有序列表,然后返回这个列表", CommonString.toSortedList, OperatorsUrl.toSortedList, parentId));
+ alloperatorses.add(new alloperators(i++, "toMap()", DEFAULT, "将序列数据转换为一个Map,Map的key是根据一个函数计算的", CommonString.toMap, OperatorsUrl.toMap, parentId));
+ alloperatorses.add(new alloperators(i++, "toMultiMap()", DEFAULT, "将序列数据转换为一个列表,同时也是一个Map,Map的key是根据一个函数计算的", CommonString.toMultiMap, OperatorsUrl.toMultiMap, parentId));
parentId++;
}
private static void getConditionalList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "amb()", "给定多个Observable,只让第一个发射数据的Observable发射全部数据", CommonString.amb, OperatorsUrl.amb, parentId));
- alloperatorses.add(new alloperators(i++, "defaultIfEmpty()", "发射来自原始Observable的数据,如果原始Observable没有发射数据,就发射一个默认数据", CommonString.defaultIfEmpty, OperatorsUrl.amb, parentId));
- alloperatorses.add(new alloperators(i++, "doWhile()", "发射原始Observable的数据序列,然后重复发射这个序列直到不满足这个条件为止", CommonString.doWhile, OperatorsUrl.amb, parentId));
- alloperatorses.add(new alloperators(i++, "ifThen()", "只有当某个条件为真时才发射原始Observable的数据序列,否则发射一个空的或默认的序列", CommonString.ifThen, OperatorsUrl.amb, parentId));
- alloperatorses.add(new alloperators(i++, "skipUntil()", "丢弃原始Observable发射的数据,直到第二个Observable发射了一个数据,然后发射原始Observable的剩余数据", CommonString.skipUntil, OperatorsUrl.amb, parentId));
- alloperatorses.add(new alloperators(i++, "skipWhile()", "丢弃原始Observable发射的数据,直到一个特定的条件为假,然后发射原始Observable剩余的数据", CommonString.skipWhile, OperatorsUrl.amb, parentId));
- alloperatorses.add(new alloperators(i++, "switchCase()", "基于一个计算结果,发射一个指定Observable的数据序列", CommonString.switchCase, OperatorsUrl.amb, parentId));
- alloperatorses.add(new alloperators(i++, "takeUntil()", "发射来自原始Observable的数据,直到第二个Observable发射了一个数据或一个通知", CommonString.takeUntil, OperatorsUrl.amb, parentId));
- alloperatorses.add(new alloperators(i++, "takeWhile(),takeWhileWithIndex()", "射原始Observable的数据,直到一个特定的条件为真,然后跳过剩余的数据", CommonString.takeWhile, OperatorsUrl.amb, parentId));
- alloperatorses.add(new alloperators(i++, "whileDo()", "if a condition is true, emit the source Observable's sequence and then repeat the sequence as long as the condition remains true如果满足一个条件,发射原始Observable的数据,然后重复发射直到不满足这个条件为止", CommonString.takeWhile, CommonString.GITHUB_URL, parentId));
-
- alloperatorses.add(new alloperators(i++, "all()", "判断是否所有的数据项都满足某个条件", CommonString.all, OperatorsUrl.BOOLEAN_ALL, parentId));
- alloperatorses.add(new alloperators(i++, "contains()", "判断Observable是否会发射一个指定的值", CommonString.contains, OperatorsUrl.BOOLEAN_ALL, parentId));
- alloperatorses.add(new alloperators(i++, "exists(),isEmpty()", "判断Observable是否发射了一个值", CommonString.exists, OperatorsUrl.BOOLEAN_ALL, parentId));
- alloperatorses.add(new alloperators(i++, "sequenceEqual()", " test the equality of the sequences emitted by two Observables判断两个Observables发射的序列是否相等", CommonString.sequenceEqual, OperatorsUrl.BOOLEAN_ALL, parentId));
+ alloperatorses.add(new alloperators(i++, "amb()", DEFAULT, "给定多个Observable,只让第一个发射数据的Observable发射全部数据", CommonString.amb, OperatorsUrl.amb, parentId));
+ alloperatorses.add(new alloperators(i++, "defaultIfEmpty()", DEFAULT, "发射来自原始Observable的数据,如果原始Observable没有发射数据,就发射一个默认数据", CommonString.defaultIfEmpty, OperatorsUrl.amb, parentId));
+ alloperatorses.add(new alloperators(i++, "doWhile()", DEFAULT, "发射原始Observable的数据序列,然后重复发射这个序列直到不满足这个条件为止", CommonString.doWhile, OperatorsUrl.amb, parentId));
+ alloperatorses.add(new alloperators(i++, "ifThen()", DEFAULT, "只有当某个条件为真时才发射原始Observable的数据序列,否则发射一个空的或默认的序列", CommonString.ifThen, OperatorsUrl.amb, parentId));
+ alloperatorses.add(new alloperators(i++, "skipUntil()", DEFAULT, "丢弃原始Observable发射的数据,直到第二个Observable发射了一个数据,然后发射原始Observable的剩余数据", CommonString.skipUntil, OperatorsUrl.amb, parentId));
+ alloperatorses.add(new alloperators(i++, "skipWhile()", DEFAULT, "丢弃原始Observable发射的数据,直到一个特定的条件为假,然后发射原始Observable剩余的数据", CommonString.skipWhile, OperatorsUrl.amb, parentId));
+ alloperatorses.add(new alloperators(i++, "switchCase()", DEFAULT, "基于一个计算结果,发射一个指定Observable的数据序列", CommonString.switchCase, OperatorsUrl.amb, parentId));
+ alloperatorses.add(new alloperators(i++, "takeUntil()", DEFAULT, "发射来自原始Observable的数据,直到第二个Observable发射了一个数据或一个通知", CommonString.takeUntil, OperatorsUrl.amb, parentId));
+ alloperatorses.add(new alloperators(i++, "takeWhile(),takeWhileWithIndex()", DEFAULT, "射原始Observable的数据,直到一个特定的条件为真,然后跳过剩余的数据", CommonString.takeWhile, OperatorsUrl.amb, parentId));
+ alloperatorses.add(new alloperators(i++, "whileDo()", DEFAULT, "if a condition is true, emit the source Observable's sequence and then repeat the sequence as long as the condition remains true如果满足一个条件,发射原始Observable的数据,然后重复发射直到不满足这个条件为止", CommonString.takeWhile, CommonString.GITHUB_URL, parentId));
+
+ alloperatorses.add(new alloperators(i++, "all()", DEFAULT, "判断是否所有的数据项都满足某个条件", CommonString.all, OperatorsUrl.BOOLEAN_ALL, parentId));
+ alloperatorses.add(new alloperators(i++, "contains()", DEFAULT, "判断Observable是否会发射一个指定的值", CommonString.contains, OperatorsUrl.BOOLEAN_ALL, parentId));
+ alloperatorses.add(new alloperators(i++, "exists(),isEmpty()", DEFAULT, "判断Observable是否发射了一个值", CommonString.exists, OperatorsUrl.BOOLEAN_ALL, parentId));
+ alloperatorses.add(new alloperators(i++, "sequenceEqual()", DEFAULT, " test the equality of the sequences emitted by two Observables判断两个Observables发射的序列是否相等", CommonString.sequenceEqual, OperatorsUrl.BOOLEAN_ALL, parentId));
parentId++;
}
private static void getUtilityList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "Materialize()", "将Observable转换成一个通知列表convert an Observable into a list of Notifications", CommonString.Materialize, OperatorsUrl.Materialize, parentId));
- alloperatorses.add(new alloperators(i++, "Dematerialize()", "将上面的结果逆转回一个Observable", CommonString.Dematerialize, OperatorsUrl.Dematerialize, parentId));
- alloperatorses.add(new alloperators(i++, "Timestamp()", "给Observable发射的每个数据项添加一个时间戳", CommonString.Timestamp, OperatorsUrl.Timestamp, parentId));
- alloperatorses.add(new alloperators(i++, "Serialize()", "强制Observable按次序发射数据并且要求功能是完好的", CommonString.Serialize, OperatorsUrl.Serialize, parentId));
- alloperatorses.add(new alloperators(i++, "ObserveOn()", "指定观察者观察Observable的调度器", CommonString.ObserveOn, OperatorsUrl.ObserveOn, parentId));
- alloperatorses.add(new alloperators(i++, "SubscribeOn()", "指定Observable执行任务的调度器", CommonString.SubscribeOn, OperatorsUrl.SubscribeOn, parentId));
- alloperatorses.add(new alloperators(i++, "doOnEach()", "注册一个动作,对Observable发射的每个数据项使用", CommonString.doOnEach, OperatorsUrl.doOnEach, parentId));
- alloperatorses.add(new alloperators(i++, "doOnSubscribe()", "注册一个动作,在观察者订阅时使用", CommonString.doOnSubscribe, OperatorsUrl.doOnSubscribe, parentId));
- alloperatorses.add(new alloperators(i++, "doOnUnsubscribe()", "注册一个动作,在观察者取消订阅时使用", CommonString.doOnUnsubscribe, OperatorsUrl.doOnUnsubscribe, parentId));
- alloperatorses.add(new alloperators(i++, "doOnCompleted()", "注册一个动作,对正常完成的Observable使用", CommonString.doOnCompleted, OperatorsUrl.doOnCompleted, parentId));
- alloperatorses.add(new alloperators(i++, "doOnError()", "注册一个动作,对Observable发射的每个数据项使用", CommonString.doOnError, OperatorsUrl.doOnError, parentId));
- alloperatorses.add(new alloperators(i++, "doOnTerminate()", "注册一个动作,对完成的Observable使用,无论是否发生错误", CommonString.doOnTerminate, OperatorsUrl.doOnTerminate, parentId));
- alloperatorses.add(new alloperators(i++, "finallyDo()", "注册一个动作,在Observable完成时使用", CommonString.finallyDo, OperatorsUrl.finallyDo, parentId));
- alloperatorses.add(new alloperators(i++, "Delay()", "延时发射Observable的结果", CommonString.Delay, OperatorsUrl.Delay, parentId));
- alloperatorses.add(new alloperators(i++, "delaySubscription()", "延时处理订阅请求", CommonString.delaySubscription, OperatorsUrl.delaySubscription, parentId));
- alloperatorses.add(new alloperators(i++, "TimeInterval()", "定期发射数据", CommonString.TimeInterval, OperatorsUrl.TimeInterval, parentId));
- alloperatorses.add(new alloperators(i++, "Using()", " 创建一个只在Observable生命周期存在的资源", CommonString.Using, OperatorsUrl.Using, parentId));
- alloperatorses.add(new alloperators(i++, "single()", " 强制返回单个数据,否则抛出异常", CommonString.First, OperatorsUrl.First, parentId));
- alloperatorses.add(new alloperators(i++, "toFuture(), toIterable(), toList()", "将Observable转换为其它对象或数据结构", CommonString.To, OperatorsUrl.To, parentId));
+ alloperatorses.add(new alloperators(i++, "Materialize()", DEFAULT, "将Observable转换成一个通知列表convert an Observable into a list of Notifications", CommonString.Materialize, OperatorsUrl.Materialize, parentId));
+ alloperatorses.add(new alloperators(i++, "Dematerialize()", DEFAULT, "将上面的结果逆转回一个Observable", CommonString.Dematerialize, OperatorsUrl.Dematerialize, parentId));
+ alloperatorses.add(new alloperators(i++, "Timestamp()", IMMEDIATE, "给Observable发射的每个数据项添加一个时间戳", CommonString.Timestamp, OperatorsUrl.Timestamp, parentId));
+ alloperatorses.add(new alloperators(i++, "Serialize()", DEFAULT, "强制Observable按次序发射数据并且要求功能是完好的", CommonString.Serialize, OperatorsUrl.Serialize, parentId));
+ alloperatorses.add(new alloperators(i++, "ObserveOn()", " ", "指定观察者观察Observable的调度器", CommonString.ObserveOn, OperatorsUrl.ObserveOn, parentId));
+ alloperatorses.add(new alloperators(i++, "SubscribeOn()", " ", "指定Observable执行任务的调度器", CommonString.SubscribeOn, OperatorsUrl.SubscribeOn, parentId));
+ alloperatorses.add(new alloperators(i++, "doOnEach()", DEFAULT, "注册一个动作,对Observable发射的每个数据项使用", CommonString.doOnEach, OperatorsUrl.doOnEach, parentId));
+ alloperatorses.add(new alloperators(i++, "doOnSubscribe()", DEFAULT, "注册一个动作,在观察者订阅时使用", CommonString.doOnSubscribe, OperatorsUrl.doOnSubscribe, parentId));
+ alloperatorses.add(new alloperators(i++, "doOnUnsubscribe()", DEFAULT, "注册一个动作,在观察者取消订阅时使用", CommonString.doOnUnsubscribe, OperatorsUrl.doOnUnsubscribe, parentId));
+ alloperatorses.add(new alloperators(i++, "doOnCompleted()", DEFAULT, "注册一个动作,对正常完成的Observable使用", CommonString.doOnCompleted, OperatorsUrl.doOnCompleted, parentId));
+ alloperatorses.add(new alloperators(i++, "doOnError()", DEFAULT, "注册一个动作,对Observable发射的每个数据项使用", CommonString.doOnError, OperatorsUrl.doOnError, parentId));
+ alloperatorses.add(new alloperators(i++, "doOnTerminate()", DEFAULT, "注册一个动作,对完成的Observable使用,无论是否发生错误", CommonString.doOnTerminate, OperatorsUrl.doOnTerminate, parentId));
+ alloperatorses.add(new alloperators(i++, "finallyDo()", DEFAULT, "注册一个动作,在Observable完成时使用", CommonString.finallyDo, OperatorsUrl.finallyDo, parentId));
+ alloperatorses.add(new alloperators(i++, "Delay()", DEFAULT, "延时发射Observable的结果", CommonString.Delay, OperatorsUrl.Delay, parentId));
+ alloperatorses.add(new alloperators(i++, "delaySubscription()", DEFAULT, "延时处理订阅请求", CommonString.delaySubscription, OperatorsUrl.delaySubscription, parentId));
+ alloperatorses.add(new alloperators(i++, "TimeInterval()", DEFAULT, "定期发射数据", CommonString.TimeInterval, OperatorsUrl.TimeInterval, parentId));
+ alloperatorses.add(new alloperators(i++, "Using()", DEFAULT, " 创建一个只在Observable生命周期存在的资源", CommonString.Using, OperatorsUrl.Using, parentId));
+ alloperatorses.add(new alloperators(i++, "single()", DEFAULT, " 强制返回单个数据,否则抛出异常", CommonString.First, OperatorsUrl.First, parentId));
+ alloperatorses.add(new alloperators(i++, "toFuture(), toIterable(), toList()", DEFAULT, "将Observable转换为其它对象或数据结构,只能用于BlockingObservable", CommonString.To, OperatorsUrl.To, parentId));
parentId++;
}
private static void getErrorList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "onErrorResumeNext()", "指示Observable在遇到错误时发射一个数据序列", CommonString.EMPTY, OperatorsUrl.ERROR, parentId));
- alloperatorses.add(new alloperators(i++, "onErrorReturn()", "指示Observable在遇到错误时发射一个特定的数据", CommonString.EMPTY, OperatorsUrl.ERROR, parentId));
- alloperatorses.add(new alloperators(i++, "onExceptionResumeNext()", "instructs an Observable to continue emitting items after it encounters an exception (but not another variety of throwable)指示Observable遇到错误时继续发射数据", CommonString.EMPTY, OperatorsUrl.ERROR, parentId));
- alloperatorses.add(new alloperators(i++, "retry()", "指示Observable遇到错误时重试", CommonString.RETRY, OperatorsUrl.RETRY, parentId));
- alloperatorses.add(new alloperators(i++, "retryWhen()", "指示Observable遇到错误时,将错误传递给另一个Observable来决定是否要重新给订阅这个Observable", CommonString.RETRYWHEN, OperatorsUrl.RETRY, parentId));
+ alloperatorses.add(new alloperators(i++, "onErrorResumeNext()", DEFAULT, "指示Observable在遇到错误时发射一个数据序列", CommonString.EMPTY, OperatorsUrl.ERROR, parentId));
+ alloperatorses.add(new alloperators(i++, "onErrorReturn()", DEFAULT, "指示Observable在遇到错误时发射一个特定的数据", CommonString.EMPTY, OperatorsUrl.ERROR, parentId));
+ alloperatorses.add(new alloperators(i++, "onExceptionResumeNext()", DEFAULT, "instructs an Observable to continue emitting items after it encounters an exception (but not another variety of throwable)指示Observable遇到错误时继续发射数据", CommonString.EMPTY, OperatorsUrl.ERROR, parentId));
+ alloperatorses.add(new alloperators(i++, "retry()", DEFAULT, "指示Observable遇到错误时重试", CommonString.RETRY, OperatorsUrl.RETRY, parentId));
+ alloperatorses.add(new alloperators(i++, "retryWhen()", DEFAULT, "指示Observable遇到错误时,将错误传递给另一个Observable来决定是否要重新给订阅这个Observable", CommonString.RETRYWHEN, OperatorsUrl.RETRY, parentId));
parentId++;
}
private static void getCombinList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "startWith()", "在数据序列的开头增加一项数据", CommonString.STARTWITH, OperatorsUrl.STARTWITH, parentId));
- alloperatorses.add(new alloperators(i++, "merge()", "将多个Observable合并为一个", CommonString.MERGE, OperatorsUrl.MERGE, parentId));
- alloperatorses.add(new alloperators(i++, "mergeDelayError()", "合并多个Observables,让没有错误的Observable都完成后再发射错误通知", CommonString.MERGEDELAY, OperatorsUrl.MERGEDELAY, parentId));
- alloperatorses.add(new alloperators(i++, "zip()", "使用一个函数组合多个Observable发射的数据集合,然后再发射这个结果", CommonString.ZIP, OperatorsUrl.ZIP, parentId));
- alloperatorses.add(new alloperators(i++, "and(), then(), and when()", "(rxjava-joins)通过模式和计划组合多个Observables发射的数据集合", CommonString.AND, OperatorsUrl.AND, parentId));
- alloperatorses.add(new alloperators(i++, "combineLatest()", "当两个Observables中的任何一个发射了一个数据时,通过一个指定的函数组合每个Observable发射的最新数据(一共两个数据),然后发射这个函数的结果", CommonString.COMBINLASTED, OperatorsUrl.COMBINLASTED, parentId));
- alloperatorses.add(new alloperators(i++, "join() and groupJoin()", "无论何时,如果一个Observable发射了一个数据项,只要在另一个Observable发射的数据项定义的时间窗口内,就将两个Observable发射的数据合并发射", CommonString.JOIN, OperatorsUrl.JOIN, parentId));
- alloperatorses.add(new alloperators(i++, "switchOnNext()", "将一个发射Observables的Observable转换成另一个Observable,后者发射这些Observables最近发射的数据", CommonString.SWITHONNEXT, OperatorsUrl.SWITHONNEXT, parentId));
+ alloperatorses.add(new alloperators(i++, "startWith()", DEFAULT, "在数据序列的开头增加一项数据", CommonString.STARTWITH, OperatorsUrl.STARTWITH, parentId));
+ alloperatorses.add(new alloperators(i++, "merge()", DEFAULT, "将多个Observable合并为一个", CommonString.MERGE, OperatorsUrl.MERGE, parentId));
+ alloperatorses.add(new alloperators(i++, "mergeDelayError()", DEFAULT, "合并多个Observables,让没有错误的Observable都完成后再发射错误通知", CommonString.MERGEDELAY, OperatorsUrl.MERGEDELAY, parentId));
+ alloperatorses.add(new alloperators(i++, "zip()", DEFAULT, "使用一个函数组合多个Observable发射的数据集合,然后再发射这个结果", CommonString.ZIP, OperatorsUrl.ZIP, parentId));
+ alloperatorses.add(new alloperators(i++, "and(), then(), and when()", DEFAULT, "(rxjava-joins)通过模式和计划组合多个Observables发射的数据集合", CommonString.AND, OperatorsUrl.AND, parentId));
+ alloperatorses.add(new alloperators(i++, "combineLatest()", DEFAULT, "当两个Observables中的任何一个发射了一个数据时,通过一个指定的函数组合每个Observable发射的最新数据(一共两个数据),然后发射这个函数的结果", CommonString.COMBINLASTED, OperatorsUrl.COMBINLASTED, parentId));
+ alloperatorses.add(new alloperators(i++, "join() and groupJoin()", DEFAULT, "无论何时,如果一个Observable发射了一个数据项,只要在另一个Observable发射的数据项定义的时间窗口内,就将两个Observable发射的数据合并发射", CommonString.JOIN, OperatorsUrl.JOIN, parentId));
+ alloperatorses.add(new alloperators(i++, "switchOnNext()", DEFAULT, "将一个发射Observables的Observable转换成另一个Observable,后者发射这些Observables最近发射的数据", CommonString.SWITHONNEXT, OperatorsUrl.SWITHONNEXT, parentId));
parentId++;
}
+
private static void getIntroduceList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "ReactiveX", "什么是Rx,Rx的理念和优势", CommonString.SPLASH_INDEX_URL, OperatorsUrl.INTRODUCE, parentId));
- alloperatorses.add(new alloperators(i++, "RxJava入门指南", "RxJava入门指南", CommonString.SPLASH_INDEX_URL, OperatorsUrl.GUIDE_OPEN, parentId));
- alloperatorses.add(new alloperators(i++, "RxJava使用示例", "RxJava使用示例", CommonString.SPLASH_INDEX_URL, OperatorsUrl.SAMPLE_FIRST, parentId));
- alloperatorses.add(new alloperators(i++, "Observables", "简要介绍Observable的观察者模型", CommonString.OBSERVABLES, OperatorsUrl.OBSERVABLES, parentId));
- alloperatorses.add(new alloperators(i++, "Single", "一种特殊的只发射单个值的Observable", CommonString.SPLASH_INDEX_URL, OperatorsUrl.SINGLE, parentId));
- alloperatorses.add(new alloperators(i++, "Subject", "Observable和Observer的复合体,也是二者的桥梁", CommonString.SUBJECT, OperatorsUrl.SUBJECT, parentId));
- alloperatorses.add(new alloperators(i++, "Scheduler", "介绍了各种异步任务调度和默认调度器", CommonString.SPLASH_INDEX_URL, OperatorsUrl.SCHEDULE, parentId));
+ alloperatorses.add(new alloperators(i++, "ReactiveX", " ", "什么是Rx,Rx的理念和优势", CommonString.SPLASH_INDEX_URL, OperatorsUrl.INTRODUCE, parentId));
+ alloperatorses.add(new alloperators(i++, "RxJava入门指南", " ", "RxJava入门指南", CommonString.SPLASH_INDEX_URL, OperatorsUrl.GUIDE_OPEN, parentId));
+ alloperatorses.add(new alloperators(i++, "RxJava使用示例", " ", "RxJava使用示例", CommonString.SPLASH_INDEX_URL, OperatorsUrl.SAMPLE_FIRST, parentId));
+ alloperatorses.add(new alloperators(i++, "Observables", " ", "简要介绍Observable的观察者模型", CommonString.OBSERVABLES, OperatorsUrl.OBSERVABLES, parentId));
+ alloperatorses.add(new alloperators(i++, "Single", " ", "一种特殊的只发射单个值的Observable", CommonString.SPLASH_INDEX_URL, OperatorsUrl.SINGLE, parentId));
+ alloperatorses.add(new alloperators(i++, "Subject", " ", "Observable和Observer的复合体,也是二者的桥梁", CommonString.SUBJECT, OperatorsUrl.SUBJECT, parentId));
+ alloperatorses.add(new alloperators(i++, "Scheduler", " ", "介绍了各种异步任务调度和默认调度器", CommonString.SPLASH_INDEX_URL, OperatorsUrl.SCHEDULE, parentId));
parentId++;
}
private static void getCreatingList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "just()", "将一个或多个对象转换成发射这个或这些对象的一个Observable", CommonString.JUST, OperatorsUrl.JUST, parentId));
- alloperatorses.add(new alloperators(i++, "from()", "将一个Iterable, 一个Future, 或者一个数组转换成一个Observable", CommonString.FROM, OperatorsUrl.FROM, parentId));
- alloperatorses.add(new alloperators(i++, "repeat()", "创建一个重复发射指定数据或数据序列的Observable", CommonString.REPEAT, OperatorsUrl.REPEAT, parentId));
- alloperatorses.add(new alloperators(i++, "repeatWhen()", "创建一个重复发射指定数据或数据序列的Observable,它依赖于另一个Observable发射的数据", CommonString.REPEAT_WHEN, OperatorsUrl.REPEAT, parentId));
- alloperatorses.add(new alloperators(i++, "create()", "使用一个函数从头创建一个Observable", CommonString.CREATE, OperatorsUrl.CREATE, parentId));
- alloperatorses.add(new alloperators(i++, "defer()", "只有当订阅者订阅才创建Observable;为每个订阅创建一个新的Observable", CommonString.DEFER, OperatorsUrl.DEFER, parentId));
- alloperatorses.add(new alloperators(i++, "range()", "创建一个发射指定范围的整数序列的Observable", CommonString.RANGE, OperatorsUrl.DEFER, parentId));
- alloperatorses.add(new alloperators(i++, "interval()", "创建一个按照给定的时间间隔发射整数序列的Observable", CommonString.INTERVAL, OperatorsUrl.INTERVAL, parentId));
- alloperatorses.add(new alloperators(i++, "timer()", "创建一个按照给定的时间间隔发射整数序列的Observable", CommonString.TIMER, OperatorsUrl.TIMER, parentId));
- alloperatorses.add(new alloperators(i++, "empty()", "创建一个什么都不做直接通知完成的Observable", CommonString.EMPTY, OperatorsUrl.EMPTY, parentId));
- alloperatorses.add(new alloperators(i++, "error()", "创建一个什么都不做直接通知错误的Observable", CommonString.EMPTY, OperatorsUrl.EMPTY, parentId));
- alloperatorses.add(new alloperators(i++, "never()", "创建一个不发射任何数据的Observable", CommonString.EMPTY, OperatorsUrl.EMPTY, parentId));
+ alloperatorses.add(new alloperators(i++, "just()", DEFAULT, "将一个或多个对象转换成发射这个或这些对象的一个Observable", CommonString.JUST, OperatorsUrl.JUST, parentId));
+ alloperatorses.add(new alloperators(i++, "from()", DEFAULT, "将一个Iterable, 一个Future, 或者一个数组转换成一个Observable", CommonString.FROM, OperatorsUrl.FROM, parentId));
+ alloperatorses.add(new alloperators(i++, "repeat()", TRAMPOLINE, "创建一个重复发射指定数据或数据序列的Observable", CommonString.REPEAT, OperatorsUrl.REPEAT, parentId));
+ alloperatorses.add(new alloperators(i++, "repeatWhen()", TRAMPOLINE, "创建一个重复发射指定数据或数据序列的Observable,它依赖于另一个Observable发射的数据", CommonString.REPEAT_WHEN, OperatorsUrl.REPEAT, parentId));
+ alloperatorses.add(new alloperators(i++, "create()", DEFAULT, "使用一个函数从头创建一个Observable", CommonString.CREATE, OperatorsUrl.CREATE, parentId));
+ alloperatorses.add(new alloperators(i++, "defer()", DEFAULT, "只有当订阅者订阅才创建Observable;为每个订阅创建一个新的Observable", CommonString.DEFER, OperatorsUrl.DEFER, parentId));
+ alloperatorses.add(new alloperators(i++, "range()", DEFAULT, "创建一个发射指定范围的整数序列的Observable", CommonString.RANGE, OperatorsUrl.RANGE, parentId));
+ alloperatorses.add(new alloperators(i++, "interval()", COMPUTATION, "创建一个按照给定的时间间隔发射整数序列的Observable", CommonString.INTERVAL, OperatorsUrl.INTERVAL, parentId));
+ alloperatorses.add(new alloperators(i++, "timer()", COMPUTATION, "创建一个按照给定的时间间隔发射整数序列的Observable", CommonString.TIMER, OperatorsUrl.TIMER, parentId));
+ alloperatorses.add(new alloperators(i++, "empty()", DEFAULT, "创建一个什么都不做直接通知完成的Observable", CommonString.EMPTY, OperatorsUrl.EMPTY, parentId));
+ alloperatorses.add(new alloperators(i++, "error()", DEFAULT, "创建一个什么都不做直接通知错误的Observable", CommonString.EMPTY, OperatorsUrl.EMPTY, parentId));
+ alloperatorses.add(new alloperators(i++, "never()", DEFAULT, "创建一个不发射任何数据的Observable", CommonString.EMPTY, OperatorsUrl.EMPTY, parentId));
parentId++;
}
private static void getTransformList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "map()", "对序列的每一项都应用一个函数来变换Observable发射的数据序列", CommonString.MAP, OperatorsUrl.MAP, parentId));
- alloperatorses.add(new alloperators(i++, "flatMap()", "将Observable发射的数据集合变换为Observables集合,然后将这些Observable发射的数据平坦化的放进一个单独的Observable", CommonString.FLATMAP, OperatorsUrl.FLATMAP, parentId));
- alloperatorses.add(new alloperators(i++, "concatMap()", "将Observable发射的数据集合变换为Observables集合,然后将这些Observable发射的数据平坦化的放进一个单独的Observable", CommonString.CONTACTMAP, OperatorsUrl.CONTACTMAP, parentId));
- alloperatorses.add(new alloperators(i++, "switchMap()", "将Observable发射的数据集合变换为Observables集合,然后只发射这些Observables最近发射的数据", CommonString.SWITCHMAP, OperatorsUrl.SWITCHMAP, parentId));
- alloperatorses.add(new alloperators(i++, "scan()", "对Observable发射的每一项数据应用一个函数,然后按顺序依次发射每一个值", CommonString.SCAN, OperatorsUrl.SCAN, parentId));
- alloperatorses.add(new alloperators(i++, "groupBy()", "将Observable分拆为Observable集合,将原始Observable发射的数据按Key分组,每一个Observable发射一组不同的数据", CommonString.GROUPBY, OperatorsUrl.GROUPBY, parentId));
- alloperatorses.add(new alloperators(i++, "buffer()", "它定期从Observable收集数据到一个集合,然后把这些数据集合打包发射,而不是一次发射一个", CommonString.BUFFER, OperatorsUrl.BUFFER, parentId));
- alloperatorses.add(new alloperators(i++, "window()", "定期将来自Observable的数据分拆成一些Observable窗口,然后发射这些窗口,而不是每次发射一项", CommonString.WINDOW, OperatorsUrl.WINDOW, parentId));
- alloperatorses.add(new alloperators(i++, "cast()", "在发射之前强制将Observable发射的所有数据转换为指定类型", CommonString.CAST, OperatorsUrl.CAST, parentId));
+ alloperatorses.add(new alloperators(i++, "map()", DEFAULT, "对序列的每一项都应用一个函数来变换Observable发射的数据序列", CommonString.MAP, OperatorsUrl.MAP, parentId));
+ alloperatorses.add(new alloperators(i++, "flatMap()", DEFAULT, "将Observable发射的数据集合变换为Observables集合,然后将这些Observable发射的数据平坦化的放进一个单独的Observable", CommonString.FLATMAP, OperatorsUrl.FLATMAP, parentId));
+ alloperatorses.add(new alloperators(i++, "concatMap()", DEFAULT, "将Observable发射的数据集合变换为Observables集合,然后将这些Observable发射的数据平坦化的放进一个单独的Observable", CommonString.CONTACTMAP, OperatorsUrl.CONTACTMAP, parentId));
+ alloperatorses.add(new alloperators(i++, "switchMap()", DEFAULT, "将Observable发射的数据集合变换为Observables集合,然后只发射这些Observables最近发射的数据", CommonString.SWITCHMAP, OperatorsUrl.SWITCHMAP, parentId));
+ alloperatorses.add(new alloperators(i++, "scan()", DEFAULT, "对Observable发射的每一项数据应用一个函数,然后按顺序依次发射每一个值", CommonString.SCAN, OperatorsUrl.SCAN, parentId));
+ alloperatorses.add(new alloperators(i++, "groupBy()", DEFAULT, "将Observable分拆为Observable集合,将原始Observable发射的数据按Key分组,每一个Observable发射一组不同的数据", CommonString.GROUPBY, OperatorsUrl.GROUPBY, parentId));
+ alloperatorses.add(new alloperators(i++, "buffer()", COMPUTATION, "它定期从Observable收集数据到一个集合,然后把这些数据集合打包发射,而不是一次发射一个", CommonString.BUFFER, OperatorsUrl.BUFFER, parentId));
+ alloperatorses.add(new alloperators(i++, "window()", COMPUTATION, "定期将来自Observable的数据分拆成一些Observable窗口,然后发射这些窗口,而不是每次发射一项", CommonString.WINDOW, OperatorsUrl.WINDOW, parentId));
+ alloperatorses.add(new alloperators(i++, "cast()", DEFAULT, "在发射之前强制将Observable发射的所有数据转换为指定类型", CommonString.CAST, OperatorsUrl.CAST, parentId));
parentId++;
}
private static void getFilterList(List alloperatorses) {
- alloperatorses.add(new alloperators(i++, "filter()", "过滤数据", CommonString.FILTER, OperatorsUrl.FILTER, parentId));
- alloperatorses.add(new alloperators(i++, "takeLast()", "只发射最后的N项数据", CommonString.TAKE_LAST, OperatorsUrl.TAKE_LAST, parentId));
- alloperatorses.add(new alloperators(i++, "last()", "只发射最后的一项数据", CommonString.LAST, OperatorsUrl.LAST, parentId));
- alloperatorses.add(new alloperators(i++, "lastOrDefault()", "只发射最后的一项数据,如果Observable为空就发射默认值", CommonString.LAST_OR_DEFAULT, OperatorsUrl.LAST_OR_DEFAULT, parentId));
- alloperatorses.add(new alloperators(i++, "takeLastBuffer()", "将最后的N项数据当做单个数据发射", CommonString.TAKE_LAST_BUFFER, OperatorsUrl.TAKE_LAST_BUFFER, parentId));
- alloperatorses.add(new alloperators(i++, "skip()", "跳过开始的N项数据", CommonString.SKIP, OperatorsUrl.SKIP, parentId));
- alloperatorses.add(new alloperators(i++, "skipLast()", "跳过最后的N项数据", CommonString.SKIP_LAST, OperatorsUrl.SKIP_LAST, parentId));
- alloperatorses.add(new alloperators(i++, "take()", "只发射开始的N项数据", CommonString.TAKE, OperatorsUrl.TAKE, parentId));
- alloperatorses.add(new alloperators(i++, "first() and takeFirst()", "只发射第一项数据,或者满足某种条件的第一项数据", CommonString.FIRST, OperatorsUrl.FIRST, parentId));
- alloperatorses.add(new alloperators(i++, "firstOrDefault()", "只发射第一项数据,如果Observable为空就发射默认值", CommonString.FIRST_DEFAULT, OperatorsUrl.FIRST_DEFAULT, parentId));
- alloperatorses.add(new alloperators(i++, "elementAt()", "发射第N项数据", CommonString.ELEMENT_AT, OperatorsUrl.ELEMENT_AT, parentId));
- alloperatorses.add(new alloperators(i++, "elementAtOrDefault()", "发射第N项数据,如果Observable数据少于N项就发射默认值", CommonString.ELEMENT_DEFAULT, OperatorsUrl.ELEMENT_DEFAULT, parentId));
- alloperatorses.add(new alloperators(i++, "sample() or throttleLast()", "定期发射Observable最近的数据", CommonString.SAMPLE, OperatorsUrl.SAMPLE, parentId));
- alloperatorses.add(new alloperators(i++, "throttleFirst()", "定期发射Observable发射的第一项数据", CommonString.THROLFIRST, OperatorsUrl.THROLFIRST, parentId));
- alloperatorses.add(new alloperators(i++, "throttleWithTimeout() or debounce()", "只有当Observable在指定的时间后还没有发射数据时,才发射一个数据", CommonString.DEBOUND, OperatorsUrl.DEBOUND, parentId));
- alloperatorses.add(new alloperators(i++, "timeout()", "如果在一个指定的时间段后还没发射数据,就发射一个异常", CommonString.TIMEOUT, OperatorsUrl.TIMEOUT, parentId));
- alloperatorses.add(new alloperators(i++, "distinct()", "过滤掉重复数据", CommonString.DISTINCT, OperatorsUrl.DISTINCT, parentId));
- alloperatorses.add(new alloperators(i++, "distinctUntilChanged()", "过滤掉连续重复的数据", CommonString.UNTILCHANGED, OperatorsUrl.UNTILCHANGED, parentId));
- alloperatorses.add(new alloperators(i++, "ofType()", "只发射指定类型的数据", CommonString.OF_TYPE, OperatorsUrl.OF_TYPE, parentId));
- alloperatorses.add(new alloperators(i++, "ignoreElements()", "丢弃所有的正常数据,只发射错误或完成通知", CommonString.IGNORE_ELEMENT, OperatorsUrl.IGNORE_ELEMENT, parentId));
+ alloperatorses.add(new alloperators(i++, "filter()", DEFAULT, "过滤数据", CommonString.FILTER, OperatorsUrl.FILTER, parentId));
+ alloperatorses.add(new alloperators(i++, "takeLast()", DEFAULT, "只发射最后的N项数据", CommonString.TAKE_LAST, OperatorsUrl.TAKE_LAST, parentId));
+ alloperatorses.add(new alloperators(i++, "last()", DEFAULT, "只发射最后的一项数据", CommonString.LAST, OperatorsUrl.LAST, parentId));
+ alloperatorses.add(new alloperators(i++, "lastOrDefault()", DEFAULT, "只发射最后的一项数据,如果Observable为空就发射默认值", CommonString.LAST_OR_DEFAULT, OperatorsUrl.LAST_OR_DEFAULT, parentId));
+ alloperatorses.add(new alloperators(i++, "takeLastBuffer()", DEFAULT, "将最后的N项数据当做单个数据发射", CommonString.TAKE_LAST_BUFFER, OperatorsUrl.TAKE_LAST_BUFFER, parentId));
+ alloperatorses.add(new alloperators(i++, "skip()", DEFAULT, "跳过开始的N项数据", CommonString.SKIP, OperatorsUrl.SKIP, parentId));
+ alloperatorses.add(new alloperators(i++, "skipLast()", DEFAULT, "跳过最后的N项数据", CommonString.SKIP_LAST, OperatorsUrl.SKIP_LAST, parentId));
+ alloperatorses.add(new alloperators(i++, "take()", DEFAULT, "只发射开始的N项数据", CommonString.TAKE, OperatorsUrl.TAKE, parentId));
+ alloperatorses.add(new alloperators(i++, "first() and takeFirst()", DEFAULT, "只发射第一项数据,或者满足某种条件的第一项数据", CommonString.FIRST, OperatorsUrl.FIRST, parentId));
+ alloperatorses.add(new alloperators(i++, "firstOrDefault()", DEFAULT, "只发射第一项数据,如果Observable为空就发射默认值", CommonString.FIRST_DEFAULT, OperatorsUrl.FIRST_DEFAULT, parentId));
+ alloperatorses.add(new alloperators(i++, "elementAt()", DEFAULT, "发射第N项数据", CommonString.ELEMENT_AT, OperatorsUrl.ELEMENT_AT, parentId));
+ alloperatorses.add(new alloperators(i++, "elementAtOrDefault()", DEFAULT, "发射第N项数据,如果Observable数据少于N项就发射默认值", CommonString.ELEMENT_DEFAULT, OperatorsUrl.ELEMENT_DEFAULT, parentId));
+ alloperatorses.add(new alloperators(i++, "sample() or throttleLast()", DEFAULT, "定期发射Observable最近的数据", CommonString.SAMPLE, OperatorsUrl.SAMPLE, parentId));
+ alloperatorses.add(new alloperators(i++, "throttleFirst()", COMPUTATION, "定期发射Observable发射的第一项数据", CommonString.THROLFIRST, OperatorsUrl.THROLFIRST, parentId));
+ alloperatorses.add(new alloperators(i++, "throttleWithTimeout() or debounce()", DEFAULT, "只有当Observable在指定的时间后还没有发射数据时,才发射一个数据", CommonString.DEBOUND, OperatorsUrl.DEBOUND, parentId));
+ alloperatorses.add(new alloperators(i++, "timeout()", "immediate", "如果在一个指定的时间段后还没发射数据,就发射一个异常", CommonString.TIMEOUT, OperatorsUrl.TIMEOUT, parentId));
+ alloperatorses.add(new alloperators(i++, "distinct()", DEFAULT, "过滤掉重复数据", CommonString.DISTINCT, OperatorsUrl.DISTINCT, parentId));
+ alloperatorses.add(new alloperators(i++, "distinctUntilChanged()", DEFAULT, "过滤掉连续重复的数据", CommonString.UNTILCHANGED, OperatorsUrl.UNTILCHANGED, parentId));
+ alloperatorses.add(new alloperators(i++, "ofType()", DEFAULT, "只发射指定类型的数据", CommonString.OF_TYPE, OperatorsUrl.OF_TYPE, parentId));
+ alloperatorses.add(new alloperators(i++, "ignoreElements()", DEFAULT, "丢弃所有的正常数据,只发射错误或完成通知", CommonString.IGNORE_ELEMENT, OperatorsUrl.IGNORE_ELEMENT, parentId));
parentId++;
}
@@ -336,4 +348,5 @@ public interface callBack {
void onFail(Throwable e);
}
+
}
diff --git a/app/src/main/java/com/jiang/android/rxjavaapp/utils/Utils.java b/app/src/main/java/com/jiang/android/rxjavaapp/utils/Utils.java
index 090c38a..c857ed9 100644
--- a/app/src/main/java/com/jiang/android/rxjavaapp/utils/Utils.java
+++ b/app/src/main/java/com/jiang/android/rxjavaapp/utils/Utils.java
@@ -28,6 +28,7 @@
package com.jiang.android.rxjavaapp.utils;
+import android.content.Context;
import android.net.Uri;
/**
@@ -36,5 +37,16 @@
public class Utils {
public static Uri getUri(String url) {
return Uri.parse(url);
+
+ }
+
+ public static int Dp2Px(Context context, float dp) {
+ final float scale = context.getResources().getDisplayMetrics().density;
+ return (int) (dp * scale + 0.5f);
+ }
+
+ public static int Px2Dp(Context context, float px) {
+ final float scale = context.getResources().getDisplayMetrics().density;
+ return (int) (px / scale + 0.5f);
}
}
diff --git a/app/src/main/res/drawable-xhdpi/splash_large.jpg b/app/src/main/res/drawable-xhdpi/splash_large.jpg
deleted file mode 100644
index 86fc37c..0000000
Binary files a/app/src/main/res/drawable-xhdpi/splash_large.jpg and /dev/null differ
diff --git a/app/src/main/res/drawable/delector.xml b/app/src/main/res/drawable/delector.xml
new file mode 100644
index 0000000..bbcefbe
--- /dev/null
+++ b/app/src/main/res/drawable/delector.xml
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/dialog_topbar_bg.xml b/app/src/main/res/drawable/dialog_topbar_bg.xml
new file mode 100644
index 0000000..77c3f62
--- /dev/null
+++ b/app/src/main/res/drawable/dialog_topbar_bg.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/layout/activity_main.xml b/app/src/main/res/layout/activity_main.xml
index 0fbb7c1..3deb940 100644
--- a/app/src/main/res/layout/activity_main.xml
+++ b/app/src/main/res/layout/activity_main.xml
@@ -1,17 +1,17 @@
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/drawer_layout"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:fitsSystemWindows="true"
+ tools:openDrawer="start">
+ android:layout_height="match_parent"/>
+ tools:context=".activity.LauncherActivity">
diff --git a/app/src/main/res/layout/app_bar_main.xml b/app/src/main/res/layout/app_bar_main.xml
index bc0c600..8d049a2 100644
--- a/app/src/main/res/layout/app_bar_main.xml
+++ b/app/src/main/res/layout/app_bar_main.xml
@@ -5,7 +5,7 @@
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
- tools:context=".actiity.MainActivity">
+ tools:context=".activity.MainActivity">
+ xmlns:app="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="match_parent"
+ android:background="@color/_eeeeee"
+ app:layout_behavior="@string/appbar_scrolling_view_behavior"
+ tools:context=".activity.MainActivity"
+ tools:showIn="@layout/app_bar_main">
+ android:layout_height="match_parent"
+ >
diff --git a/app/src/main/res/layout/item_index_content.xml b/app/src/main/res/layout/item_index_content.xml
index 5f237fc..4fdfc44 100644
--- a/app/src/main/res/layout/item_index_content.xml
+++ b/app/src/main/res/layout/item_index_content.xml
@@ -1,38 +1,57 @@
+ xmlns:fresco="http://schemas.android.com/apk/res-auto"
+ xmlns:tools="http://schemas.android.com/tools"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_marginBottom="5dp"
+ android:layout_marginTop="5dp"
+ android:background="@drawable/delector"
+ android:paddingBottom="10dp"
+ android:paddingLeft="15dp"
+ android:paddingRight="15dp"
+ android:paddingTop="10dp">
+
+ tools:src="@mipmap/ic_launcher"/>
+
+
+ tools:text="Combin"/>
+ tools:text="对序列的每一项都应用一个函数来变换发射的数据序列"/>
\ No newline at end of file
diff --git a/app/src/main/res/layout/item_nav_head.xml b/app/src/main/res/layout/item_nav_head.xml
index b51df60..3ad2c67 100644
--- a/app/src/main/res/layout/item_nav_head.xml
+++ b/app/src/main/res/layout/item_nav_head.xml
@@ -1,13 +1,16 @@
+ xmlns:tools="http://schemas.android.com/tools"
+ android:id="@+id/item_nav_head_v"
+ android:layout_width="match_parent"
+ android:layout_height="wrap_content"
+ android:background="@drawable/delector"
+ android:gravity="left"
+ android:paddingBottom="10dp"
+ android:paddingLeft="40dp"
+ android:paddingTop="10dp"
+ android:textSize="20sp"
+ tools:text="Combing">
\ No newline at end of file
diff --git a/app/src/main/res/layout/nav_header_main.xml b/app/src/main/res/layout/nav_header_main.xml
index eb611b4..ab317a6 100644
--- a/app/src/main/res/layout/nav_header_main.xml
+++ b/app/src/main/res/layout/nav_header_main.xml
@@ -11,28 +11,21 @@
android:layout_height="@dimen/nav_header_height"
android:background="@drawable/side_nav_bar"
android:orientation="vertical"
+ android:gravity="center|left"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
- android:paddingTop="@dimen/activity_vertical_margin"
- android:theme="@style/ThemeOverlay.AppCompat.Dark">
+ android:paddingTop="@dimen/activity_vertical_margin">
+ android:src="@mipmap/ic_launcher" />
-
-
-
+
+
+
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index 41501dc..20b0007 100644
Binary files a/app/src/main/res/mipmap-xhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index 5ce9cc5..2b254a5 100644
Binary files a/app/src/main/res/mipmap-xxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index 58fd727..f88538b 100644
Binary files a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png and b/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png differ
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 1e9624f..a0debe9 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -6,4 +6,6 @@
#66000000
#000000
+ #EEEEEE
+ #FFFFFF
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 3e7bd45..8291edf 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -12,4 +12,6 @@
GitHub
关于
分享
+ 更新
+ 评分
diff --git a/build.gradle b/build.gradle
index 9ba5972..c20bca1 100644
--- a/build.gradle
+++ b/build.gradle
@@ -5,7 +5,7 @@ buildscript {
jcenter()
}
dependencies {
- classpath 'com.android.tools.build:gradle:2.0.0-beta6'
+ classpath 'com.android.tools.build:gradle:2.2.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
diff --git a/qrcode/a b/qrcode/a
new file mode 100644
index 0000000..6a69f92
--- /dev/null
+++ b/qrcode/a
@@ -0,0 +1 @@
+f