Skip to content

Commit a79b85d

Browse files
committed
实现电控查询
1 parent f575f50 commit a79b85d

23 files changed

+365
-78
lines changed

app/src/main/AndroidManifest.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,7 @@
4343
<activity android:name=".activity.AboutActivity" />
4444
<activity android:name=".activity.CardHistoryActivity" />
4545
<activity android:name=".activity.SearchBookStoreActivity" />
46-
<!--<activity android:name=".wxapi.WXEntryActivity1" android:exported="true"/>-->
46+
<activity android:name=".activity.ElectricActivity" />
4747
<activity android:name=".activity.DrcomActivity" android:launchMode="singleTask"/>
4848
<service
4949
android:name=".util.drcom.DrcomService"

app/src/main/java/com/guang/app/AppConfig.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ public static class Url {
5353

5454
public static final String getCurrentCash = index + "card/current-cash";
5555
public static final String cardConsumeToday = index + "card/consume-today";
56+
public static final String getElectric = index + "card/get-electric";
5657

5758
public static final String feedback = index + "work/feedback";
5859
public static final String updateURL = index + "work/check-app-update";
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
package com.guang.app.activity;
2+
3+
import android.os.Bundle;
4+
import android.support.v7.widget.LinearLayoutManager;
5+
import android.support.v7.widget.RecyclerView;
6+
import android.text.TextUtils;
7+
import android.view.ViewGroup;
8+
import android.widget.EditText;
9+
import android.widget.Toast;
10+
11+
import com.guang.app.R;
12+
import com.guang.app.adapter.ElectricAdapter;
13+
import com.guang.app.api.CardApiFactory;
14+
import com.guang.app.model.Electric;
15+
16+
import java.util.List;
17+
18+
import butterknife.Bind;
19+
import butterknife.OnClick;
20+
import io.reactivex.Observer;
21+
import io.reactivex.disposables.Disposable;
22+
23+
24+
/**
25+
* 本部部分宿舍电控查询
26+
* Created by xiaoguang on 2017/9/9.
27+
*/
28+
public class ElectricActivity extends QueryActivity {
29+
private static CardApiFactory factory = CardApiFactory.getInstance();
30+
31+
@Bind(R.id.common_recycleView)
32+
RecyclerView mRecyclerView;
33+
@Bind(R.id.ed_electric_room)
34+
EditText edRoom;
35+
@Bind(R.id.ed_electric_building)
36+
EditText edBuilding;
37+
38+
private ElectricAdapter mAdapter;
39+
40+
@Override
41+
public void onCreate(Bundle savedInstanceState) {
42+
super.onCreate(savedInstanceState);
43+
super.addTitleBackBtn();
44+
setTitle(R.string.title_query_electric);
45+
setContentView(R.layout.electric);
46+
initAdapter();
47+
}
48+
@OnClick(R.id.btn_electric_query) void clickQueryElectric() {
49+
String room = edRoom.getText().toString().trim();
50+
String building = edBuilding.getText().toString().trim();
51+
if(! (TextUtils.isEmpty(room) || TextUtils.isEmpty(building)) ) {
52+
realQueryElectric(building, room);
53+
}
54+
}
55+
56+
@Override
57+
protected void loadData() {
58+
}
59+
60+
private void realQueryElectric(String building,String room) {
61+
factory.getElectric(building, room, new Observer<List<Electric>>() {
62+
@Override
63+
public void onSubscribe(Disposable d) {
64+
startLoadingProgess();
65+
}
66+
67+
@Override
68+
public void onNext(List<Electric> value) {
69+
if (value.size() == 0) {
70+
Toast.makeText(ElectricActivity.this, "没有记录喔", Toast.LENGTH_SHORT).show();
71+
return;
72+
}
73+
mAdapter.cleanData();
74+
mAdapter.addData(value);
75+
mAdapter.notifyDataSetChanged();
76+
}
77+
78+
@Override
79+
public void onError(Throwable e) {
80+
Toast.makeText(ElectricActivity.this, e.getMessage(), Toast.LENGTH_SHORT).show();
81+
stopLoadingProgess();
82+
}
83+
84+
@Override
85+
public void onComplete() {
86+
stopLoadingProgess();
87+
mAdapter.isUseEmpty(true);
88+
}
89+
});
90+
}
91+
92+
private void initAdapter() {
93+
mAdapter = new ElectricAdapter(R.layout.electric_item);
94+
mAdapter.openLoadAnimation();
95+
mAdapter.setEmptyView(R.layout.layout_empty_data, (ViewGroup) mRecyclerView.getParent());
96+
mAdapter.isUseEmpty(false); //避免一开始就出现空页面
97+
mRecyclerView.setAdapter(mAdapter);
98+
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
99+
}
100+
}

app/src/main/java/com/guang/app/activity/XiaoLiActivity.java

Lines changed: 2 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,15 @@
1919
import okhttp3.ResponseBody;
2020

2121
/**
22-
* 校历、排课表
22+
* 校历、 排课表(于v1.3.2删除)
2323
* Created by xiaoguang on 2017/2/18.
2424
*/
2525
public class XiaoLiActivity extends QueryActivity {
2626
@Bind(R.id.xiaoli_zoom_image_view)
2727
PinchImageView zoomImageView;
28-
// private static JwcApiFactory factory = JwcApiFactory.getInstance();
2928
private static WorkApiFactory workApiFactory = WorkApiFactory.getInstance();
3029

3130
public static final String doWhat = "what";
32-
public static final int doTimeTable = 0;
3331
public static final int doXiaoLi = 1;
3432
Bitmap mCurBitmap;
3533
int doFrom; //当前做啥
@@ -51,7 +49,7 @@ public boolean onLongClick(View v) {
5149
});
5250
}
5351

