diff --git a/Bitu/Base/build.gradle b/Bitu/Base/build.gradle
index 53a89f4e4bc0b708546781d243e9ecfee2df328a..b4b1ed0a38703ae1bfde9d8c28bf8296f169f5d0 100644
--- a/Bitu/Base/build.gradle
+++ b/Bitu/Base/build.gradle
@@ -10,8 +10,12 @@ android {
targetSdkVersion 25
versionCode 1
versionName "1.0"
-
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [ moduleName : project.getName() ]
+ }
+ }
}
@@ -31,6 +35,10 @@ dependencies {
compile 'com.android.support:appcompat-v7:25.1.0'
compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'
compile 'com.tencent.bugly:crashreport_upgrade:latest.release'
+ compile 'com.github.castorflex.smoothprogressbar:library:1.1.0'
+ compile 'com.github.castorflex.smoothprogressbar:library-circular:1.3.0'
+ compile 'com.alibaba:arouter-api:1.3.1'
+ annotationProcessor 'com.alibaba:arouter-compiler:1.1.4'
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
diff --git a/Bitu/app/src/main/res/anim/pocket_interpolator.xml b/Bitu/Base/src/main/res/anim/pocket_interpolator.xml
similarity index 100%
rename from Bitu/app/src/main/res/anim/pocket_interpolator.xml
rename to Bitu/Base/src/main/res/anim/pocket_interpolator.xml
diff --git a/Bitu/app/src/main/res/drawable-xxhdpi/market_kline_back.png b/Bitu/Base/src/main/res/drawable-xxhdpi/base_btn_back.png
similarity index 100%
rename from Bitu/app/src/main/res/drawable-xxhdpi/market_kline_back.png
rename to Bitu/Base/src/main/res/drawable-xxhdpi/base_btn_back.png
diff --git a/Bitu/Base/src/main/res/layout/base_activity_smart_tab.xml b/Bitu/Base/src/main/res/layout/base_activity_smart_tab.xml
index 2b6006e30a812184aa8acf9dfc382c596ff69159..ae439d4963ed13b2aac38c01402bda8990e96087 100644
--- a/Bitu/Base/src/main/res/layout/base_activity_smart_tab.xml
+++ b/Bitu/Base/src/main/res/layout/base_activity_smart_tab.xml
@@ -18,7 +18,7 @@
android:layout_height="46dp"
android:background="@color/c3C61A9"
android:paddingBottom="4dp"
- app:stl_customTabTextLayoutId="@layout/chart_tab_indicator"
+ app:stl_customTabTextLayoutId="@layout/base_tab_indicator"
app:stl_customTabTextViewId="@+id/tab_text"
app:stl_defaultTabTextAllCaps="false"
app:stl_defaultTabTextColor="@color/white"
diff --git a/Bitu/Base/src/main/res/layout/chart_tab_indicator.xml b/Bitu/Base/src/main/res/layout/base_tab_indicator.xml
similarity index 100%
rename from Bitu/Base/src/main/res/layout/chart_tab_indicator.xml
rename to Bitu/Base/src/main/res/layout/base_tab_indicator.xml
diff --git a/Bitu/app/src/main/res/values/colors_pb.xml b/Bitu/Base/src/main/res/values/colors_pb.xml
similarity index 100%
rename from Bitu/app/src/main/res/values/colors_pb.xml
rename to Bitu/Base/src/main/res/values/colors_pb.xml
diff --git a/Bitu/Base/src/main/res/values/styles.xml b/Bitu/Base/src/main/res/values/styles.xml
index 613367d39f49cc03a37669e058b50803062c8336..bea03ff3cea517027be652230e2d51d3a0a5970a 100644
--- a/Bitu/Base/src/main/res/values/styles.xml
+++ b/Bitu/Base/src/main/res/values/styles.xml
@@ -26,6 +26,58 @@
- 40dp
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Bitu/Trading/build.gradle b/Bitu/Trading/build.gradle
index 789518868c6f2e0aee4ad1146041f9d9c131077d..32bf60f5567df40f43901c4f720ce5f875b233f9 100644
--- a/Bitu/Trading/build.gradle
+++ b/Bitu/Trading/build.gradle
@@ -12,7 +12,11 @@ android {
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
-
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [ moduleName : project.getName() ]
+ }
+ }
}
buildTypes {
@@ -26,6 +30,7 @@ android {
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
+ annotationProcessor 'com.alibaba:arouter-compiler:1.1.4'
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
diff --git a/Bitu/Trading/src/main/java/bitu/trading/ui/BuyFragment.java b/Bitu/Trading/src/main/java/bitu/trading/ui/BuyFragment.java
new file mode 100644
index 0000000000000000000000000000000000000000..3ab24a70fe9b898566d9bda14d86c16ced6203ca
--- /dev/null
+++ b/Bitu/Trading/src/main/java/bitu/trading/ui/BuyFragment.java
@@ -0,0 +1,22 @@
+package bitu.trading.ui;
+
+
+import bitu.trading.R;
+
+/**
+ * 买入界面
+ * Created by longt on 2018/1/25.
+ */
+
+public class BuyFragment extends RefreshFragment {
+
+ @Override
+ protected void loadData() {
+
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.trading_fragment_buy;
+ }
+}
diff --git a/Bitu/Trading/src/main/java/bitu/trading/ui/EntrustmentFragment.java b/Bitu/Trading/src/main/java/bitu/trading/ui/EntrustmentFragment.java
new file mode 100644
index 0000000000000000000000000000000000000000..43df88b25cfa15aa94b3c2832ad6a722a6a8675e
--- /dev/null
+++ b/Bitu/Trading/src/main/java/bitu/trading/ui/EntrustmentFragment.java
@@ -0,0 +1,19 @@
+package bitu.trading.ui;
+
+
+import bitu.trading.R;
+import bitu.ui.BaseFragment;
+
+/**
+ * 我的委托
+ * Created by longt on 2018/1/25.
+ */
+
+public class EntrustmentFragment extends BaseFragment {
+
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.trading_fragment_entrust;
+ }
+}
diff --git a/Bitu/Trading/src/main/java/bitu/trading/ui/RecordFragment.java b/Bitu/Trading/src/main/java/bitu/trading/ui/RecordFragment.java
new file mode 100644
index 0000000000000000000000000000000000000000..83f7715b4eaf0a9d4f2e7b51714fe2e40c375e4c
--- /dev/null
+++ b/Bitu/Trading/src/main/java/bitu/trading/ui/RecordFragment.java
@@ -0,0 +1,19 @@
+package bitu.trading.ui;
+
+
+import bitu.trading.R;
+import bitu.ui.BaseFragment;
+
+/**
+ * 成交记录
+ * Created by longt on 2018/1/25.
+ */
+
+public class RecordFragment extends BaseFragment {
+
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.trading_fragment_record;
+ }
+}
diff --git a/Bitu/Trading/src/main/java/bitu/trading/ui/RefreshFragment.java b/Bitu/Trading/src/main/java/bitu/trading/ui/RefreshFragment.java
new file mode 100644
index 0000000000000000000000000000000000000000..1ad76109484412094891b0be8aaad53ff3a0df4a
--- /dev/null
+++ b/Bitu/Trading/src/main/java/bitu/trading/ui/RefreshFragment.java
@@ -0,0 +1,71 @@
+package bitu.trading.ui;
+
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.support.annotation.Nullable;
+
+import java.lang.ref.WeakReference;
+
+import bitu.ui.BaseFragment;
+
+/**
+ * Created by tomcat on 2017/10/25.
+ */
+
+public abstract class RefreshFragment extends BaseFragment {
+
+ private static final int REFRESH_INTERVAL = 2000;
+ private static final int MSG_REFRESH = 0;
+ private final RefreshHandler refreshHandler = new RefreshHandler(this);
+ private static class RefreshHandler extends Handler {
+ private final WeakReference fragment;
+
+ public RefreshHandler(RefreshFragment fragment) {
+ this.fragment = new WeakReference(fragment);
+ }
+
+ @Override
+ public void handleMessage(Message msg) {
+ if (fragment.get() == null) return;
+ fragment.get().loadData();
+ sendEmptyMessageDelayed(MSG_REFRESH, REFRESH_INTERVAL);
+ }
+ }
+
+
+ protected abstract void loadData();
+
+ protected void sendLoadDataMsg() {
+ refreshHandler.removeCallbacksAndMessages(null);
+ refreshHandler.sendEmptyMessage(MSG_REFRESH);
+ }
+
+ @Override
+ protected void onVisible() {
+ sendLoadDataMsg();
+ }
+
+ @Override
+ public void onActivityCreated(@Nullable Bundle savedInstanceState) {
+ super.onActivityCreated(savedInstanceState);
+ }
+
+ @Override
+ public void onDestroyView() {
+ super.onDestroyView();
+ refreshHandler.removeCallbacksAndMessages(null);
+ }
+
+ @Override
+ protected void onInvisible() {
+ refreshHandler.removeCallbacksAndMessages(null);
+ }
+
+ @Override
+ protected void lazyLoad() {
+ sendLoadDataMsg();
+ }
+
+
+}
diff --git a/Bitu/Trading/src/main/java/bitu/trading/ui/SellFragment.java b/Bitu/Trading/src/main/java/bitu/trading/ui/SellFragment.java
new file mode 100644
index 0000000000000000000000000000000000000000..145f4724467398fb8dcb283f7acf75ef72759301
--- /dev/null
+++ b/Bitu/Trading/src/main/java/bitu/trading/ui/SellFragment.java
@@ -0,0 +1,22 @@
+package bitu.trading.ui;
+
+
+import bitu.trading.R;
+
+/**
+ * 卖出界面
+ * Created by longt on 2018/1/25.
+ */
+
+public class SellFragment extends RefreshFragment {
+
+ @Override
+ protected void loadData() {
+
+ }
+
+ @Override
+ protected int getLayoutId() {
+ return R.layout.trading_fragment_buy;
+ }
+}
diff --git a/Bitu/Trading/src/main/java/bitu/trading/ui/TradingActivity.java b/Bitu/Trading/src/main/java/bitu/trading/ui/TradingActivity.java
index f3471af41b03157a7b817f8cbe220d0341d37b91..c89ab9b42704566e4e04525b9fe3f002df9b23f3 100644
--- a/Bitu/Trading/src/main/java/bitu/trading/ui/TradingActivity.java
+++ b/Bitu/Trading/src/main/java/bitu/trading/ui/TradingActivity.java
@@ -1,12 +1,29 @@
package bitu.trading.ui;
-import bitu.ui.BaseActivity;
+import com.alibaba.android.arouter.facade.annotation.Route;
+
+import bitu.trading.R;
+import bitu.ui.SmartTabActivity;
/**
+ * 交易模块首页
* Created by tomcat on 2018/1/25.
*/
+@Route(path = "/trading/entry")
+public class TradingActivity extends SmartTabActivity {
+
-public class TradingActivity extends BaseActivity {
+ @Override
+ protected int getLayoutId() {
+ return R.layout.trading_activity_main;
+ }
-
+ @Override
+ protected Tab[] getTabs() {
+ return new Tab[]{
+ new Tab(getString(R.string.trading_tab_buy), true, BuyFragment.class),
+ new Tab(getString(R.string.trading_tab_sell), false, SellFragment.class),
+ new Tab(getString(R.string.trading_tab_entrustment), false, EntrustmentFragment.class),
+ new Tab(getString(R.string.trading_tab_record), false, RecordFragment.class)};
+ }
}
diff --git a/Bitu/Trading/src/main/res/layout/trading_activity_main.xml b/Bitu/Trading/src/main/res/layout/trading_activity_main.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f90f72a46d8648917fa0b73d893ac8dd3b236e7d
--- /dev/null
+++ b/Bitu/Trading/src/main/res/layout/trading_activity_main.xml
@@ -0,0 +1,89 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Bitu/Trading/src/main/res/layout/trading_fragment_buy.xml b/Bitu/Trading/src/main/res/layout/trading_fragment_buy.xml
new file mode 100644
index 0000000000000000000000000000000000000000..908b08a4c5bbc7123d8fe7e417109efa79bdf347
--- /dev/null
+++ b/Bitu/Trading/src/main/res/layout/trading_fragment_buy.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Bitu/Trading/src/main/res/layout/trading_fragment_entrust.xml b/Bitu/Trading/src/main/res/layout/trading_fragment_entrust.xml
new file mode 100644
index 0000000000000000000000000000000000000000..908b08a4c5bbc7123d8fe7e417109efa79bdf347
--- /dev/null
+++ b/Bitu/Trading/src/main/res/layout/trading_fragment_entrust.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Bitu/Trading/src/main/res/layout/trading_fragment_record.xml b/Bitu/Trading/src/main/res/layout/trading_fragment_record.xml
new file mode 100644
index 0000000000000000000000000000000000000000..908b08a4c5bbc7123d8fe7e417109efa79bdf347
--- /dev/null
+++ b/Bitu/Trading/src/main/res/layout/trading_fragment_record.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Bitu/Trading/src/main/res/layout/trading_fragment_sell.xml b/Bitu/Trading/src/main/res/layout/trading_fragment_sell.xml
new file mode 100644
index 0000000000000000000000000000000000000000..908b08a4c5bbc7123d8fe7e417109efa79bdf347
--- /dev/null
+++ b/Bitu/Trading/src/main/res/layout/trading_fragment_sell.xml
@@ -0,0 +1,16 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/Bitu/Trading/src/main/res/layout/trading_tab_indicator.xml b/Bitu/Trading/src/main/res/layout/trading_tab_indicator.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8141377b84bdfc1988da7be498bc818c71aa5901
--- /dev/null
+++ b/Bitu/Trading/src/main/res/layout/trading_tab_indicator.xml
@@ -0,0 +1,17 @@
+
+
+
+
+
+
diff --git a/Bitu/Trading/src/main/res/values-zh-rCN/strings.xml b/Bitu/Trading/src/main/res/values-zh-rCN/strings.xml
new file mode 100644
index 0000000000000000000000000000000000000000..4c3aaf4848ecb536717c6d003ee9be4718d3066a
--- /dev/null
+++ b/Bitu/Trading/src/main/res/values-zh-rCN/strings.xml
@@ -0,0 +1,7 @@
+
+
+ 买入
+ 卖出
+ 我的委托
+ 成交记录
+
diff --git a/Bitu/Trading/src/main/res/values/strings.xml b/Bitu/Trading/src/main/res/values/strings.xml
index 722b4664e0acf8cff602f57008a412c1e3661ac9..dd09ca9fea93e0db01e2bb82e544db2be581309f 100644
--- a/Bitu/Trading/src/main/res/values/strings.xml
+++ b/Bitu/Trading/src/main/res/values/strings.xml
@@ -1,3 +1,6 @@
- Trading
+ Buy
+ Sell
+ Entrustment
+ Record
diff --git a/Bitu/app/build.gradle b/Bitu/app/build.gradle
index 10494be2d524a1f7fbabc63367c55d41c291c418..a74c25d842031690b3089e4da27270999ed8ec2e 100644
--- a/Bitu/app/build.gradle
+++ b/Bitu/app/build.gradle
@@ -28,6 +28,11 @@ android {
versionCode 36
versionName "v0.1.36"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
+ javaCompileOptions {
+ annotationProcessorOptions {
+ arguments = [ moduleName : project.getName() ]
+ }
+ }
}
buildTypes {
@@ -60,16 +65,16 @@ android {
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile project(path: ':Base')
+ compile project(path: ':Trading')
compile project(path: ':DataProvider')
compile project(path: ':StockChart')
compile project(path: ':MPChartLib')
compile 'com.android.support:design:25.1.0'
compile 'com.android.support:support-v4:25.1.0'
compile 'com.android.support:cardview-v7:25.1.0'
- compile 'com.github.castorflex.smoothprogressbar:library:1.1.0'
- compile 'com.github.castorflex.smoothprogressbar:library-circular:1.3.0'
compile 'com.android.support.constraint:constraint-layout:1.0.2'
compile 'com.google.zxing:core:3.3.0'
+ annotationProcessor 'com.alibaba:arouter-compiler:1.1.4'
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
diff --git a/Bitu/app/src/main/AndroidManifest.xml b/Bitu/app/src/main/AndroidManifest.xml
index cbb57896442b7ec5274358fedb42f9c934a8d83f..e8beccd67719d712ce9fb4a88679191ad8200caf 100644
--- a/Bitu/app/src/main/AndroidManifest.xml
+++ b/Bitu/app/src/main/AndroidManifest.xml
@@ -70,6 +70,10 @@
android:name=".ui.search.SearchActivity"
android:theme="@style/CustomTheme" />
+
+
\ No newline at end of file
diff --git a/Bitu/app/src/main/java/com/bitu/app/BituApp.java b/Bitu/app/src/main/java/com/bitu/app/BituApp.java
index 1f942cf6cb6ee3b95d996718f295436c866bb1ca..746dc2d370414e57c811428078cc6f0fb1811e62 100644
--- a/Bitu/app/src/main/java/com/bitu/app/BituApp.java
+++ b/Bitu/app/src/main/java/com/bitu/app/BituApp.java
@@ -14,6 +14,7 @@ import android.os.Looper;
import android.support.v4.content.LocalBroadcastManager;
import android.text.TextUtils;
+import com.alibaba.android.arouter.launcher.ARouter;
import com.bitu.BuildConfig;
import com.bitu.ui.TestActivity;
import com.bitu.ui.connect.ConnectStateActivity;
@@ -73,6 +74,12 @@ public class BituApp extends Application {
}
private void init() {
+ if (isDebug()) { // 这两行必须写在init之前,否则这些配置在init过程中将无效
+ ARouter.openLog(); // 打印日志
+ ARouter.openDebug(); // 开启调试模式(如果在InstantRun模式下运行,必须开启调试模式!线上版本需要关闭,否则有安全风险)
+ }
+ ARouter.init(this); // 尽可能早,推荐在Application中初始化
+
Constants.SERVER_URL = BuildConfig.SERVER_HOST;
CrashHandler.getInstance().init();
if (TextUtils.equals("release", BuildConfig.BUILD_TYPE)) {
@@ -91,6 +98,10 @@ public class BituApp extends Application {
bituServer.initConnectCallback(listener);
}
+ private boolean isDebug() {
+ return TextUtils.equals("debug", BuildConfig.BUILD_TYPE);
+ }
+
private void registerReceiver() {
IntentFilter intentFilter = new IntentFilter();
diff --git a/Bitu/app/src/main/java/com/bitu/ui/chart/KLineActivity.java b/Bitu/app/src/main/java/com/bitu/ui/chart/KLineActivity.java
index d69beea3a4df2e602bb3ac1118fe7ee78010bdda..cdfa6e66ea825742564183b2c51a716a4986829b 100644
--- a/Bitu/app/src/main/java/com/bitu/ui/chart/KLineActivity.java
+++ b/Bitu/app/src/main/java/com/bitu/ui/chart/KLineActivity.java
@@ -11,6 +11,7 @@ import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
+import com.alibaba.android.arouter.launcher.ARouter;
import com.bitu.R;
import com.bitu.app.BituApp;
import bitu.controller.ExchangeRateController;
@@ -380,6 +381,15 @@ public class KLineActivity extends SmartTabActivity {
////////////////trade////////////////////
btnTrade = findViewById(R.id.btn_trade);
+ btnTrade.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View view) {
+ ARouter.getInstance().build("/trading/entry")
+ .withSerializable("coin", coin)
+ .withSerializable("exchange", exchange)
+ .navigation();
+ }
+ });
/////////////////////////////////////////
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
diff --git a/Bitu/app/src/main/res/layout/chart_activity_kline.xml b/Bitu/app/src/main/res/layout/chart_activity_kline.xml
index 740694e9a05640d684cd8d4227d917eca2674cd5..f4ba54678fa046a4f2aed192d451e8f2e4470991 100644
--- a/Bitu/app/src/main/res/layout/chart_activity_kline.xml
+++ b/Bitu/app/src/main/res/layout/chart_activity_kline.xml
@@ -24,7 +24,7 @@
android:layout_marginEnd="18.3dp"
android:layout_marginStart="11.6dp"
android:contentDescription="@null"
- android:src="@drawable/market_kline_back" />
+ android:src="@drawable/base_btn_back" />
@@ -125,7 +125,7 @@
android:layout_width="match_parent"
android:layout_height="46dp"
android:background="@color/c3C61A9"
- app:stl_customTabTextLayoutId="@layout/chart_tab_indicator"
+ app:stl_customTabTextLayoutId="@layout/base_tab_indicator"
app:stl_customTabTextViewId="@+id/tab_text"
app:stl_defaultTabTextAllCaps="false"
app:stl_defaultTabTextColor="@color/white"
diff --git a/Bitu/app/src/main/res/values/styles.xml b/Bitu/app/src/main/res/values/styles.xml
index 49e69a1932de273c6d573a605d0b83315531aca0..bae9317fc4f105a7b8d9fa5d95a3d04053cd7d69 100644
--- a/Bitu/app/src/main/res/values/styles.xml
+++ b/Bitu/app/src/main/res/values/styles.xml
@@ -34,58 +34,6 @@
- 15sp
-
-
-
-
-
-
-
-
-
-
-
-
-