54-
//显示校历或者排课表
52+
//显示校历
5553
@Override
5654
protected void loadData() {
5755
startLoadingProgess();
@@ -78,12 +76,6 @@ public void onComplete() {
7876
}
7977
});
8078
break;
81-
case XiaoLiActivity.doTimeTable:
82-
getSupportActionBar().setSubtitle("可在课表主页右上角 添加到周日一列");
83-
mCurBitmap = BitmapFactory.decodeResource(getResources(), R.mipmap.time_table);
84-
zoomImageView.setImageBitmap(mCurBitmap);
85-
stopLoadingProgess();
86-
break;
8779
}
8880
}
8981
@Override
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
package com.guang.app.adapter;
2+
3+
import com.chad.library.adapter.base.BaseQuickAdapter;
4+
import com.chad.library.adapter.base.BaseViewHolder;
5+
import com.guang.app.R;
6+
import com.guang.app.model.Electric;
7+
8+
/**
9+
* 电控
10+
*/
11+
public class ElectricAdapter extends BaseQuickAdapter<Electric, BaseViewHolder> {
12+
13+
public ElectricAdapter(int layoutResId) {
14+
super(layoutResId);
15+
}
16+
17+
@Override
18+
protected void convert(final BaseViewHolder viewHolder, Electric item) {
19+
viewHolder.setText(R.id.tv_electric_time,item.getTime())
20+
.setText(R.id.tv_electric_electric,""+item.getElectric() + " °")
21+
.setText(R.id.tv_electric_money,""+item.getMoney()+" 元")
22+
;
23+
}
24+
25+
public void cleanData(){
26+
super.mData.clear();
27+
}
28+
}

app/src/main/java/com/guang/app/api/CardApi.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.guang.app.AppConfig;
44
import com.guang.app.model.CardBasic;
55
import com.guang.app.model.CardConsumeItem;
6+
import com.guang.app.model.Electric;
67
import com.guang.app.model.HttpResult;
78

89
import java.util.List;
@@ -24,4 +25,8 @@ public interface CardApi {
2425
@GET(AppConfig.Url.cardConsumeToday)
2526
Observable<HttpResult< List<CardConsumeItem> >> getCardConsumeToday(@Query("cardNum") String cardNum);
2627

28+
//电控信息
29+
@GET(AppConfig.Url.getElectric)
30+
Observable<HttpResult< List<Electric> >> getElectric(@Query("building") String building, @Query("room") String room);
31+
2732
}

app/src/main/java/com/guang/app/api/CardApiFactory.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.guang.app.AppConfig;
44
import com.guang.app.model.CardBasic;
55
import com.guang.app.model.CardConsumeItem;
6+
import com.guang.app.model.Electric;
67

78
import java.util.List;
89

@@ -40,4 +41,11 @@ public void getCardConsumeToday(String cardNum,Observer<List<CardConsumeItem>>
4041
.subscribeOn(Schedulers.io())
4142
.subscribe(sub);
4243
}
44+
public void getElectric(String building,String room,Observer<List<Electric>> sub) {
45+
ApiUtils.getApi(AppConfig.idsPwd).create(CardApi.class).getElectric(building,room)
46+
.map(new HttpResultFunc<List<Electric>>())
47+
.observeOn(AndroidSchedulers.mainThread())
48+
.subscribeOn(Schedulers.io())
49+
.subscribe(sub);
50+
}
4351
}

app/src/main/java/com/guang/app/fragment/FeatureFragment.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import com.guang.app.activity.BookActivity;
1313
import com.guang.app.activity.CetActivity;
1414
import com.guang.app.activity.DrcomActivity;
15+
import com.guang.app.activity.ElectricActivity;
1516
import com.guang.app.activity.FewSztzActivity;
1617
import com.guang.app.activity.MapActivity;
1718
import com.guang.app.activity.ScoreActivity;
@@ -71,9 +72,8 @@ public View onCreateView(LayoutInflater inflater, ViewGroup container,
7172
intent.putExtra(XiaoLiActivity.doWhat,XiaoLiActivity.doXiaoLi);
7273
startActivity(intent);
7374
}
74-
@OnClick(R.id.menu_timeTable) void queryTimeTable() {
75-
Intent intent = new Intent(getActivity(), XiaoLiActivity.class);
76-
intent.putExtra(XiaoLiActivity.doWhat,XiaoLiActivity.doTimeTable);
75+
@OnClick(R.id.menu_electric) void queryElectric() {
76+
Intent intent = new Intent(getActivity(), ElectricActivity.class);
7777
startActivity(intent);
7878
}
7979
@OnClick(R.id.menu_map) void queryMap() {
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
package com.guang.app.model;
2+
3+
/**
4+
* 部分宿舍楼电控信息
5+
* Created by xiaoguang on 2017/9/9.
6+
*/
7+
8+
public class Electric {
9+
10+
/**
11+
* electric : 5.0 剩余电量
12+
* money : 3.24 剩余金额
13+
* time : 2017-09-02 10:00:00
14+
*/
15+
16+
private String electric;
17+
private String money;
18+
private String time;
19+
20+
public String getElectric() {
21+
return electric;
22+
}
23+
24+
public void setElectric(String electric) {
25+
this.electric = electric;
26+
}
27+
28+
public String getMoney() {
29+
return money;
30+
}
31+
32+
public void setMoney(String money) {
33+
this.money = money;
34+
}
35+
36+
public String getTime() {
37+
return time;
38+
}
39+
40+
public void setTime(String time) {
41+
this.time = time;
42+
}
43+
}
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="utf-8"?>
22

33
<selector xmlns:android="http://schemas.android.com/apk/res/android">
4-
<item android:state_pressed="true" android:drawable="@mipmap/icon_arrange_class_on" />
5-
<item android:drawable="@mipmap/icon_arrange_class" />
4+
<item android:state_pressed="true" android:drawable="@mipmap/icon_electric_on" />
5+
<item android:drawable="@mipmap/icon_electric" />
66
</selector>

0 commit comments

Comments
 (0)