Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
EBike-Administer-Tool
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
倪力烽
EBike-Administer-Tool
Commits
1977857b
Commit
1977857b
authored
Jun 13, 2017
by
倪力烽
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1. 调入车辆、调出车辆接口测试完成
2. 模糊搜索尚未完成 3. EditText焦点变化还有问题 4. 该部分代码架构还需优化
parent
ecb1f5eb
Hide whitespace changes
Inline
Side-by-side
Showing
47 changed files
with
1773 additions
and
229 deletions
+1773
-229
app/src/main/AndroidManifest.xml
+15
-11
app/src/main/java/com/google/zxing/client/android/CaptureActivity.java
+1
-1
app/src/main/java/com/senthink/ebike_administrer_tool/MainActivity.java
+29
-22
app/src/main/java/com/senthink/ebike_administrer_tool/SearchParkActivity.java
+174
-0
app/src/main/java/com/senthink/ebike_administrer_tool/adapter/DispatchInAdapter.java
+6
-3
app/src/main/java/com/senthink/ebike_administrer_tool/adapter/DispatchOutAdapter.java
+7
-8
app/src/main/java/com/senthink/ebike_administrer_tool/adapter/SearchParkAdapter.java
+182
-0
app/src/main/java/com/senthink/ebike_administrer_tool/asynchttp/AsyncHttp.java
+57
-0
app/src/main/java/com/senthink/ebike_administrer_tool/bean/dispatch/DispatchCarInfo.java
+38
-0
app/src/main/java/com/senthink/ebike_administrer_tool/bean/dispatch/DispatchIn.java
+48
-5
app/src/main/java/com/senthink/ebike_administrer_tool/bean/dispatch/Dispatchout.java
+0
-29
app/src/main/java/com/senthink/ebike_administrer_tool/bean/dispatch/SearchParkInfo.java
+34
-0
app/src/main/java/com/senthink/ebike_administrer_tool/common/CommonUrl.java
+10
-0
app/src/main/java/com/senthink/ebike_administrer_tool/fragment/DispatchFragment.java
+45
-4
app/src/main/java/com/senthink/ebike_administrer_tool/fragment/DispatchInFragment.java
+115
-10
app/src/main/java/com/senthink/ebike_administrer_tool/fragment/DispatchOutFragment.java
+69
-21
app/src/main/java/com/senthink/ebike_administrer_tool/fragment/MyInformationFragment.java
+35
-6
app/src/main/java/com/senthink/ebike_administrer_tool/model/DispatchInModel.java
+18
-0
app/src/main/java/com/senthink/ebike_administrer_tool/model/DispatchModel.java
+4
-4
app/src/main/java/com/senthink/ebike_administrer_tool/model/DispatchOutModel.java
+16
-0
app/src/main/java/com/senthink/ebike_administrer_tool/model/callback/dispatch/DispatchCallback.java
+5
-3
app/src/main/java/com/senthink/ebike_administrer_tool/model/callback/dispatch/DispatchInSearchCallback.java
+13
-0
app/src/main/java/com/senthink/ebike_administrer_tool/model/impl/DispatchOutModelImpl.java
+0
-24
app/src/main/java/com/senthink/ebike_administrer_tool/model/impl/LoginModelImpl.java
+0
-12
app/src/main/java/com/senthink/ebike_administrer_tool/model/impl/UserInfoModelImpl.java
+2
-1
app/src/main/java/com/senthink/ebike_administrer_tool/model/impl/dispatchImpl/DispatchInModelImpl.java
+125
-0
app/src/main/java/com/senthink/ebike_administrer_tool/model/impl/dispatchImpl/DispatchOutModelImpl.java
+117
-0
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/DIspatchPresenter.java
+5
-4
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/DispatchInPresenter.java
+17
-0
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/DispatchOutPresenter.java
+15
-0
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/impl/DispatchInPresenterImpl.java
+80
-0
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/impl/DispatchOutPresenterImpl.java
+22
-19
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/impl/MyInforPresenterImpl.java
+1
-1
app/src/main/java/com/senthink/ebike_administrer_tool/view/IDispatchFragment.java
+7
-1
app/src/main/java/com/senthink/ebike_administrer_tool/widget/ClearEditText.java
+155
-0
app/src/main/res/drawable/success_dialog.xml
+9
-0
app/src/main/res/layout/fragment_dispatch.xml
+38
-1
app/src/main/res/layout/fragment_dispatch_in.xml
+12
-3
app/src/main/res/layout/fragment_handle_issue.xml
+37
-0
app/src/main/res/layout/fragment_me.xml
+37
-0
app/src/main/res/layout/fragment_replace_battery.xml
+37
-0
app/src/main/res/layout/fragment_safeguard.xml
+37
-0
app/src/main/res/layout/item_search_park_info.xml
+15
-0
app/src/main/res/layout/layout_dialog_success.xml
+24
-0
app/src/main/res/layout/layout_main.xml
+0
-36
app/src/main/res/layout/layout_search_park.xml
+57
-0
app/src/main/res/values/strings.xml
+3
-0
No files found.
app/src/main/AndroidManifest.xml
View file @
1977857b
...
@@ -22,20 +22,21 @@
...
@@ -22,20 +22,21 @@
android:roundIcon=
"@mipmap/ic_launcher_round"
android:roundIcon=
"@mipmap/ic_launcher_round"
android:supportsRtl=
"true"
android:supportsRtl=
"true"
android:theme=
"@style/AppTheme"
>
android:theme=
"@style/AppTheme"
>
<
!--<activity android:name=".LoginActivity" >--
>
<
activity
android:name=
".LoginActivity"
>
<
!--<intent-filter>--
>
<
intent-filter
>
<
!--<action android:name="android.intent.action.MAIN" />--
>
<
action
android:name=
"android.intent.action.MAIN"
/
>
<
!--<category android:name="android.intent.category.LAUNCHER" />--
>
<
category
android:name=
"android.intent.category.LAUNCHER"
/
>
<
!--</intent-filter>--
>
<
/intent-filter
>
<
!--</activity>--
>
<
/activity
>
<activity
android:name=
".MainActivity"
<activity
android:name=
".MainActivity"
android:launchMode=
"singleTop"
>
android:launchMode=
"singleTop"
<intent-filter>
android:windowSoftInputMode=
"adjustNothing"
>
<action
android:name=
"android.intent.action.MAIN"
/>
<!--<intent-filter>-->
<!--<action android:name="android.intent.action.MAIN" />-->
<
category
android:name=
"android.intent.category.LAUNCHER"
/
>
<
!--<category android:name="android.intent.category.LAUNCHER" />--
>
<
/intent-filter
>
<
!--</intent-filter>--
>
</activity>
</activity>
<activity
<activity
...
@@ -49,6 +50,8 @@
...
@@ -49,6 +50,8 @@
<category
android:name=
"android.intent.category.DEFAULT"
/>
<category
android:name=
"android.intent.category.DEFAULT"
/>
</intent-filter>
</intent-filter>
</activity>
</activity>
<activity
android:name=
".SearchParkActivity"
android:launchMode=
"singleTop"
/>
</application>
</application>
</manifest>
</manifest>
\ No newline at end of file
app/src/main/java/com/google/zxing/client/android/CaptureActivity.java
View file @
1977857b
...
@@ -429,7 +429,7 @@ public final class CaptureActivity extends Activity implements
...
@@ -429,7 +429,7 @@ public final class CaptureActivity extends Activity implements
// historyManager.addHistoryItem(rawResult, resultHandler);
// historyManager.addHistoryItem(rawResult, resultHandler);
// Then not from history, so beep/vibrate and we have an image to
// Then not from history, so beep/vibrate and we have an image to
// draw on
// draw on
beepManager
.
playBeepSoundAndVibrate
();
//
beepManager.playBeepSoundAndVibrate();
// drawResultPoints(barcode, scaleFactor, rawResult);
// drawResultPoints(barcode, scaleFactor, rawResult);
Toast
.
makeText
(
this
,
"扫码成功"
,
Toast
.
LENGTH_SHORT
).
show
();
Toast
.
makeText
(
this
,
"扫码成功"
,
Toast
.
LENGTH_SHORT
).
show
();
...
...
app/src/main/java/com/senthink/ebike_administrer_tool/MainActivity.java
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
;
package
com
.
senthink
.
ebike_administrer_tool
;
import
android.content.Context
;
import
android.content.SharedPreferences
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.Fragment
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.support.design.widget.TabLayout
;
import
android.support.design.widget.TabLayout
;
...
@@ -52,8 +54,8 @@ public class MainActivity extends BaseActivity {
...
@@ -52,8 +54,8 @@ public class MainActivity extends BaseActivity {
TabLayout
mTabLayout
;
TabLayout
mTabLayout
;
@BindView
(
R
.
id
.
viewpager
)
@BindView
(
R
.
id
.
viewpager
)
ViewPager
mViewPager
;
ViewPager
mViewPager
;
@BindView
(
R
.
id
.
main_toolbar
)
//
@BindView(R.id.main_toolbar)
Toolbar
mToolbar
;
//
Toolbar mToolbar;
private
TextView
mExtraTv
;
private
TextView
mExtraTv
;
private
MyViewPagerAdapter
viewPagerAdapter
;
private
MyViewPagerAdapter
viewPagerAdapter
;
...
@@ -61,7 +63,6 @@ public class MainActivity extends BaseActivity {
...
@@ -61,7 +63,6 @@ public class MainActivity extends BaseActivity {
public
void
onCreate
(
Bundle
savedInstanceState
)
{
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
layout_main
);
setContentView
(
R
.
layout
.
layout_main
);
// ButterKnife.bind(this);
initViews
();
initViews
();
}
}
...
@@ -81,7 +82,7 @@ public class MainActivity extends BaseActivity {
...
@@ -81,7 +82,7 @@ public class MainActivity extends BaseActivity {
@Override
@Override
public
void
onPageSelected
(
int
position
)
{
public
void
onPageSelected
(
int
position
)
{
Fragment
f
=
TAB_FRAGMENT
[
position
];
Fragment
f
=
TAB_FRAGMENT
[
position
];
setExtraText
(
f
);
//
setExtraText(f);
}
}
@Override
@Override
...
@@ -97,24 +98,24 @@ public class MainActivity extends BaseActivity {
...
@@ -97,24 +98,24 @@ public class MainActivity extends BaseActivity {
}
}
});
});
mTabLayout
.
setOnTabSelectedListener
(
new
TabLayout
.
ViewPagerOnTabSelectedListener
(
mViewPager
));
mTabLayout
.
setOnTabSelectedListener
(
new
TabLayout
.
ViewPagerOnTabSelectedListener
(
mViewPager
));
mToolbar
=
(
Toolbar
)
findViewById
(
R
.
id
.
main_toolbar
);
//
mToolbar = (Toolbar) findViewById(R.id.main_toolbar);
setSupportActionBar
(
mToolbar
);
//
setSupportActionBar(mToolbar);
mExtraTv
=
(
TextView
)
mToolbar
.
findViewById
(
R
.
id
.
tv_extra_text
);
//
mExtraTv = (TextView) mToolbar.findViewById(R.id.tv_extra_text);
mExtraTv
.
setText
(
getString
(
R
.
string
.
list
));
//
mExtraTv.setText(getString(R.string.list));
mExtraTv
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
//
mExtraTv.setOnClickListener(new View.OnClickListener() {
@Override
//
@Override
public
void
onClick
(
View
v
)
{
//
public void onClick(View v) {
String
text
=
mExtraTv
.
getText
().
toString
();
//
String text = mExtraTv.getText().toString();
if
(
text
.
equals
(
getString
(
R
.
string
.
list
)))
{
//
if (text.equals(getString(R.string.list))) {
// 如果是显示的列表,则执行
//
// 如果是显示的列表,则执行
Log
.
i
(
TAG
,
"onClick: list"
);
//
Log.i(TAG, "onClick: list" );
}
else
if
(
text
.
equals
(
getString
(
R
.
string
.
submit
)))
{
//
}else if (text.equals(getString(R.string.submit))) {
//
}
else
if
(
text
.
equals
(
getString
(
R
.
string
.
logout
)))
{
//
}else if (text.equals(getString(R.string.logout))) {
finish
();
//
finish();
}
//
}
}
//
}
});
//
});
// Log.i(TAG, "initViews: " + mToolbar.getChildCount());
// Log.i(TAG, "initViews: " + mToolbar.getChildCount());
}
}
...
@@ -187,4 +188,10 @@ public class MainActivity extends BaseActivity {
...
@@ -187,4 +188,10 @@ public class MainActivity extends BaseActivity {
super
.
onDestroy
();
super
.
onDestroy
();
((
MyApplication
)
UIUtils
.
getContext
()).
removeActivity
(
this
);
((
MyApplication
)
UIUtils
.
getContext
()).
removeActivity
(
this
);
}
}
public
String
getToken
()
{
SharedPreferences
sharedPreferences
=
getSharedPreferences
(
"loginUser"
,
Context
.
MODE_PRIVATE
);
String
token
=
sharedPreferences
.
getString
(
"token"
,
null
);
return
token
;
}
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/SearchParkActivity.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
;
import
android.content.Context
;
import
android.content.Intent
;
import
android.content.SharedPreferences
;
import
android.os.Bundle
;
import
android.os.PersistableBundle
;
import
android.text.Editable
;
import
android.text.TextWatcher
;
import
android.util.Log
;
import
android.view.View
;
import
android.widget.ArrayAdapter
;
import
android.widget.ListView
;
import
android.widget.TextView
;
import
com.senthink.ebike_administrer_tool.adapter.SearchParkAdapter
;
import
com.senthink.ebike_administrer_tool.asynchttp.AsyncHttp
;
import
com.senthink.ebike_administrer_tool.asynchttp.HttpCallback
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchIn
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.SearchParkInfo
;
import
com.senthink.ebike_administrer_tool.common.CommonUrl
;
import
com.senthink.ebike_administrer_tool.widget.ClearEditText
;
import
org.json.JSONArray
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/13
*/
public
class
SearchParkActivity
extends
BaseActivity
{
private
ClearEditText
et_search
;
private
ListView
user_list
;
private
TextView
mCancelTv
;
private
String
[]
data
;
private
ArrayAdapter
<
String
>
arrayAdapter
;
private
List
<
SearchParkInfo
>
mDatas
=
new
ArrayList
<>();
private
SearchParkAdapter
searchParkAdapter
;
AsyncHttp
http
;
String
token
;
int
userId
;
@Override
public
void
onCreate
(
Bundle
savedInstanceState
)
{
super
.
onCreate
(
savedInstanceState
);
setContentView
(
R
.
layout
.
layout_search_park
);
et_search
=
(
ClearEditText
)
findViewById
(
R
.
id
.
et_input_parkname
);
user_list
=
(
ListView
)
findViewById
(
R
.
id
.
user_list
);
mCancelTv
=
(
TextView
)
findViewById
(
R
.
id
.
tv_cancel
);
searchParkAdapter
=
new
SearchParkAdapter
(
SearchParkActivity
.
this
,
mDatas
);
http
=
new
AsyncHttp
(
this
);
getInfo
();
user_list
.
setAdapter
(
searchParkAdapter
);
et_search
.
setOnFocusChangeListener
(
new
View
.
OnFocusChangeListener
()
{
@Override
public
void
onFocusChange
(
View
v
,
boolean
hasFocus
)
{
// user_list.setVisibility(View.VISIBLE);
}
});
mCancelTv
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
v
)
{
setResult
(
1001
);
finish
();
}
});
initData
();
intiEditView
();
}
private
void
intiEditView
()
{
et_search
.
addTextChangedListener
(
new
TextWatcher
()
{
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
onTextChanged
(
CharSequence
s
,
int
start
,
int
before
,
int
count
)
{
// if (s.length() >= 3) {
searchParkAdapter
.
getFilter
().
filter
(
s
);
JSONObject
obj
=
new
JSONObject
();
try
{
obj
.
put
(
"search"
,
s
);
obj
.
put
(
"userId"
,
342
);
http
.
PostHttpClient
(
CommonUrl
.
SEARCH_PARK_INFO
,
token
,
obj
,
new
HttpCallback
()
{
@Override
public
void
HttpCallbackResult
(
int
code
,
JSONObject
response
)
{
try
{
String
reponseCode
=
response
.
getString
(
"code"
);
Log
.
i
(
TAG
,
"HttpCallbackResult: "
+
reponseCode
);
Log
.
i
(
TAG
,
"HttpCallbackResult: "
+
code
);
if
(
reponseCode
.
equals
(
"8001"
))
{
JSONArray
array
=
response
.
getJSONArray
(
"data"
);
for
(
int
i
=
0
;
i
<
array
.
length
();
i
++)
{
JSONObject
obj
=
array
.
getJSONObject
(
i
);
int
id
=
obj
.
getInt
(
"id"
);
String
parkingName
=
obj
.
getString
(
"parkingName"
);
String
parkingCode
=
obj
.
getString
(
"parkingCode"
);
int
totalCarDigit
=
obj
.
getInt
(
"totalCarDigit"
);
int
reserveCarDigit
=
obj
.
getInt
(
"reserveCarDigit"
);
DispatchIn
in
=
new
DispatchIn
(
id
,
parkingName
,
parkingCode
,
totalCarDigit
,
reserveCarDigit
);
Log
.
i
(
TAG
,
"id: "
+
in
.
getCarId
());
Log
.
i
(
TAG
,
"parkingName: "
+
in
.
getParkingNmae
());
Log
.
i
(
TAG
,
"parkingCode: "
+
in
.
getParkingCode
());
Log
.
i
(
TAG
,
"totalCarDigit: "
+
in
.
getTotalCarDigit
());
Log
.
i
(
TAG
,
"reserveCarDigit: "
+
in
.
getReserveCarDigit
());
}
}
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
}
}
@Override
public
void
HttpCallbackResult
(
int
code
,
String
response
)
{
}
});
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
}
}
// }
@Override
public
void
afterTextChanged
(
Editable
s
)
{
}
});
}
public
void
initData
()
{
data
=
new
String
[]{
"你好啊"
,
"我会懂事"
,
"啊大家看好"
,
"手机的客户"
,
"额外人"
,
"阿斯顿"
,
"大家开心"
,
"当年金额刘爽"
,
"阿斯顿接口和"
};
// SearchParkInfo user1 = new SearchParkInfo("你好啊");
// mDatas.add(user1);
// SearchParkInfo user2 = new SearchParkInfo( "我会懂事");
// mDatas.add(user2);
// SearchParkInfo user3 = new SearchParkInfo("啊大家看好");
// mDatas.add(user3);
// SearchParkInfo user4 = new SearchParkInfo("手机的客户");
// mDatas.add(user4);
// SearchParkInfo user5 = new SearchParkInfo("额外人");
// mDatas.add(user5);
// SearchParkInfo user6 = new SearchParkInfo("阿斯顿");
// mDatas.add(user6);
// SearchParkInfo user7 = new SearchParkInfo("大家开心");
// mDatas.add(user7);
// SearchParkInfo user8 = new SearchParkInfo("当年金额刘爽");
// mDatas.add(user8);
// SearchParkInfo user9 = new SearchParkInfo("阿斯顿接口和");
// mDatas.add(user9);
// SearchParkInfo user10 = new SearchParkInfo("阿斯顿接口和");
// mDatas.add(user10);
}
/**
* @Description 获取token和userId
* */
public
void
getInfo
()
{
SharedPreferences
sharedPreferences
=
getSharedPreferences
(
"loginUser"
,
Context
.
MODE_PRIVATE
);
token
=
sharedPreferences
.
getString
(
"token"
,
null
);
userId
=
sharedPreferences
.
getInt
(
"userId"
,
0
);
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/adapter/DispatchInAdapter.java
View file @
1977857b
...
@@ -9,6 +9,7 @@ import android.widget.ImageView;
...
@@ -9,6 +9,7 @@ import android.widget.ImageView;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.senthink.ebike_administrer_tool.R
;
import
com.senthink.ebike_administrer_tool.R
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchCarInfo
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchIn
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchIn
;
import
java.util.List
;
import
java.util.List
;
...
@@ -26,8 +27,8 @@ import butterknife.ButterKnife;
...
@@ -26,8 +27,8 @@ import butterknife.ButterKnife;
public
class
DispatchInAdapter
extends
RecyclerView
.
Adapter
<
DispatchInAdapter
.
DispatchInViewHolder
>
{
public
class
DispatchInAdapter
extends
RecyclerView
.
Adapter
<
DispatchInAdapter
.
DispatchInViewHolder
>
{
private
Context
mContext
;
private
Context
mContext
;
private
List
<
Dispatch
In
>
mList
;
private
List
<
Dispatch
CarInfo
>
mList
;
public
DispatchInAdapter
(
Context
context
,
List
<
Dispatch
In
>
mList
)
{
public
DispatchInAdapter
(
Context
context
,
List
<
Dispatch
CarInfo
>
mList
)
{
this
.
mContext
=
context
;
this
.
mContext
=
context
;
this
.
mList
=
mList
;
this
.
mList
=
mList
;
}
}
...
@@ -40,7 +41,7 @@ public class DispatchInAdapter extends RecyclerView.Adapter<DispatchInAdapter.Di
...
@@ -40,7 +41,7 @@ public class DispatchInAdapter extends RecyclerView.Adapter<DispatchInAdapter.Di
@Override
@Override
public
void
onBindViewHolder
(
DispatchInViewHolder
holder
,
final
int
position
)
{
public
void
onBindViewHolder
(
DispatchInViewHolder
holder
,
final
int
position
)
{
holder
.
mCarIdTv
.
setText
(
mList
.
get
(
position
).
get
CarId
());
holder
.
mCarIdTv
.
setText
(
mList
.
get
(
position
).
get
VehicleNo
());
holder
.
mDeleteIv
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
holder
.
mDeleteIv
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
...
@@ -69,4 +70,6 @@ public class DispatchInAdapter extends RecyclerView.Adapter<DispatchInAdapter.Di
...
@@ -69,4 +70,6 @@ public class DispatchInAdapter extends RecyclerView.Adapter<DispatchInAdapter.Di
ButterKnife
.
bind
(
this
,
itemView
);
ButterKnife
.
bind
(
this
,
itemView
);
}
}
}
}
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/adapter/DispatchOutAdapter.java
View file @
1977857b
...
@@ -6,11 +6,10 @@ import android.view.LayoutInflater;
...
@@ -6,11 +6,10 @@ import android.view.LayoutInflater;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.widget.ImageView
;
import
android.widget.ImageView
;
import
android.widget.LinearLayout
;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
com.senthink.ebike_administrer_tool.R
;
import
com.senthink.ebike_administrer_tool.R
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.Dispatch
out
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.Dispatch
CarInfo
;
import
java.util.List
;
import
java.util.List
;
...
@@ -27,8 +26,8 @@ import butterknife.ButterKnife;
...
@@ -27,8 +26,8 @@ import butterknife.ButterKnife;
public
class
DispatchOutAdapter
extends
RecyclerView
.
Adapter
<
DispatchOutAdapter
.
DispatchOutViewHolder
>
{
public
class
DispatchOutAdapter
extends
RecyclerView
.
Adapter
<
DispatchOutAdapter
.
DispatchOutViewHolder
>
{
private
Context
mContext
;
private
Context
mContext
;
private
List
<
Dispatch
out
>
mList
;
private
List
<
Dispatch
CarInfo
>
mList
;
public
DispatchOutAdapter
(
Context
context
,
List
<
Dispatch
out
>
outList
)
{
public
DispatchOutAdapter
(
Context
context
,
List
<
Dispatch
CarInfo
>
outList
)
{
this
.
mContext
=
context
;
this
.
mContext
=
context
;
this
.
mList
=
outList
;
this
.
mList
=
outList
;
}
}
...
@@ -41,8 +40,8 @@ public class DispatchOutAdapter extends RecyclerView.Adapter<DispatchOutAdapter.
...
@@ -41,8 +40,8 @@ public class DispatchOutAdapter extends RecyclerView.Adapter<DispatchOutAdapter.
@Override
@Override
public
void
onBindViewHolder
(
DispatchOutViewHolder
holder
,
final
int
position
)
{
public
void
onBindViewHolder
(
DispatchOutViewHolder
holder
,
final
int
position
)
{
holder
.
mCarIdTv
.
setText
(
mList
.
get
(
position
).
get
CarId
());
holder
.
mCarIdTv
.
setText
(
mList
.
get
(
position
).
get
VehicleNo
());
holder
.
mParkIdTv
.
setText
(
mList
.
get
(
position
).
getPark
Id
());
holder
.
mParkIdTv
.
setText
(
mList
.
get
(
position
).
getPark
ingCode
());
holder
.
mDeleteIv
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
holder
.
mDeleteIv
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
@Override
public
void
onClick
(
View
v
)
{
public
void
onClick
(
View
v
)
{
...
@@ -73,13 +72,13 @@ public class DispatchOutAdapter extends RecyclerView.Adapter<DispatchOutAdapter.
...
@@ -73,13 +72,13 @@ public class DispatchOutAdapter extends RecyclerView.Adapter<DispatchOutAdapter.
}
}
}
}
// public void setData(Dispatch
out
out){
// public void setData(Dispatch
CarInfo
out){
// mList.add(out);
// mList.add(out);
// notifyItemInserted(mList.size()-1);
// notifyItemInserted(mList.size()-1);
// notifyItemChanged(mList.size()-1);
// notifyItemChanged(mList.size()-1);
// }
// }
//
//
public
void
setData
(
List
<
Dispatch
out
>
out
)
{
public
void
setData
(
List
<
Dispatch
CarInfo
>
out
)
{
this
.
mList
=
out
;
this
.
mList
=
out
;
notifyDataSetChanged
();
notifyDataSetChanged
();
}
}
...
...
app/src/main/java/com/senthink/ebike_administrer_tool/adapter/SearchParkAdapter.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
adapter
;
import
android.content.Context
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.widget.BaseAdapter
;
import
android.widget.Filter
;
import
android.widget.Filterable
;
import
android.widget.TextView
;
import
com.senthink.ebike_administrer_tool.R
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.SearchParkInfo
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/13
*/
public
class
SearchParkAdapter
extends
BaseAdapter
implements
Filterable
{
private
Context
mContext
;
/**
* Contains the list of objects that represent the data of this Adapter.
* Adapter数据源
*/
private
List
<
SearchParkInfo
>
mDatas
;
private
LayoutInflater
mInflater
;
//过滤相关
/**
* This lock is also used by the filter
* (see {@link #getFilter()} to make a synchronized copy of
* the original array of data.
* 过滤器上的锁可以同步复制原始数据。
*/
private
final
Object
mLock
=
new
Object
();
// A copy of the original mObjects array, initialized from and then used instead as soon as
// the mFilter ArrayFilter is used. mObjects will then only contain the filtered values.
//对象数组的备份,当调用ArrayFilter的时候初始化和使用。此时,对象数组只包含已经过滤的数据。
private
ArrayList
<
SearchParkInfo
>
mOriginalValues
;
private
ArrayFilter
mFilter
;
public
SearchParkAdapter
(
Context
context
,
List
<
SearchParkInfo
>
datas
)
{
mContext
=
context
;
mDatas
=
datas
;
mInflater
=
LayoutInflater
.
from
(
context
);
}
@Override
public
int
getCount
()
{
return
mDatas
.
size
()
>
0
?
mDatas
.
size
()
:
0
;
}
@Override
public
Object
getItem
(
int
position
)
{
return
mDatas
.
get
(
position
);
}
@Override
public
long
getItemId
(
int
position
)
{
return
position
;
}
@Override
public
View
getView
(
int
position
,
View
convertView
,
ViewGroup
parent
)
{
ViewHolder
holder
;
if
(
convertView
==
null
)
{
convertView
=
mInflater
.
inflate
(
R
.
layout
.
item_search_park_info
,
parent
,
false
);
holder
=
new
ViewHolder
();
holder
.
name
=
(
TextView
)
convertView
.
findViewById
(
R
.
id
.
tv_search_parkname
);
convertView
.
setTag
(
holder
);
}
else
{
holder
=
(
ViewHolder
)
convertView
.
getTag
();
}
SearchParkInfo
info
=
mDatas
.
get
(
position
);
holder
.
name
.
setText
(
info
.
getParkName
());
return
convertView
;
}
public
class
ViewHolder
{
TextView
name
;
}
@Override
public
Filter
getFilter
()
{
if
(
mFilter
==
null
)
{
mFilter
=
new
ArrayFilter
();
}
return
mFilter
;
}
/**
* 过滤数据的类
*/
/**
* <p>An array filter constrains the content of the array adapter with
* a prefix. Each item that does not start with the supplied prefix
* is removed from the list.</p>
* <p/>
* 一个带有首字母约束的数组过滤器,每一项不是以该首字母开头的都会被移除该list。
*/
private
class
ArrayFilter
extends
Filter
{
//执行刷选
@Override
protected
Filter
.
FilterResults
performFiltering
(
CharSequence
prefix
)
{
FilterResults
results
=
new
FilterResults
();
//过滤的结果
//原始数据备份为空时,上锁,同步复制原始数据
if
(
mOriginalValues
==
null
)
{
synchronized
(
mLock
)
{
mOriginalValues
=
new
ArrayList
<>(
mDatas
);
}
}
//当首字母为空时
if
(
prefix
==
null
||
prefix
.
length
()
==
0
)
{
ArrayList
<
SearchParkInfo
>
list
;
synchronized
(
mLock
)
{
//同步复制一个原始备份数据
list
=
new
ArrayList
<>(
mOriginalValues
);
}
results
.
values
=
list
;
results
.
count
=
list
.
size
();
//此时返回的results就是原始的数据,不进行过滤
}
else
{
String
prefixString
=
prefix
.
toString
().
toLowerCase
();
//转化为小写
ArrayList
<
SearchParkInfo
>
values
;
synchronized
(
mLock
)
{
//同步复制一个原始备份数据
values
=
new
ArrayList
<>(
mOriginalValues
);
}
final
int
count
=
values
.
size
();
final
ArrayList
<
SearchParkInfo
>
newValues
=
new
ArrayList
<>();
for
(
int
i
=
0
;
i
<
count
;
i
++)
{
final
SearchParkInfo
value
=
values
.
get
(
i
);
//从List<User>中拿到User对象
// final String valueText = value.toString().toLowerCase();
final
String
valueText
=
value
.
getParkName
().
toString
().
toLowerCase
();
//User对象的name属性作为过滤的参数
// First match against the whole, non-splitted value
if
(
valueText
.
startsWith
(
prefixString
)
||
valueText
.
indexOf
(
prefixString
.
toString
())
!=
-
1
)
{
//第一个字符是否匹配
newValues
.
add
(
value
);
//将这个item加入到数组对象中
}
else
{
//处理首字符是空格
final
String
[]
words
=
valueText
.
split
(
" "
);
final
int
wordCount
=
words
.
length
;
// Start at index 0, in case valueText starts with space(s)
for
(
int
k
=
0
;
k
<
wordCount
;
k
++)
{
if
(
words
[
k
].
startsWith
(
prefixString
))
{
//一旦找到匹配的就break,跳出for循环
newValues
.
add
(
value
);
break
;
}
}
}
}
results
.
values
=
newValues
;
//此时的results就是过滤后的List<User>数组
results
.
count
=
newValues
.
size
();
}
return
results
;
}
//刷选结果
@Override
protected
void
publishResults
(
CharSequence
prefix
,
FilterResults
results
)
{
//noinspection unchecked
mDatas
=
(
List
<
SearchParkInfo
>)
results
.
values
;
//此时,Adapter数据源就是过滤后的Results
if
(
results
.
count
>
0
)
{
notifyDataSetChanged
();
//这个相当于从mDatas中删除了一些数据,只是数据的变化,故使用notifyDataSetChanged()
}
else
{
/**
* 数据容器变化 ----> notifyDataSetInValidated
容器中的数据变化 ----> notifyDataSetChanged
*/
notifyDataSetInvalidated
();
//当results.count<=0时,此时数据源就是重新new出来的,说明原始的数据源已经失效了
}
}
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/asynchttp/AsyncHttp.java
View file @
1977857b
...
@@ -292,6 +292,63 @@ public class AsyncHttp {
...
@@ -292,6 +292,63 @@ public class AsyncHttp {
}
}
}
}
public
void
PostHttpClient
(
String
url
,
String
token
,
String
str
,
final
HttpCallback
callback
)
{
try
{
StringEntity
entity
=
new
StringEntity
(
str
,
"utf-8"
);
entity
.
setContentType
(
new
BasicHeader
(
HTTP
.
CONTENT_TYPE
,
"application/json"
));
asyncClient
.
post
(
mcontext
,
token
,
url
,
entity
,
null
,
new
JsonHttpResponseHandler
()
{
@Override
public
void
onSuccess
(
int
statusCode
,
Header
[]
headers
,
JSONObject
response
)
{
// TODO Auto-generated method stub
callback
.
HttpCallbackResult
(
statusCode
,
response
);
}
@Override
public
void
onSuccess
(
int
statusCode
,
Header
[]
headers
,
String
responseString
)
{
// TODO Auto-generated method stub
callback
.
HttpCallbackResult
(
statusCode
,
responseString
);
}
@Override
public
void
onFailure
(
int
statusCode
,
Header
[]
headers
,
Throwable
throwable
,
JSONObject
errorResponse
)
{
// TODO Auto-generated method stub
callback
.
HttpCallbackResult
(
statusCode
,
errorResponse
);
Log
.
i
(
"appLog"
,
"statusCode="
+
statusCode
);
Log
.
i
(
"appLog"
,
"headers="
+
headers
);
Log
.
i
(
"appLog"
,
"throwable="
+
throwable
.
toString
());
Log
.
i
(
"appLog"
,
"errorResponse="
+
errorResponse
);
}
@Override
public
void
onFailure
(
int
statusCode
,
Header
[]
headers
,
String
responseString
,
Throwable
throwable
)
{
// TODO Auto-generated method stub
callback
.
HttpCallbackResult
(
statusCode
,
responseString
);
Log
.
i
(
"appLog"
,
"statusCode="
+
statusCode
);
Log
.
i
(
"appLog"
,
"headers="
+
headers
);
Log
.
i
(
"appLog"
,
"throwable="
+
throwable
.
toString
());
Log
.
i
(
"appLog"
,
"responseString="
+
responseString
);
}
});
}
catch
(
UnsupportedEncodingException
e
)
{
// TODO Auto-generated catch block
e
.
printStackTrace
();
}
}
public
void
PutHttpClient
(
String
url
,
RequestParams
params
,
public
void
PutHttpClient
(
String
url
,
RequestParams
params
,
final
HttpCallback
callback
)
{
final
HttpCallback
callback
)
{
try
{
try
{
...
...
app/src/main/java/com/senthink/ebike_administrer_tool/bean/dispatch/DispatchCarInfo.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
bean
.
dispatch
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/11
*/
public
class
DispatchCarInfo
{
private
int
id
;
private
String
vehicleNo
;
private
String
parkingCode
;
public
int
getId
()
{
return
id
;
}
public
String
getParkingCode
()
{
return
parkingCode
;
}
public
String
getVehicleNo
()
{
return
vehicleNo
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
void
setParkingCode
(
String
parkingCode
)
{
this
.
parkingCode
=
parkingCode
;
}
public
void
setVehicleNo
(
String
vehicleNo
)
{
this
.
vehicleNo
=
vehicleNo
;
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/bean/dispatch/DispatchIn.java
View file @
1977857b
...
@@ -8,13 +8,56 @@ package com.senthink.ebike_administrer_tool.bean.dispatch;
...
@@ -8,13 +8,56 @@ package com.senthink.ebike_administrer_tool.bean.dispatch;
*/
*/
public
class
DispatchIn
{
public
class
DispatchIn
{
private
String
carId
;
private
int
parkId
;
private
String
parkingNmae
;
private
String
parkingCode
;
private
int
totalCarDigit
;
// 对应原型图上的额定车位数
private
int
reserveCarDigit
;
// totalCarDigit + reserveCarDigit 对应原型图上的最多停车数
public
String
getCarId
()
{
public
DispatchIn
(
int
parkId
,
String
parkingNmae
,
String
parkingCode
,
int
totalCarDigit
,
int
reserveCarDigit
)
{
return
carId
;
this
.
parkId
=
parkId
;
this
.
parkingNmae
=
parkingNmae
;
this
.
parkingCode
=
parkingCode
;
this
.
totalCarDigit
=
totalCarDigit
;
this
.
reserveCarDigit
=
reserveCarDigit
;
}
public
int
getCarId
()
{
return
parkId
;
}
public
void
setCarId
(
int
parkId
)
{
this
.
parkId
=
parkId
;
}
public
void
setParkingCode
(
String
parkingCode
)
{
this
.
parkingCode
=
parkingCode
;
}
public
String
getParkingCode
()
{
return
parkingCode
;
}
public
void
setParkingNmae
(
String
parkingNmae
)
{
this
.
parkingNmae
=
parkingNmae
;
}
public
int
getReserveCarDigit
()
{
return
reserveCarDigit
;
}
public
void
setReserveCarDigit
(
int
reserveCarDigit
)
{
this
.
reserveCarDigit
=
reserveCarDigit
;
}
public
int
getTotalCarDigit
()
{
return
totalCarDigit
;
}
public
void
setTotalCarDigit
(
int
totalCarDigit
)
{
this
.
totalCarDigit
=
totalCarDigit
;
}
}
public
void
setCarId
(
String
carId
)
{
public
String
getParkingNmae
(
)
{
this
.
carId
=
carId
;
return
parkingNmae
;
}
}
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/bean/dispatch/Dispatchout.java
deleted
100644 → 0
View file @
ecb1f5eb
package
com
.
senthink
.
ebike_administrer_tool
.
bean
.
dispatch
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/11
*/
public
class
Dispatchout
{
private
String
carId
;
private
String
parkId
;
public
String
getCarId
()
{
return
carId
;
}
public
String
getParkId
()
{
return
parkId
;
}
public
void
setCarId
(
String
carId
)
{
this
.
carId
=
carId
;
}
public
void
setParkId
(
String
parkId
)
{
this
.
parkId
=
parkId
;
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/bean/dispatch/SearchParkInfo.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
bean
.
dispatch
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/13
*/
public
class
SearchParkInfo
{
private
String
parkName
;
private
int
id
;
public
SearchParkInfo
(
String
parkName
,
int
id
)
{
this
.
parkName
=
parkName
;
this
.
id
=
id
;
}
public
void
setId
(
int
id
)
{
this
.
id
=
id
;
}
public
int
getId
()
{
return
id
;
}
public
String
getParkName
()
{
return
parkName
;
}
public
void
setParkName
(
String
parkName
)
{
this
.
parkName
=
parkName
;
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/common/CommonUrl.java
View file @
1977857b
...
@@ -9,6 +9,16 @@ package com.senthink.ebike_administrer_tool.common;
...
@@ -9,6 +9,16 @@ package com.senthink.ebike_administrer_tool.common;
public
class
CommonUrl
{
public
class
CommonUrl
{
public
static
final
String
LOGIN_URL
=
"http://10.200.2.109:9051/auth"
;
public
static
final
String
LOGIN_URL
=
"http://10.200.2.109:9051/auth"
;
/** 修改密码接口 */
public
static
final
String
MODIFY_PASSWORD_URL
=
"http://10.200.2.109:9051/challenger/app/user/updatePass"
;
public
static
final
String
MODIFY_PASSWORD_URL
=
"http://10.200.2.109:9051/challenger/app/user/updatePass"
;
/** 获取用户信息接口 */
public
static
final
String
GET_USER_INFO_URL
=
"http://10.200.2.109:9011/challenger/app/user/me/"
;
public
static
final
String
GET_USER_INFO_URL
=
"http://10.200.2.109:9011/challenger/app/user/me/"
;
/** 根据车架号获取车辆编号以及停车点编号的接口 */
public
static
final
String
GET_CAR_PARK_INFO
=
"http://10.200.2.109:9041/discovery/app/vehicle/"
;
/** 调出停车点 */
public
static
final
String
DISPATCH_OUT_SUBMIT
=
"http://10.200.2.109:9041/discovery/app/operation/dispatchOut"
;
/** 调入停车点 */
public
static
final
String
DISPATCH_IN_SUBMIT
=
"http://10.200.2.109:9041/discovery/app/operation/dispatchIn"
;
/** 模糊搜索停车点 */
public
static
final
String
SEARCH_PARK_INFO
=
"http://10.200.2.109:9041/discovery/app/operation/searchParkingInfo"
;
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/fragment/DispatchFragment.java
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
fragment
;
package
com
.
senthink
.
ebike_administrer_tool
.
fragment
;
import
android.content.Context
;
import
android.content.SharedPreferences
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.Nullable
;
import
android.support.design.widget.TabLayout
;
import
android.support.design.widget.TabLayout
;
...
@@ -7,6 +9,8 @@ import android.support.v4.app.Fragment;
...
@@ -7,6 +9,8 @@ import android.support.v4.app.Fragment;
import
android.support.v4.app.FragmentManager
;
import
android.support.v4.app.FragmentManager
;
import
android.support.v4.app.FragmentPagerAdapter
;
import
android.support.v4.app.FragmentPagerAdapter
;
import
android.support.v4.view.ViewPager
;
import
android.support.v4.view.ViewPager
;
import
android.support.v7.app.AppCompatActivity
;
import
android.support.v7.widget.Toolbar
;
import
android.util.Log
;
import
android.util.Log
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
...
@@ -47,7 +51,12 @@ public class DispatchFragment extends Fragment implements View.OnClickListener{
...
@@ -47,7 +51,12 @@ public class DispatchFragment extends Fragment implements View.OnClickListener{
RadioButton
mLeftRb
;
RadioButton
mLeftRb
;
@BindView
(
R
.
id
.
rb_right
)
@BindView
(
R
.
id
.
rb_right
)
RadioButton
mRightRb
;
RadioButton
mRightRb
;
@BindView
(
R
.
id
.
dispatch_toolbar
)
Toolbar
mToolbar
;
TextView
mSubmitTv
;
private
String
token
;
Fragment
mCurrentFragment
;
private
int
index
=
0
;
private
static
final
String
TAG
=
DispatchFragment
.
class
.
getSimpleName
();
private
static
final
String
TAG
=
DispatchFragment
.
class
.
getSimpleName
();
private
FragmentPagerAdapter
adapter
;
private
FragmentPagerAdapter
adapter
;
@Nullable
@Nullable
...
@@ -65,6 +74,7 @@ public class DispatchFragment extends Fragment implements View.OnClickListener{
...
@@ -65,6 +74,7 @@ public class DispatchFragment extends Fragment implements View.OnClickListener{
adapter
=
new
FragmentPagerAdapter
(
getChildFragmentManager
())
{
adapter
=
new
FragmentPagerAdapter
(
getChildFragmentManager
())
{
@Override
@Override
public
Fragment
getItem
(
int
position
)
{
public
Fragment
getItem
(
int
position
)
{
mCurrentFragment
=
TAB_FRAGMENT
[
position
];
return
TAB_FRAGMENT
[
position
];
return
TAB_FRAGMENT
[
position
];
}
}
...
@@ -82,7 +92,16 @@ public class DispatchFragment extends Fragment implements View.OnClickListener{
...
@@ -82,7 +92,16 @@ public class DispatchFragment extends Fragment implements View.OnClickListener{
@Override
@Override
public
void
onPageSelected
(
int
position
)
{
public
void
onPageSelected
(
int
position
)
{
Log
.
i
(
TAG
,
"onPageSelected: "
+
position
);
index
=
position
;
Log
.
i
(
TAG
,
"onPageSelected: "
);
if
(
position
==
0
)
{
mLeftRb
.
setChecked
(
true
);
mRightRb
.
setChecked
(
false
);
}
else
if
(
position
==
1
)
{
mLeftRb
.
setChecked
(
false
);
mRightRb
.
setChecked
(
true
);
}
}
}
@Override
@Override
...
@@ -90,12 +109,18 @@ public class DispatchFragment extends Fragment implements View.OnClickListener{
...
@@ -90,12 +109,18 @@ public class DispatchFragment extends Fragment implements View.OnClickListener{
}
}
});
});
mViewPager
.
setCurrentItem
(
0
);
mViewPager
.
setCurrentItem
(
index
);
token
=
getToken
();
}
}
private
void
initView
()
{
private
void
initView
()
{
AppCompatActivity
activity
=
(
AppCompatActivity
)
getActivity
();
activity
.
setSupportActionBar
(
mToolbar
);
setHasOptionsMenu
(
true
);
mLeftRb
.
setOnClickListener
(
this
);
mLeftRb
.
setOnClickListener
(
this
);
mRightRb
.
setOnClickListener
(
this
);
mRightRb
.
setOnClickListener
(
this
);
mSubmitTv
=
(
TextView
)
mToolbar
.
findViewById
(
R
.
id
.
tv_submit
);
mSubmitTv
.
setOnClickListener
(
this
);
}
}
@Override
@Override
...
@@ -108,9 +133,25 @@ public class DispatchFragment extends Fragment implements View.OnClickListener{
...
@@ -108,9 +133,25 @@ public class DispatchFragment extends Fragment implements View.OnClickListener{
case
R
.
id
.
rb_right
:
case
R
.
id
.
rb_right
:
mViewPager
.
setCurrentItem
(
1
);
mViewPager
.
setCurrentItem
(
1
);
break
;
break
;
case
R
.
id
.
tv_submit
:
if
(
index
==
0
)
{
DispatchOutFragment
d
=
(
DispatchOutFragment
)
adapter
.
getItem
(
index
);
d
.
submit
(
token
);
}
else
if
(
index
==
1
)
{
DispatchInFragment
d
=
(
DispatchInFragment
)
adapter
.
getItem
(
index
);
d
.
submit
(
token
);
}
break
;
}
}
}
}
/**
* @Description 获取token
* */
public
String
getToken
()
{
SharedPreferences
sharedPreferences
=
getActivity
().
getSharedPreferences
(
"loginUser"
,
Context
.
MODE_PRIVATE
);
String
token
=
sharedPreferences
.
getString
(
"token"
,
null
);
return
token
;
}
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/fragment/DispatchInFragment.java
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
fragment
;
package
com
.
senthink
.
ebike_administrer_tool
.
fragment
;
import
android.app.Activity
;
import
android.app.Dialog
;
import
android.content.Intent
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.Nullable
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.Fragment
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
import
android.support.v7.widget.RecyclerView
;
import
android.text.Editable
;
import
android.text.TextWatcher
;
import
android.util.Log
;
import
android.view.Display
;
import
android.view.Gravity
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.widget.ArrayAdapter
;
import
android.widget.Button
;
import
android.widget.EditText
;
import
android.widget.ListView
;
import
android.widget.Toast
;
import
com.google.zxing.client.android.CaptureActivity
;
import
com.senthink.ebike_administrer_tool.R
;
import
com.senthink.ebike_administrer_tool.R
;
import
com.senthink.ebike_administrer_tool.SearchParkActivity
;
import
com.senthink.ebike_administrer_tool.adapter.DispatchInAdapter
;
import
com.senthink.ebike_administrer_tool.adapter.DispatchInAdapter
;
import
com.senthink.ebike_administrer_tool.adapter.DispatchOutAdapter
;
import
com.senthink.ebike_administrer_tool.adapter.SearchParkAdapter
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchCarInfo
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchIn
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchIn
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.SearchParkInfo
;
import
com.senthink.ebike_administrer_tool.presenter.impl.DispatchInPresenterImpl
;
import
com.senthink.ebike_administrer_tool.presenter.impl.DispatchOutPresenterImpl
;
import
com.senthink.ebike_administrer_tool.view.IDispatchFragment
;
import
com.senthink.ebike_administrer_tool.view.IDispatchFragment
;
import
com.senthink.ebike_administrer_tool.widget.ClearEditText
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -29,11 +52,23 @@ import butterknife.ButterKnife;
...
@@ -29,11 +52,23 @@ import butterknife.ButterKnife;
*/
*/
public
class
DispatchInFragment
extends
Fragment
implements
IDispatchFragment
{
public
class
DispatchInFragment
extends
Fragment
implements
IDispatchFragment
{
private
DispatchIn
in
=
new
DispatchIn
();
private
List
<
DispatchCarInfo
>
mList
=
new
ArrayList
<>();
private
List
<
DispatchIn
>
mList
=
new
ArrayList
<>();
@BindView
(
R
.
id
.
recycleView_dispatch_in
)
@BindView
(
R
.
id
.
recycleView_dispatch_in
)
RecyclerView
recyclerView
;
RecyclerView
recyclerView
;
@BindView
(
R
.
id
.
btn_dispatch_in_scan
)
Button
scanInBtn
;
@BindView
(
R
.
id
.
et_input_parkname
)
EditText
searchText
;
private
DispatchInAdapter
mAdapter
;
private
DispatchInAdapter
mAdapter
;
DispatchInPresenterImpl
presenter
;
private
static
final
int
REQUEST_CODE
=
1000
;
private
List
<
Integer
>
idList
=
new
ArrayList
<>();
private
List
<
String
>
shellList
=
new
ArrayList
<>();
// 车架号列表
private
static
final
int
ACTION_SCAN_BARCODE
=
1001
;
private
static
final
String
TAG
=
DispatchInFragment
.
class
.
getSimpleName
();
private
Dialog
dialog
;
private
View
inflate
;
@Nullable
@Nullable
@Override
@Override
public
View
onCreateView
(
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
public
View
onCreateView
(
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
...
@@ -46,16 +81,33 @@ public class DispatchInFragment extends Fragment implements IDispatchFragment{
...
@@ -46,16 +81,33 @@ public class DispatchInFragment extends Fragment implements IDispatchFragment{
@Override
@Override
public
void
onViewCreated
(
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
public
void
onViewCreated
(
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
super
.
onViewCreated
(
view
,
savedInstanceState
);
super
.
onViewCreated
(
view
,
savedInstanceState
);
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
scanInBtn
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
in
.
setCarId
(
"1234556"
);
@Override
mList
.
add
(
in
);
public
void
onClick
(
View
v
)
{
}
scan
();
}
});
LinearLayoutManager
layout
=
new
LinearLayoutManager
(
getActivity
());
LinearLayoutManager
layout
=
new
LinearLayoutManager
(
getActivity
());
recyclerView
.
setLayoutManager
(
layout
);
recyclerView
.
setLayoutManager
(
layout
);
mAdapter
=
new
DispatchInAdapter
(
getActivity
(),
mList
);
mAdapter
=
new
DispatchInAdapter
(
getActivity
(),
mList
);
recyclerView
.
setAdapter
(
mAdapter
);
recyclerView
.
setAdapter
(
mAdapter
);
presenter
=
new
DispatchInPresenterImpl
(
this
);
searchText
.
setOnFocusChangeListener
(
new
View
.
OnFocusChangeListener
()
{
@Override
public
void
onFocusChange
(
View
v
,
boolean
hasFocus
)
{
if
(
hasFocus
)
{
Intent
intent
=
new
Intent
();
intent
.
setClass
(
getActivity
(),
SearchParkActivity
.
class
);
startActivityForResult
(
intent
,
Activity
.
RESULT_FIRST_USER
);
}
}
});
}
}
@Override
@Override
public
void
getInformationFailed
(
String
msg
)
{
public
void
getInformationFailed
(
String
msg
)
{
...
@@ -68,16 +120,69 @@ public class DispatchInFragment extends Fragment implements IDispatchFragment{
...
@@ -68,16 +120,69 @@ public class DispatchInFragment extends Fragment implements IDispatchFragment{
@Override
@Override
public
void
scan
()
{
public
void
scan
()
{
Intent
intent
=
new
Intent
();
intent
.
setClass
(
getActivity
(),
CaptureActivity
.
class
);
startActivityForResult
(
intent
,
ACTION_SCAN_BARCODE
);
}
}
@Override
@Override
public
void
updateInfo
()
{
public
void
updateInfo
(
DispatchCarInfo
out
)
{
mList
.
add
(
out
);
mAdapter
.
notifyItemInserted
(
mList
.
size
()
-
1
);
}
}
@Override
@Override
public
void
submitSuccess
()
{
public
void
submitSuccess
()
{
dialog
=
new
Dialog
(
getContext
(),
R
.
style
.
modify_psw_dialog
);
inflate
=
LayoutInflater
.
from
(
getContext
()).
inflate
(
R
.
layout
.
layout_dialog_success
,
null
);
dialog
.
setContentView
(
inflate
);
Window
dialogWindow
=
dialog
.
getWindow
();
dialogWindow
.
setGravity
(
Gravity
.
CENTER
);
WindowManager
m
=
getActivity
().
getWindowManager
();
Display
d
=
m
.
getDefaultDisplay
();
WindowManager
.
LayoutParams
lp
=
dialogWindow
.
getAttributes
();
lp
.
width
=
(
int
)
(
d
.
getWidth
()
*
0.64
);
lp
.
height
=
(
int
)
(
d
.
getHeight
()
*
0.25
);
//// lp.y = 20;
dialogWindow
.
setAttributes
(
lp
);
dialog
.
show
();
shellList
.
clear
();
}
@Override
public
void
submitFailed
(
List
<
Integer
>
list
)
{
}
}
@Override
public
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
requestCode
==
ACTION_SCAN_BARCODE
&&
resultCode
==
1070
)
{
String
shellId
=
data
.
getStringExtra
(
"codedContent"
);
Log
.
i
(
TAG
,
"onActivityResult: "
+
shellId
);
if
(
shellList
.
contains
(
shellId
))
{
// 判断该车架号是否被扫描过
Toast
.
makeText
(
getActivity
(),
"该车辆已扫描,请扫描其他车辆"
,
Toast
.
LENGTH_SHORT
).
show
();
return
;
}
else
{
shellList
.
add
(
shellId
);
presenter
.
getCarInfo
(
shellId
);
}
}
}
public
void
submit
(
String
token
)
{
for
(
DispatchCarInfo
info
:
mList
)
{
idList
.
add
(
info
.
getId
());
}
// 没有车时不进行post请求
if
(
mList
.
size
()>
0
)
{
presenter
.
submit
(
idList
,
2
,
token
);
Log
.
i
(
TAG
,
"submit: "
+
mList
.
size
());
}
else
{
Toast
.
makeText
(
getActivity
(),
getString
(
R
.
string
.
no_car
),
Toast
.
LENGTH_SHORT
).
show
();
}
}
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/fragment/DispatchOutFragment.java
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
fragment
;
package
com
.
senthink
.
ebike_administrer_tool
.
fragment
;
import
android.app.AlertDialog
;
import
android.app.Dialog
;
import
android.content.Intent
;
import
android.content.Intent
;
import
android.os.Build
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.RequiresApi
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.Fragment
;
import
android.support.v7.widget.GridLayoutManager
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.LinearLayoutManager
;
import
android.support.v7.widget.RecyclerView
;
import
android.support.v7.widget.RecyclerView
;
import
android.util.Log
;
import
android.util.Log
;
import
android.view.Display
;
import
android.view.Gravity
;
import
android.view.LayoutInflater
;
import
android.view.LayoutInflater
;
import
android.view.View
;
import
android.view.View
;
import
android.view.ViewGroup
;
import
android.view.ViewGroup
;
import
android.view.Window
;
import
android.view.WindowManager
;
import
android.widget.Button
;
import
android.widget.Button
;
import
android.widget.EditText
;
import
android.widget.Toast
;
import
com.google.zxing.client.android.CaptureActivity
;
import
com.google.zxing.client.android.CaptureActivity
;
import
com.senthink.ebike_administrer_tool.R
;
import
com.senthink.ebike_administrer_tool.R
;
import
com.senthink.ebike_administrer_tool.adapter.DispatchOutAdapter
;
import
com.senthink.ebike_administrer_tool.adapter.DispatchOutAdapter
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.Dispatchout
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchCarInfo
;
import
com.senthink.ebike_administrer_tool.common.Common
;
import
com.senthink.ebike_administrer_tool.presenter.impl.DispatchOutPresenterImpl
;
import
com.senthink.ebike_administrer_tool.presenter.impl.DIspatchOutPresenterImpl
;
import
com.senthink.ebike_administrer_tool.view.IDispatchFragment
;
import
com.senthink.ebike_administrer_tool.view.IDispatchFragment
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
...
@@ -43,21 +51,20 @@ public class DispatchOutFragment extends Fragment implements IDispatchFragment {
...
@@ -43,21 +51,20 @@ public class DispatchOutFragment extends Fragment implements IDispatchFragment {
Button
scanBtn
;
Button
scanBtn
;
DispatchOutAdapter
mAdapter
;
DispatchOutAdapter
mAdapter
;
D
I
spatchOutPresenterImpl
presenter
;
D
i
spatchOutPresenterImpl
presenter
;
private
static
final
String
TAG
=
DispatchFragment
.
class
.
getSimpleName
();
private
static
final
String
TAG
=
DispatchFragment
.
class
.
getSimpleName
();
private
Dispatchout
out
=
new
Dispatchout
();
private
DispatchCarInfo
out
=
new
DispatchCarInfo
();
private
List
<
Dispatchout
>
mList
=
new
ArrayList
<>();
private
List
<
DispatchCarInfo
>
mList
=
new
ArrayList
<>();
private
List
<
String
>
shellList
=
new
ArrayList
<>();
// 车架号列表
private
List
<
Integer
>
idList
=
new
ArrayList
<>();
private
static
final
int
ACTION_SCAN_BARCODE
=
1001
;
private
static
final
int
ACTION_SCAN_BARCODE
=
1001
;
private
Dialog
dialog
;
private
View
inflate
;
@Nullable
@Nullable
@Override
@Override
public
View
onCreateView
(
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
public
View
onCreateView
(
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
@Nullable
Bundle
savedInstanceState
)
{
View
view
=
inflater
.
inflate
(
R
.
layout
.
fragment_dispatch_out
,
container
,
false
);
View
view
=
inflater
.
inflate
(
R
.
layout
.
fragment_dispatch_out
,
container
,
false
);
ButterKnife
.
bind
(
this
,
view
);
ButterKnife
.
bind
(
this
,
view
);
for
(
int
i
=
0
;
i
<
10
;
i
++)
{
out
.
setCarId
(
"11111111"
);
out
.
setParkId
(
"00000000"
);
mList
.
add
(
out
);
}
return
view
;
return
view
;
}
}
...
@@ -74,7 +81,7 @@ public class DispatchOutFragment extends Fragment implements IDispatchFragment {
...
@@ -74,7 +81,7 @@ public class DispatchOutFragment extends Fragment implements IDispatchFragment {
}
}
private
void
initData
()
{
private
void
initData
()
{
presenter
=
new
D
I
spatchOutPresenterImpl
(
this
);
presenter
=
new
D
i
spatchOutPresenterImpl
(
this
);
LinearLayoutManager
layout
=
new
LinearLayoutManager
(
getActivity
());
LinearLayoutManager
layout
=
new
LinearLayoutManager
(
getActivity
());
recyclerView
.
setLayoutManager
(
layout
);
recyclerView
.
setLayoutManager
(
layout
);
...
@@ -95,26 +102,45 @@ public class DispatchOutFragment extends Fragment implements IDispatchFragment {
...
@@ -95,26 +102,45 @@ public class DispatchOutFragment extends Fragment implements IDispatchFragment {
@Override
@Override
public
void
scan
()
{
public
void
scan
()
{
// out.setParkId("123");
// out.setCarId("3123");
// mList.add(out);
//// mAdapter.setData(mList);
// mAdapter.notifyItemInserted(mList.size()-1);
// mAdapter.notifyItemRangeChanged(mList.size()-1,mList.size()-1);
Intent
intent
=
new
Intent
();
Intent
intent
=
new
Intent
();
intent
.
setClass
(
getActivity
(),
CaptureActivity
.
class
);
intent
.
setClass
(
getActivity
(),
CaptureActivity
.
class
);
startActivityForResult
(
intent
,
ACTION_SCAN_BARCODE
);
startActivityForResult
(
intent
,
ACTION_SCAN_BARCODE
);
}
}
@Override
@Override
public
void
updateInfo
()
{
public
void
updateInfo
(
DispatchCarInfo
out
)
{
// TODO: 2017/6/12 获取数据
// TODO: 2017/6/12 获取数据
Log
.
i
(
TAG
,
"updateInfo: "
);
Log
.
i
(
TAG
,
"updateInfo: "
);
mList
.
add
(
out
);
mAdapter
.
notifyItemInserted
(
mList
.
size
()
-
1
);
}
}
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
LOLLIPOP
)
@Override
@Override
public
void
submitSuccess
()
{
public
void
submitSuccess
()
{
dialog
=
new
Dialog
(
getContext
(),
R
.
style
.
modify_psw_dialog
);
inflate
=
LayoutInflater
.
from
(
getContext
()).
inflate
(
R
.
layout
.
layout_dialog_success
,
null
);
dialog
.
setContentView
(
inflate
);
Window
dialogWindow
=
dialog
.
getWindow
();
dialogWindow
.
setGravity
(
Gravity
.
CENTER
);
WindowManager
m
=
getActivity
().
getWindowManager
();
Display
d
=
m
.
getDefaultDisplay
();
WindowManager
.
LayoutParams
lp
=
dialogWindow
.
getAttributes
();
lp
.
width
=
(
int
)
(
d
.
getWidth
()
*
0.64
);
lp
.
height
=
(
int
)
(
d
.
getHeight
()
*
0.25
);
//// lp.y = 20;
dialogWindow
.
setAttributes
(
lp
);
dialog
.
show
();
mList
.
clear
();
mAdapter
.
notifyDataSetChanged
();
shellList
.
clear
();
}
@Override
public
void
submitFailed
(
List
<
Integer
>
list
)
{
for
(
int
i
:
list
)
{
}
}
}
@Override
@Override
...
@@ -122,7 +148,29 @@ public class DispatchOutFragment extends Fragment implements IDispatchFragment {
...
@@ -122,7 +148,29 @@ public class DispatchOutFragment extends Fragment implements IDispatchFragment {
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
if
(
requestCode
==
ACTION_SCAN_BARCODE
if
(
requestCode
==
ACTION_SCAN_BARCODE
&&
resultCode
==
1070
)
{
&&
resultCode
==
1070
)
{
String
shellId
=
data
.
getStringExtra
(
"codedContent"
);
Log
.
i
(
TAG
,
"onActivityResult: "
+
shellId
);
if
(
shellList
.
contains
(
shellId
))
{
// 判断该车架号是否被扫描过
Toast
.
makeText
(
getActivity
(),
"该车辆已扫描,请扫描其他车辆"
,
Toast
.
LENGTH_SHORT
).
show
();
return
;
}
else
{
shellList
.
add
(
shellId
);
presenter
.
getCarInfo
(
shellId
);
}
}
}
public
void
submit
(
String
token
)
{
for
(
DispatchCarInfo
info
:
mList
)
{
idList
.
add
(
info
.
getId
());
}
}
// 没有车时不进行post请求
if
(
mList
.
size
()>
0
)
{
presenter
.
submit
(
idList
,
token
);
Log
.
i
(
TAG
,
"submit: "
+
mList
.
size
());
}
else
{
Toast
.
makeText
(
getActivity
(),
getString
(
R
.
string
.
no_car
),
Toast
.
LENGTH_SHORT
).
show
();
}
}
}
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/fragment/MyInformationFragment.java
View file @
1977857b
...
@@ -4,10 +4,13 @@ import android.app.AlertDialog;
...
@@ -4,10 +4,13 @@ import android.app.AlertDialog;
import
android.app.Dialog
;
import
android.app.Dialog
;
import
android.content.Context
;
import
android.content.Context
;
import
android.content.DialogInterface
;
import
android.content.DialogInterface
;
import
android.content.Intent
;
import
android.content.SharedPreferences
;
import
android.content.SharedPreferences
;
import
android.support.v4.app.Fragment
;
import
android.support.v4.app.Fragment
;
import
android.os.Bundle
;
import
android.os.Bundle
;
import
android.support.annotation.Nullable
;
import
android.support.annotation.Nullable
;
import
android.support.v7.app.AppCompatActivity
;
import
android.support.v7.widget.Toolbar
;
import
android.util.Log
;
import
android.util.Log
;
import
android.view.Display
;
import
android.view.Display
;
import
android.view.Gravity
;
import
android.view.Gravity
;
...
@@ -22,6 +25,7 @@ import android.widget.ImageView;
...
@@ -22,6 +25,7 @@ import android.widget.ImageView;
import
android.widget.TextView
;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
android.widget.Toast
;
import
com.senthink.ebike_administrer_tool.LoginActivity
;
import
com.senthink.ebike_administrer_tool.MyApplication
;
import
com.senthink.ebike_administrer_tool.MyApplication
;
import
com.senthink.ebike_administrer_tool.R
;
import
com.senthink.ebike_administrer_tool.R
;
import
com.senthink.ebike_administrer_tool.bean.userInfo.GetUserInfoById
;
import
com.senthink.ebike_administrer_tool.bean.userInfo.GetUserInfoById
;
...
@@ -53,6 +57,9 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
...
@@ -53,6 +57,9 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
TextView
mUserNmaeTv
;
TextView
mUserNmaeTv
;
@BindView
(
R
.
id
.
iv_modify_password
)
@BindView
(
R
.
id
.
iv_modify_password
)
ImageView
mModifyPswIv
;
ImageView
mModifyPswIv
;
@BindView
(
R
.
id
.
me_toolbar
)
Toolbar
mToolbar
;
private
TextView
mLogoutTv
;
private
Dialog
dialog
;
private
Dialog
dialog
;
private
Button
confirmBtn
;
private
Button
confirmBtn
;
...
@@ -64,17 +71,18 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
...
@@ -64,17 +71,18 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
@Nullable
@Nullable
@Override
@Override
public
View
onCreateView
(
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
Bundle
savedInstanceState
)
{
public
View
onCreateView
(
LayoutInflater
inflater
,
@Nullable
ViewGroup
container
,
Bundle
savedInstanceState
)
{
return
inflater
.
inflate
(
R
.
layout
.
fragment_me
,
container
,
false
);
View
view
=
inflater
.
inflate
(
R
.
layout
.
fragment_me
,
container
,
false
);
ButterKnife
.
bind
(
this
,
view
);
setHasOptionsMenu
(
true
);
((
AppCompatActivity
)
getActivity
()).
setSupportActionBar
(
mToolbar
);
return
view
;
}
}
@Override
@Override
public
void
onViewCreated
(
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
public
void
onViewCreated
(
View
view
,
@Nullable
Bundle
savedInstanceState
)
{
super
.
onViewCreated
(
view
,
savedInstanceState
);
super
.
onViewCreated
(
view
,
savedInstanceState
);
ButterKnife
.
bind
(
this
,
view
);
initData
();
initData
();
initView
();
initView
();
}
}
private
void
initView
()
{
private
void
initView
()
{
...
@@ -86,7 +94,7 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
...
@@ -86,7 +94,7 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
* */
* */
private
void
initData
()
{
private
void
initData
()
{
myInforPresenter
=
new
MyInforPresenterImpl
(
this
);
myInforPresenter
=
new
MyInforPresenterImpl
(
this
);
myInforPresenter
.
getUserInfo
(
"xjl"
);
myInforPresenter
.
getUserInfo
(
getUserName
()
);
}
}
/**
/**
...
@@ -127,6 +135,8 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
...
@@ -127,6 +135,8 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
String
password
=
sharedPreferences
.
getString
(
"password"
,
""
);
String
password
=
sharedPreferences
.
getString
(
"password"
,
""
);
user
.
setLoginName
(
loginName
);
user
.
setLoginName
(
loginName
);
user
.
setPassword
(
password
);
user
.
setPassword
(
password
);
saveUserId
(
user
.
getId
());
if
(
user
.
getRealName
().
equals
(
"null"
))
{
if
(
user
.
getRealName
().
equals
(
"null"
))
{
mRealNameTv
.
setText
(
"null"
);
mRealNameTv
.
setText
(
"null"
);
}
else
{
}
else
{
...
@@ -140,6 +150,18 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
...
@@ -140,6 +150,18 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
mPasswordTv
.
setText
(
password
);
// 设置密码
mPasswordTv
.
setText
(
password
);
// 设置密码
mUserNmaeTv
.
setText
(
loginName
);
mUserNmaeTv
.
setText
(
loginName
);
}
}
/**
* @Description 保存用户id
* @param id 用户id
* */
private
void
saveUserId
(
int
id
)
{
SharedPreferences
sharedPreferences1
=
getContext
().
getSharedPreferences
(
"loginUser"
,
Context
.
MODE_PRIVATE
);
SharedPreferences
.
Editor
editor
=
sharedPreferences1
.
edit
();
editor
.
putInt
(
"userId"
,
id
);
editor
.
commit
();
}
/**
/**
* @Description 密码修改成功
* @Description 密码修改成功
* */
* */
...
@@ -147,7 +169,7 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
...
@@ -147,7 +169,7 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
public
void
modifyPswSuccess
()
{
public
void
modifyPswSuccess
()
{
dialog
.
dismiss
();
dialog
.
dismiss
();
getActivity
().
setResult
(
Common
.
RE_LOGIN
);
getActivity
().
setResult
(
Common
.
RE_LOGIN
);
// TODO: 2017/6/9 密码修改成功提示框的样式可能需要修改
// TODO: 2017/6/9 密码修改成功提示框的样式可能需要修改
AlertDialog
ad
=
new
AlertDialog
.
Builder
(
getActivity
())
AlertDialog
ad
=
new
AlertDialog
.
Builder
(
getActivity
())
.
setMessage
(
R
.
string
.
modify_password_success
)
.
setMessage
(
R
.
string
.
modify_password_success
)
.
setPositiveButton
(
R
.
string
.
confirm
,
new
DialogInterface
.
OnClickListener
()
{
.
setPositiveButton
(
R
.
string
.
confirm
,
new
DialogInterface
.
OnClickListener
()
{
...
@@ -230,4 +252,11 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
...
@@ -230,4 +252,11 @@ public class MyInformationFragment extends Fragment implements IMyInformationFra
dialogWindow
.
setAttributes
(
lp
);
dialogWindow
.
setAttributes
(
lp
);
dialog
.
show
();
dialog
.
show
();
}
}
public
String
getUserName
(){
SharedPreferences
preferences
=
getActivity
()
.
getSharedPreferences
(
Common
.
LOGIN_USER_SHAREDPREFERENCE
,
Context
.
MODE_PRIVATE
);
String
userName
=
preferences
.
getString
(
Common
.
USER_NAME_SHAREDPREFERENCE
,
null
);
return
userName
;
}
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/model/DispatchInModel.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
model
;
import
com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchCallback
;
import
com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchInSearchCallback
;
import
java.util.List
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/12
*/
public
interface
DispatchInModel
extends
DispatchModel
{
void
search
(
String
search
,
int
userId
,
DispatchInSearchCallback
callback
);
void
submit
(
List
<
Integer
>
mList
,
int
parkId
,
String
token
,
DispatchCallback
callback
);
}
app/src/main/java/com/senthink/ebike_administrer_tool/model/D
IspatchOut
Model.java
→
app/src/main/java/com/senthink/ebike_administrer_tool/model/D
ispatch
Model.java
View file @
1977857b
...
@@ -2,6 +2,8 @@ package com.senthink.ebike_administrer_tool.model;
...
@@ -2,6 +2,8 @@ package com.senthink.ebike_administrer_tool.model;
import
com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchCallback
;
import
com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchCallback
;
import
java.util.List
;
/**
/**
* @Description :
* @Description :
* @Author : ni
* @Author : ni
...
@@ -9,8 +11,6 @@ import com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchCallb
...
@@ -9,8 +11,6 @@ import com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchCallb
* @Date : 2017/6/11
* @Date : 2017/6/11
*/
*/
public
interface
DIspatchOutModel
{
public
interface
DispatchModel
{
void
getCarInfo
(
DispatchCallback
callback
);
void
getCarInfo
(
String
shellId
,
DispatchCallback
callback
);
void
submit
(
DispatchCallback
callback
);
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/model/DispatchOutModel.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
model
;
import
com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchCallback
;
import
java.util.List
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/12
*/
public
interface
DispatchOutModel
extends
DispatchModel
{
void
submit
(
List
<
Integer
>
mList
,
String
token
,
DispatchCallback
callback
);
}
app/src/main/java/com/senthink/ebike_administrer_tool/model/callback/dispatch/DispatchCallback.java
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
model
.
callback
.
dispatch
;
package
com
.
senthink
.
ebike_administrer_tool
.
model
.
callback
.
dispatch
;
import
com.senthink.ebike_administrer_tool.bean.userInfo.GetUserInfoById
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchCarInfo
;
import
java.util.List
;
/**
/**
* @Description : 调度的回调
* @Description : 调度的回调
...
@@ -11,11 +13,11 @@ import com.senthink.ebike_administrer_tool.bean.userInfo.GetUserInfoById;
...
@@ -11,11 +13,11 @@ import com.senthink.ebike_administrer_tool.bean.userInfo.GetUserInfoById;
public
interface
DispatchCallback
{
public
interface
DispatchCallback
{
/** 获取信息成功 */
/** 获取信息成功 */
void
getInfoSuccess
();
void
getInfoSuccess
(
DispatchCarInfo
out
);
/** 获取信息失败 */
/** 获取信息失败 */
void
getInfoFailed
(
String
msg
);
void
getInfoFailed
(
String
msg
);
/** 修改密码成功 */
/** 修改密码成功 */
void
submitSuccess
();
void
submitSuccess
();
/** 修改密码失败 */
/** 修改密码失败 */
void
submitFailed
(
String
msg
);
void
submitFailed
(
List
<
Integer
>
list
);
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/model/callback/dispatch/DispatchInSearchCallback.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
model
.
callback
.
dispatch
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/12
*/
public
interface
DispatchInSearchCallback
extends
DispatchCallback
{
void
searchSuccess
();
void
searchFailed
(
String
msg
);
}
app/src/main/java/com/senthink/ebike_administrer_tool/model/impl/DispatchOutModelImpl.java
deleted
100644 → 0
View file @
ecb1f5eb
package
com
.
senthink
.
ebike_administrer_tool
.
model
.
impl
;
import
com.senthink.ebike_administrer_tool.model.DIspatchOutModel
;
import
com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchCallback
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/11
*/
public
class
DispatchOutModelImpl
extends
BasePresenterImpl
implements
DIspatchOutModel
{
@Override
public
void
getCarInfo
(
DispatchCallback
callback
)
{
callback
.
getInfoSuccess
();
}
@Override
public
void
submit
(
DispatchCallback
callback
)
{
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/model/impl/LoginModelImpl.java
View file @
1977857b
...
@@ -67,16 +67,4 @@ public class LoginModelImpl implements LoginModel {
...
@@ -67,16 +67,4 @@ public class LoginModelImpl implements LoginModel {
});
});
}
}
// /**
// * @Description: 保存信息
// * @param loginUser
// * */
// private void saveInfo(LoginUser loginUser) {
// SharedPreferences preference = MyApplication.getApplication()
// .getSharedPreferences("loginUser", Context.MODE_PRIVATE);
// SharedPreferences.Editor editor=preference.edit();
// editor.putString("username",loginUser.getUserName());
// editor.putString("password",loginUser.getPassWord());
// editor.commit();
// }
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/model/impl/UserInfoModelImpl.java
View file @
1977857b
...
@@ -101,7 +101,7 @@ public class UserInfoModelImpl extends BasePresenterImpl implements UserInfoMode
...
@@ -101,7 +101,7 @@ public class UserInfoModelImpl extends BasePresenterImpl implements UserInfoMode
* @Description 根据用户id来获取用户信息,主要包括电话,真实姓名
* @Description 根据用户id来获取用户信息,主要包括电话,真实姓名
*/
*/
@Override
@Override
public
void
getUserInfoById
(
int
id
,
final
UserInfoCallback
callback
)
{
public
void
getUserInfoById
(
final
int
id
,
final
UserInfoCallback
callback
)
{
StringBuilder
url
=
new
StringBuilder
().
append
(
CommonUrl
.
GET_USER_INFO_URL
);
StringBuilder
url
=
new
StringBuilder
().
append
(
CommonUrl
.
GET_USER_INFO_URL
);
url
.
append
(
id
);
url
.
append
(
id
);
AsyncHttp
http
=
new
AsyncHttp
(
MyApplication
.
getContext
());
AsyncHttp
http
=
new
AsyncHttp
(
MyApplication
.
getContext
());
...
@@ -120,6 +120,7 @@ public class UserInfoModelImpl extends BasePresenterImpl implements UserInfoMode
...
@@ -120,6 +120,7 @@ public class UserInfoModelImpl extends BasePresenterImpl implements UserInfoMode
GetUserInfoById
user
=
new
GetUserInfoById
();
GetUserInfoById
user
=
new
GetUserInfoById
();
user
.
setRealName
(
name
);
user
.
setRealName
(
name
);
user
.
setTelephone
(
tel
);
user
.
setTelephone
(
tel
);
user
.
setId
(
id
);
callback
.
getInfoSuccess
(
user
);
callback
.
getInfoSuccess
(
user
);
}
catch
(
JSONException
e
)
{
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
...
...
app/src/main/java/com/senthink/ebike_administrer_tool/model/impl/dispatchImpl/DispatchInModelImpl.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
model
.
impl
.
dispatchImpl
;
import
android.util.Log
;
import
com.senthink.ebike_administrer_tool.MyApplication
;
import
com.senthink.ebike_administrer_tool.asynchttp.AsyncHttp
;
import
com.senthink.ebike_administrer_tool.asynchttp.HttpCallback
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchCarInfo
;
import
com.senthink.ebike_administrer_tool.common.CommonUrl
;
import
com.senthink.ebike_administrer_tool.model.DispatchInModel
;
import
com.senthink.ebike_administrer_tool.model.DispatchModel
;
import
com.senthink.ebike_administrer_tool.model.DispatchOutModel
;
import
com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchCallback
;
import
com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchInSearchCallback
;
import
com.senthink.ebike_administrer_tool.model.impl.BasePresenterImpl
;
import
org.json.JSONArray
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/12
*/
public
class
DispatchInModelImpl
extends
BasePresenterImpl
implements
DispatchInModel
{
private
static
final
String
TAG
=
DispatchInModelImpl
.
class
.
getSimpleName
();
@Override
public
void
getCarInfo
(
String
shellId
,
final
DispatchCallback
callback
)
{
AsyncHttp
http
=
new
AsyncHttp
(
MyApplication
.
getApplication
());
StringBuilder
builder
=
new
StringBuilder
(
CommonUrl
.
GET_CAR_PARK_INFO
)
.
append
(
shellId
);
String
url
=
builder
.
toString
();
http
.
GetHttpClient
(
url
,
new
HttpCallback
()
{
@Override
public
void
HttpCallbackResult
(
int
code
,
JSONObject
response
)
{
try
{
String
reponseCode
=
response
.
getString
(
"code"
);
if
(
reponseCode
.
equals
(
"8001"
))
{
DispatchCarInfo
out
=
new
DispatchCarInfo
();
JSONObject
obj
=
response
.
getJSONObject
(
"data"
);
int
id
=
obj
.
getInt
(
"id"
);
String
vehicleNo
=
obj
.
getString
(
"vehicleNo"
);
// String parkingCode = obj.getString("parkingCode");
out
.
setId
(
id
);
// out.setParkingCode(parkingCode);
out
.
setVehicleNo
(
vehicleNo
);
callback
.
getInfoSuccess
(
out
);
}
else
{
String
msg
=
response
.
getString
(
"msg"
);
callback
.
getInfoFailed
(
msg
);
}
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
}
}
@Override
public
void
HttpCallbackResult
(
int
code
,
String
response
)
{
}
});
}
@Override
public
void
search
(
String
search
,
int
userId
,
DispatchInSearchCallback
callback
)
{
// TODO: 2017/6/12 等后台接口
}
@Override
public
void
submit
(
List
<
Integer
>
mList
,
int
parkId
,
String
token
,
final
DispatchCallback
callback
)
{
AsyncHttp
http
=
new
AsyncHttp
(
MyApplication
.
getContext
());
JSONArray
array
=
new
JSONArray
();
JSONObject
obj
=
null
;
try
{
for
(
int
i
=
0
;
i
<
mList
.
size
();
i
++)
{
obj
=
new
JSONObject
();
obj
.
put
(
"id"
,
mList
.
get
(
i
));
obj
.
put
(
"inParkingId"
,
115
);
array
.
put
(
obj
);
}
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
}
http
.
PostHttpClient
(
CommonUrl
.
DISPATCH_IN_SUBMIT
,
token
,
array
.
toString
(),
new
HttpCallback
()
{
@Override
public
void
HttpCallbackResult
(
int
code
,
JSONObject
response
)
{
Log
.
i
(
TAG
,
"HttpCallbackResult: "
+
code
);
try
{
String
responseCode
=
response
.
getString
(
"code"
);
if
(
responseCode
.
equals
(
"8001"
))
{
Log
.
i
(
TAG
,
"HttpCallbackResult: "
+
responseCode
);
callback
.
submitSuccess
();
}
else
if
(
responseCode
.
equals
(
"4001"
))
{
// 存在失败的车辆
JSONArray
array
=
response
.
getJSONArray
(
"data"
);
List
<
Integer
>
tmpList
=
new
ArrayList
<
Integer
>();
JSONObject
obj1
=
null
;
for
(
int
i
=
0
;
i
<
array
.
length
();
i
++)
{
obj1
=
array
.
getJSONObject
(
i
);
int
id
=
obj1
.
getInt
(
"id"
);
tmpList
.
add
(
id
);
}
callback
.
submitFailed
(
tmpList
);
}
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
}
}
@Override
public
void
HttpCallbackResult
(
int
code
,
String
response
)
{
}
});
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/model/impl/dispatchImpl/DispatchOutModelImpl.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
model
.
impl
.
dispatchImpl
;
import
android.util.Log
;
import
com.senthink.ebike_administrer_tool.MyApplication
;
import
com.senthink.ebike_administrer_tool.asynchttp.AsyncHttp
;
import
com.senthink.ebike_administrer_tool.asynchttp.HttpCallback
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchCarInfo
;
import
com.senthink.ebike_administrer_tool.common.CommonUrl
;
import
com.senthink.ebike_administrer_tool.model.DispatchModel
;
import
com.senthink.ebike_administrer_tool.model.DispatchOutModel
;
import
com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchCallback
;
import
com.senthink.ebike_administrer_tool.model.impl.BasePresenterImpl
;
import
org.json.JSONArray
;
import
org.json.JSONException
;
import
org.json.JSONObject
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/11
*/
public
class
DispatchOutModelImpl
extends
BasePresenterImpl
implements
DispatchOutModel
{
private
static
final
String
TAG
=
DispatchOutModelImpl
.
class
.
getSimpleName
();
@Override
public
void
getCarInfo
(
String
shellId
,
final
DispatchCallback
callback
)
{
AsyncHttp
http
=
new
AsyncHttp
(
MyApplication
.
getApplication
());
StringBuilder
builder
=
new
StringBuilder
(
CommonUrl
.
GET_CAR_PARK_INFO
)
.
append
(
shellId
);
String
url
=
builder
.
toString
();
http
.
GetHttpClient
(
url
,
new
HttpCallback
()
{
@Override
public
void
HttpCallbackResult
(
int
code
,
JSONObject
response
)
{
try
{
String
reponseCode
=
response
.
getString
(
"code"
);
if
(
reponseCode
.
equals
(
"8001"
))
{
DispatchCarInfo
out
=
new
DispatchCarInfo
();
JSONObject
obj
=
response
.
getJSONObject
(
"data"
);
int
id
=
obj
.
getInt
(
"id"
);
String
vehicleNo
=
obj
.
getString
(
"vehicleNo"
);
String
parkingCode
=
obj
.
getString
(
"parkingCode"
);
out
.
setId
(
id
);
out
.
setParkingCode
(
parkingCode
);
out
.
setVehicleNo
(
vehicleNo
);
callback
.
getInfoSuccess
(
out
);
}
else
{
String
msg
=
response
.
getString
(
"msg"
);
callback
.
getInfoFailed
(
msg
);
}
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
}
}
@Override
public
void
HttpCallbackResult
(
int
code
,
String
response
)
{
}
});
}
@Override
public
void
submit
(
List
<
Integer
>
mList
,
String
token
,
final
DispatchCallback
callback
)
{
AsyncHttp
http
=
new
AsyncHttp
(
MyApplication
.
getContext
());
JSONArray
array
=
new
JSONArray
();
JSONObject
obj
=
null
;
try
{
for
(
int
i
=
0
;
i
<
mList
.
size
();
i
++)
{
obj
=
new
JSONObject
();
obj
.
put
(
"id"
,
mList
.
get
(
i
));
array
.
put
(
obj
);
}
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
}
http
.
PostHttpClient
(
CommonUrl
.
DISPATCH_OUT_SUBMIT
,
token
,
array
.
toString
(),
new
HttpCallback
()
{
@Override
public
void
HttpCallbackResult
(
int
code
,
JSONObject
response
)
{
Log
.
i
(
TAG
,
"HttpCallbackResult: "
+
code
);
try
{
String
responseCode
=
response
.
getString
(
"code"
);
if
(
responseCode
.
equals
(
"8001"
))
{
Log
.
i
(
TAG
,
"HttpCallbackResult: "
+
responseCode
);
callback
.
submitSuccess
();
}
else
if
(
responseCode
.
equals
(
"4001"
))
{
// 存在车辆失败
JSONArray
array
=
response
.
getJSONArray
(
"data"
);
List
<
Integer
>
tmpList
=
new
ArrayList
<
Integer
>();
JSONObject
obj1
=
null
;
for
(
int
i
=
0
;
i
<
array
.
length
();
i
++)
{
obj1
=
array
.
getJSONObject
(
i
);
int
id
=
obj1
.
getInt
(
"id"
);
tmpList
.
add
(
id
);
}
callback
.
submitFailed
(
tmpList
);
}
}
catch
(
JSONException
e
)
{
e
.
printStackTrace
();
}
}
@Override
public
void
HttpCallbackResult
(
int
code
,
String
response
)
{
}
});
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/DIspatch
Out
Presenter.java
→
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/DIspatchPresenter.java
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
presenter
;
package
com
.
senthink
.
ebike_administrer_tool
.
presenter
;
import
java.util.List
;
/**
/**
* @Description :
* @Description :
* @Author : ni
* @Author : ni
...
@@ -7,9 +9,8 @@ package com.senthink.ebike_administrer_tool.presenter;
...
@@ -7,9 +9,8 @@ package com.senthink.ebike_administrer_tool.presenter;
* @Date : 2017/6/11
* @Date : 2017/6/11
*/
*/
public
interface
DIspatch
Out
Presenter
{
public
interface
DIspatchPresenter
{
// 获取车辆信息
// 获取车辆信息
void
getCarInfo
();
void
getCarInfo
(
String
shellId
);
// 提交信息
void
submit
();
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/DispatchInPresenter.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
presenter
;
import
com.senthink.ebike_administrer_tool.model.DispatchModel
;
import
java.util.List
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/12
*/
public
interface
DispatchInPresenter
extends
DIspatchPresenter
{
void
search
(
String
search
,
int
userId
);
void
submit
(
List
<
Integer
>
mList
,
int
parkId
,
String
token
);
}
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/DispatchOutPresenter.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
presenter
;
import
java.util.List
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/13
*/
public
interface
DispatchOutPresenter
extends
DIspatchPresenter
{
// 提交信息
void
submit
(
List
<
Integer
>
mList
,
String
token
);
}
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/impl/DispatchInPresenterImpl.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
presenter
.
impl
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchCarInfo
;
import
com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchCallback
;
import
com.senthink.ebike_administrer_tool.model.impl.dispatchImpl.DispatchInModelImpl
;
import
com.senthink.ebike_administrer_tool.presenter.DispatchInPresenter
;
import
com.senthink.ebike_administrer_tool.view.IDispatchFragment
;
import
java.util.List
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/12
*/
public
class
DispatchInPresenterImpl
implements
DispatchInPresenter
{
private
DispatchInModelImpl
model
;
private
IDispatchFragment
fragment
;
public
DispatchInPresenterImpl
(
IDispatchFragment
fragmet
)
{
this
.
fragment
=
fragmet
;
model
=
new
DispatchInModelImpl
();
}
@Override
public
void
getCarInfo
(
String
shellId
)
{
model
.
getCarInfo
(
shellId
,
new
DispatchCallback
()
{
@Override
public
void
getInfoSuccess
(
DispatchCarInfo
out
)
{
fragment
.
updateInfo
(
out
);
}
@Override
public
void
getInfoFailed
(
String
msg
)
{
fragment
.
getInformationFailed
(
msg
);
}
@Override
public
void
submitSuccess
()
{
}
@Override
public
void
submitFailed
(
List
<
Integer
>
list
)
{
fragment
.
submitFailed
(
list
);
}
});
}
@Override
public
void
submit
(
List
<
Integer
>
mList
,
int
parkId
,
String
token
)
{
model
.
submit
(
mList
,
parkId
,
token
,
new
DispatchCallback
()
{
@Override
public
void
getInfoSuccess
(
DispatchCarInfo
out
)
{
}
@Override
public
void
getInfoFailed
(
String
msg
)
{
}
@Override
public
void
submitSuccess
()
{
fragment
.
submitSuccess
();
}
@Override
public
void
submitFailed
(
List
<
Integer
>
list
)
{
fragment
.
submitFailed
(
list
);
}
});
}
@Override
public
void
search
(
String
search
,
int
userId
)
{
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/impl/D
I
spatchOutPresenterImpl.java
→
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/impl/D
i
spatchOutPresenterImpl.java
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
presenter
.
impl
;
package
com
.
senthink
.
ebike_administrer_tool
.
presenter
.
impl
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchCarInfo
;
import
com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchCallback
;
import
com.senthink.ebike_administrer_tool.model.callback.dispatch.DispatchCallback
;
import
com.senthink.ebike_administrer_tool.model.impl.DispatchOutModelImpl
;
import
com.senthink.ebike_administrer_tool.model.impl.dispatchImpl.DispatchOutModelImpl
;
import
com.senthink.ebike_administrer_tool.presenter.DIspatchOutPresenter
;
import
com.senthink.ebike_administrer_tool.presenter.DIspatchPresenter
;
import
com.senthink.ebike_administrer_tool.presenter.DispatchOutPresenter
;
import
com.senthink.ebike_administrer_tool.view.IDispatchFragment
;
import
com.senthink.ebike_administrer_tool.view.IDispatchFragment
;
import
java.util.List
;
/**
/**
* @Description :
* @Description :
* @Author : ni
* @Author : ni
...
@@ -12,21 +16,21 @@ import com.senthink.ebike_administrer_tool.view.IDispatchFragment;
...
@@ -12,21 +16,21 @@ import com.senthink.ebike_administrer_tool.view.IDispatchFragment;
* @Date : 2017/6/11
* @Date : 2017/6/11
*/
*/
public
class
D
IspatchOutPresenterImpl
implements
DI
spatchOutPresenter
{
public
class
D
ispatchOutPresenterImpl
implements
Di
spatchOutPresenter
{
private
DispatchOutModelImpl
userInfoM
odel
;
private
DispatchOutModelImpl
m
odel
;
private
IDispatchFragment
fragment
;
private
IDispatchFragment
fragment
;
public
D
I
spatchOutPresenterImpl
(
IDispatchFragment
fragmet
)
{
public
D
i
spatchOutPresenterImpl
(
IDispatchFragment
fragmet
)
{
this
.
fragment
=
fragmet
;
this
.
fragment
=
fragmet
;
userInfoM
odel
=
new
DispatchOutModelImpl
();
m
odel
=
new
DispatchOutModelImpl
();
}
}
@Override
@Override
public
void
getCarInfo
()
{
public
void
getCarInfo
(
String
shellId
)
{
userInfoModel
.
getCarInfo
(
new
DispatchCallback
()
{
model
.
getCarInfo
(
shellId
,
new
DispatchCallback
()
{
@Override
@Override
public
void
getInfoSuccess
()
{
public
void
getInfoSuccess
(
DispatchCarInfo
out
)
{
fragment
.
updateInfo
();
fragment
.
updateInfo
(
out
);
}
}
@Override
@Override
...
@@ -36,21 +40,20 @@ public class DIspatchOutPresenterImpl implements DIspatchOutPresenter {
...
@@ -36,21 +40,20 @@ public class DIspatchOutPresenterImpl implements DIspatchOutPresenter {
@Override
@Override
public
void
submitSuccess
()
{
public
void
submitSuccess
()
{
fragment
.
submitSuccess
();
}
}
@Override
@Override
public
void
submitFailed
(
String
msg
)
{
public
void
submitFailed
(
List
<
Integer
>
list
)
{
fragment
.
postInformationFailed
(
msg
);
}
}
});
});
}
}
@Override
@Override
public
void
submit
()
{
public
void
submit
(
List
<
Integer
>
mList
,
String
token
)
{
userInfoModel
.
submit
(
new
DispatchCallback
()
{
model
.
submit
(
mList
,
token
,
new
DispatchCallback
()
{
@Override
@Override
public
void
getInfoSuccess
()
{
public
void
getInfoSuccess
(
DispatchCarInfo
out
)
{
}
}
...
@@ -61,12 +64,12 @@ public class DIspatchOutPresenterImpl implements DIspatchOutPresenter {
...
@@ -61,12 +64,12 @@ public class DIspatchOutPresenterImpl implements DIspatchOutPresenter {
@Override
@Override
public
void
submitSuccess
()
{
public
void
submitSuccess
()
{
fragment
.
submitSuccess
();
}
}
@Override
@Override
public
void
submitFailed
(
String
msg
)
{
public
void
submitFailed
(
List
<
Integer
>
list
)
{
fragment
.
submitFailed
(
list
);
}
}
});
});
}
}
...
...
app/src/main/java/com/senthink/ebike_administrer_tool/presenter/impl/MyInforPresenterImpl.java
View file @
1977857b
...
@@ -58,7 +58,7 @@ public class MyInforPresenterImpl implements MyInforPresenter {
...
@@ -58,7 +58,7 @@ public class MyInforPresenterImpl implements MyInforPresenter {
userInfoModel
.
modifyPassword
(
pswBean
,
new
UserInfoCallback
()
{
userInfoModel
.
modifyPassword
(
pswBean
,
new
UserInfoCallback
()
{
@Override
@Override
public
void
getInfoSuccess
(
GetUserInfoById
user
)
{
public
void
getInfoSuccess
(
GetUserInfoById
user
)
{
fragment
.
updateInfor
(
user
);
}
}
@Override
@Override
...
...
app/src/main/java/com/senthink/ebike_administrer_tool/view/IDispatchFragment.java
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
view
;
package
com
.
senthink
.
ebike_administrer_tool
.
view
;
import
com.senthink.ebike_administrer_tool.bean.dispatch.DispatchCarInfo
;
import
java.util.List
;
/**
/**
* @Description : 调度界面的接口
* @Description : 调度界面的接口
* @Author : ni
* @Author : ni
...
@@ -9,7 +13,9 @@ package com.senthink.ebike_administrer_tool.view;
...
@@ -9,7 +13,9 @@ package com.senthink.ebike_administrer_tool.view;
public
interface
IDispatchFragment
extends
IBaseFragment
{
public
interface
IDispatchFragment
extends
IBaseFragment
{
// 更新信息
// 更新信息
void
updateInfo
();
void
updateInfo
(
DispatchCarInfo
out
);
// 提交成功
// 提交成功
void
submitSuccess
();
void
submitSuccess
();
void
submitFailed
(
List
<
Integer
>
list
);
}
}
app/src/main/java/com/senthink/ebike_administrer_tool/widget/ClearEditText.java
0 → 100644
View file @
1977857b
package
com
.
senthink
.
ebike_administrer_tool
.
widget
;
import
android.content.Context
;
import
android.graphics.Rect
;
import
android.graphics.drawable.Drawable
;
import
android.text.Editable
;
import
android.text.TextWatcher
;
import
android.util.AttributeSet
;
import
android.view.MotionEvent
;
import
android.view.View
;
import
android.view.animation.Animation
;
import
android.view.animation.CycleInterpolator
;
import
android.view.animation.TranslateAnimation
;
import
android.widget.EditText
;
import
com.senthink.ebike_administrer_tool.R
;
/**
* @Description :
* @Author : ni
* @Email : lifengni2015@gmail.com
* @Date : 2017/6/13
*/
public
class
ClearEditText
extends
EditText
implements
View
.
OnFocusChangeListener
,
TextWatcher
{
/**
* 删除按钮的引用
*/
private
Drawable
mClearDrawable
;
private
Context
context
;
/**
* 控件是否有焦点
*/
private
boolean
hasFocus
;
public
ClearEditText
(
Context
context
)
{
this
(
context
,
null
);
// super(context);
// this.context = context;
// init();
}
public
ClearEditText
(
Context
context
,
AttributeSet
attrs
){
//这里构造方法也很重要,不加这个很多属性不能再XML里面定义
this
(
context
,
attrs
,
android
.
R
.
attr
.
editTextStyle
);
}
public
ClearEditText
(
Context
context
,
AttributeSet
attrs
,
int
defStyle
)
{
super
(
context
,
attrs
,
defStyle
);
init
();
}
private
void
init
()
{
//获取EditText的DrawableRight,假如没有设置我们就使用默认的图片
mClearDrawable
=
getCompoundDrawables
()[
2
];
if
(
mClearDrawable
==
null
)
{
mClearDrawable
=
getResources
().
getDrawable
(
R
.
drawable
.
icon_x_hui
);
}
mClearDrawable
.
setBounds
(
0
,
0
,
mClearDrawable
.
getIntrinsicWidth
(),
mClearDrawable
.
getIntrinsicHeight
());
//默认设置隐藏图标
setClearIconVisible
(
false
);
//设置焦点改变的监听
setOnFocusChangeListener
(
this
);
//设置输入框里面内容发生改变的监听
addTextChangedListener
(
this
);
}
@Override
public
boolean
onTouchEvent
(
MotionEvent
event
)
{
if
(
mClearDrawable
!=
null
&&
event
.
getAction
()
==
MotionEvent
.
ACTION_UP
)
{
int
x
=
(
int
)
event
.
getX
();
//判断触摸点是否在水平范围内
boolean
isInnerWidth
=
(
x
>
(
getWidth
()
-
getTotalPaddingRight
()))
&&
(
x
<
(
getWidth
()
-
getPaddingRight
()));
//获取删除图标的边界,返回一个Rect对象
Rect
rect
=
mClearDrawable
.
getBounds
();
//获取删除图标的高度
int
height
=
rect
.
height
();
int
y
=
(
int
)
event
.
getY
();
//计算图标底部到控件底部的距离
int
distance
=
(
getHeight
()
-
height
)
/
2
;
//判断触摸点是否在竖直范围内(可能会有点误差)
//触摸点的纵坐标在distance到(distance+图标自身的高度)之内,则视为点中删除图标
boolean
isInnerHeight
=
(
y
>
distance
)
&&
(
y
<
(
distance
+
height
));
if
(
isInnerHeight
&&
isInnerWidth
)
{
this
.
setText
(
""
);
}
}
return
super
.
onTouchEvent
(
event
);
}
/**
* 设置清除图标的显示与隐藏,调用setCompoundDrawables为EditText绘制上去
*
* @param visible
*/
private
void
setClearIconVisible
(
boolean
visible
)
{
Drawable
right
=
visible
?
mClearDrawable
:
null
;
setCompoundDrawables
(
getCompoundDrawables
()[
0
],
getCompoundDrawables
()[
1
],
right
,
getCompoundDrawables
()[
3
]);
}
/**
* 当ClearEditText焦点发生变化的时候,判断里面字符串长度设置清除图标的显示与隐藏
*/
@Override
public
void
onFocusChange
(
View
v
,
boolean
hasFocus
)
{
this
.
hasFocus
=
hasFocus
;
if
(
hasFocus
)
{
setClearIconVisible
(
getText
().
length
()
>
0
);
}
else
{
setClearIconVisible
(
false
);
}
}
/**
* 当输入框里面内容发生变化的时候回调的方法
*/
@Override
public
void
onTextChanged
(
CharSequence
text
,
int
start
,
int
lengthBefore
,
int
lengthAfter
)
{
if
(
hasFocus
)
{
setClearIconVisible
(
text
.
length
()
>
0
);
}
}
@Override
public
void
beforeTextChanged
(
CharSequence
s
,
int
start
,
int
count
,
int
after
)
{
}
@Override
public
void
afterTextChanged
(
Editable
s
)
{
}
/**
* 设置晃动动画
*/
public
void
setShakeAnimation
()
{
this
.
setAnimation
(
shakeAnimation
(
5
));
}
/**
* 晃动动画
*
* @param counts 1秒钟晃动多少下
* @return
*/
public
static
Animation
shakeAnimation
(
int
counts
)
{
Animation
translateAnimation
=
new
TranslateAnimation
(
0
,
10
,
0
,
0
);
translateAnimation
.
setInterpolator
(
new
CycleInterpolator
(
counts
));
translateAnimation
.
setDuration
(
1000
);
return
translateAnimation
;
}
}
app/src/main/res/drawable/success_dialog.xml
0 → 100644
View file @
1977857b
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:shape=
"rectangle"
>
<corners
android:bottomLeftRadius=
"@dimen/switch_button_corners_radius"
android:bottomRightRadius=
"@dimen/switch_button_corners_radius"
android:topLeftRadius=
"@dimen/switch_button_corners_radius"
android:topRightRadius=
"@dimen/switch_button_corners_radius"
/>
<solid
android:color=
"@color/tab_tv_normal"
/>
</shape>
\ No newline at end of file
app/src/main/res/layout/fragment_dispatch.xml
View file @
1977857b
...
@@ -3,7 +3,44 @@
...
@@ -3,7 +3,44 @@
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:background=
"@color/background_color_white"
>
android:background=
"@color/background_color_white"
>
<android.support.v7.widget.Toolbar
android:id=
"@+id/dispatch_toolbar"
android:elevation=
"3dp"
android:background=
"@color/tab_tv_normal"
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:paddingLeft=
"20dp"
android:paddingRight=
"20dp"
>
<!--<ImageView-->
<!--android:id="@+id/iv_dispatch_back"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="left"-->
<!--android:src="@drawable/icon_fh"-->
<!--/>-->
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"center"
android:textColor=
"@color/login_text_color"
android:textSize=
"@dimen/title_text_size"
android:text=
"@string/app_name"
/>
<TextView
android:id=
"@+id/tv_submit"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"right"
android:text=
"@string/submit"
android:textColor=
"@color/login_text_color"
android:textSize=
"@dimen/toolbar_submit_size"
/>
</android.support.v7.widget.Toolbar>
<LinearLayout
<LinearLayout
android:paddingTop=
"15dp"
android:paddingTop=
"15dp"
android:paddingLeft=
"20dp"
android:paddingLeft=
"20dp"
...
...
app/src/main/res/layout/fragment_dispatch_in.xml
View file @
1977857b
...
@@ -4,15 +4,24 @@
...
@@ -4,15 +4,24 @@
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
android:paddingLeft=
"20dp"
android:paddingLeft=
"20dp"
android:paddingRight=
"20dp"
android:paddingRight=
"20dp"
android:focusable=
"true"
android:focusableInTouchMode=
"true"
>
>
<com.senthink.ebike_administrer_tool.widget.ClearEditText
<EditText
android:id=
"@+id/et_input_parkname"
android:id=
"@+id/et_input_parkname"
android:hint=
"@string/input_park_name"
android:hint=
"@string/input_park_name"
android:textSize=
"@dimen/small_text"
android:textSize=
"@dimen/small_text"
android:background=
"@drawable/search_park_name"
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"37dp"
android:layout_height=
"37dp"
/>
android:background=
"@drawable/search_park_name"
/>
<!--<EditText-->
<!--android:id="@+id/et_input_parkname"-->
<!--android:hint="@string/input_park_name"-->
<!--android:textSize="@dimen/small_text"-->
<!--android:layout_width="match_parent"-->
<!--android:layout_height="37dp"-->
<!--android:background="@drawable/search_park_name" />-->
<RelativeLayout
<RelativeLayout
android:id=
"@+id/rl_text"
android:id=
"@+id/rl_text"
android:paddingTop=
"10dp"
android:paddingTop=
"10dp"
...
...
app/src/main/res/layout/fragment_handle_issue.xml
View file @
1977857b
...
@@ -2,6 +2,43 @@
...
@@ -2,6 +2,43 @@
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
<android.support.v7.widget.Toolbar
android:id=
"@+id/main_toolbar"
android:elevation=
"3dp"
android:background=
"@color/tab_tv_normal"
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:paddingLeft=
"20dp"
android:paddingRight=
"20dp"
>
<!--<ImageView-->
<!--android:id="@+id/iv_dispatch_back"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="left"-->
<!--android:src="@drawable/icon_fh"-->
<!--/>-->
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"center"
android:textColor=
"@color/login_text_color"
android:textSize=
"@dimen/title_text_size"
android:text=
"@string/app_name"
/>
<!--<TextView-->
<!--android:id="@+id/tv_extra_text"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_centerInParent="true"-->
<!--android:layout_gravity="right"-->
<!--android:text="@string/logout"-->
<!--android:textColor="@color/login_text_color"-->
<!--android:textSize="@dimen/toolbar_submit_size" />-->
</android.support.v7.widget.Toolbar>
<TextView
<TextView
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
...
...
app/src/main/res/layout/fragment_me.xml
View file @
1977857b
...
@@ -5,6 +5,43 @@
...
@@ -5,6 +5,43 @@
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:background=
"@color/background_color_grey"
android:background=
"@color/background_color_grey"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
<android.support.v7.widget.Toolbar
android:id=
"@+id/me_toolbar"
android:elevation=
"3dp"
android:background=
"@color/tab_tv_normal"
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:paddingLeft=
"20dp"
android:paddingRight=
"20dp"
>
<!--<ImageView-->
<!--android:id="@+id/iv_dispatch_back"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="left"-->
<!--android:src="@drawable/icon_fh"-->
<!--/>-->
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"center"
android:textColor=
"@color/login_text_color"
android:textSize=
"@dimen/title_text_size"
android:text=
"@string/app_name"
/>
<!--<TextView-->
<!--android:id="@+id/tv_logout"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_centerInParent="true"-->
<!--android:layout_gravity="right"-->
<!--android:text="@string/logout"-->
<!--android:textColor="@color/login_text_color"-->
<!--android:textSize="@dimen/toolbar_submit_size" />-->
</android.support.v7.widget.Toolbar>
<ImageView
<ImageView
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"150dp"
android:layout_height=
"150dp"
...
...
app/src/main/res/layout/fragment_replace_battery.xml
View file @
1977857b
...
@@ -2,6 +2,43 @@
...
@@ -2,6 +2,43 @@
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
<android.support.v7.widget.Toolbar
android:id=
"@+id/main_toolbar"
android:elevation=
"3dp"
android:background=
"@color/tab_tv_normal"
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:paddingLeft=
"20dp"
android:paddingRight=
"20dp"
>
<!--<ImageView-->
<!--android:id="@+id/iv_dispatch_back"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="left"-->
<!--android:src="@drawable/icon_fh"-->
<!--/>-->
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"center"
android:textColor=
"@color/login_text_color"
android:textSize=
"@dimen/title_text_size"
android:text=
"@string/app_name"
/>
<TextView
android:id=
"@+id/tv_list"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"right"
android:text=
"@string/list"
android:textColor=
"@color/login_text_color"
android:textSize=
"@dimen/toolbar_submit_size"
/>
</android.support.v7.widget.Toolbar>
<TextView
<TextView
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
...
...
app/src/main/res/layout/fragment_safeguard.xml
View file @
1977857b
...
@@ -2,6 +2,43 @@
...
@@ -2,6 +2,43 @@
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
<android.support.v7.widget.Toolbar
android:id=
"@+id/main_toolbar"
android:elevation=
"3dp"
android:background=
"@color/tab_tv_normal"
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:paddingLeft=
"20dp"
android:paddingRight=
"20dp"
>
<!--<ImageView-->
<!--android:id="@+id/iv_dispatch_back"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="left"-->
<!--android:src="@drawable/icon_fh"-->
<!--/>-->
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"center"
android:textColor=
"@color/login_text_color"
android:textSize=
"@dimen/title_text_size"
android:text=
"@string/app_name"
/>
<!--<TextView-->
<!--android:id="@+id/tv_extra_text"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_centerInParent="true"-->
<!--android:layout_gravity="right"-->
<!--android:text="@string/logout"-->
<!--android:textColor="@color/login_text_color"-->
<!--android:textSize="@dimen/toolbar_submit_size" />-->
</android.support.v7.widget.Toolbar>
<TextView
<TextView
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:layout_height=
"match_parent"
...
...
app/src/main/res/layout/item_search_park_info.xml
0 → 100644
View file @
1977857b
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"30dp"
android:orientation=
"horizontal"
>
<TextView
android:id=
"@+id/tv_search_parkname"
android:layout_marginRight=
"10dp"
android:text=
"上官婉儿"
android:textSize=
"18sp"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
/>
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/layout_dialog_success.xml
0 → 100644
View file @
1977857b
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
android:orientation=
"vertical"
android:gravity=
"center|top"
android:background=
"@drawable/success_dialog"
>
<ImageView
android:layout_marginTop=
"40dp"
android:id=
"@+id/iv_cg"
android:src=
"@drawable/icon_cg"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
<TextView
android:layout_centerInParent=
"true"
android:layout_marginTop=
"15dp"
android:layout_below=
"@+id/iv_cg"
android:textColor=
"@color/white"
android:textSize=
"@dimen/toolbar_submit_size"
android:text=
"@string/dispatch_out_success"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
/>
</LinearLayout>
\ No newline at end of file
app/src/main/res/layout/layout_main.xml
View file @
1977857b
...
@@ -6,42 +6,6 @@
...
@@ -6,42 +6,6 @@
android:layout_width=
"match_parent"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
android:layout_height=
"match_parent"
>
<android.support.v7.widget.Toolbar
android:id=
"@+id/main_toolbar"
android:elevation=
"3dp"
android:background=
"@color/tab_tv_normal"
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:paddingLeft=
"20dp"
android:paddingRight=
"20dp"
>
<!--<ImageView-->
<!--android:id="@+id/iv_dispatch_back"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="left"-->
<!--android:src="@drawable/icon_fh"-->
<!--/>-->
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"center"
android:textColor=
"@color/login_text_color"
android:textSize=
"@dimen/title_text_size"
android:text=
"@string/app_name"
/>
<TextView
android:id=
"@+id/tv_extra_text"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"right"
android:textColor=
"@color/login_text_color"
android:textSize=
"@dimen/toolbar_submit_size"
/>
</android.support.v7.widget.Toolbar>
<android.support.v4.view.ViewPager
<android.support.v4.view.ViewPager
android:id=
"@+id/viewpager"
android:id=
"@+id/viewpager"
...
...
app/src/main/res/layout/layout_search_park.xml
0 → 100644
View file @
1977857b
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation=
"vertical"
android:layout_width=
"match_parent"
android:layout_height=
"match_parent"
>
<android.support.v7.widget.Toolbar
android:id=
"@+id/dispatch_toolbar"
android:elevation=
"3dp"
android:background=
"@color/tab_tv_normal"
android:layout_width=
"match_parent"
android:layout_height=
"?attr/actionBarSize"
android:paddingLeft=
"20dp"
android:paddingRight=
"20dp"
>
<!--<ImageView-->
<!--android:id="@+id/iv_dispatch_back"-->
<!--android:layout_width="wrap_content"-->
<!--android:layout_height="wrap_content"-->
<!--android:layout_gravity="left"-->
<!--android:src="@drawable/icon_fh"-->
<!--/>-->
<TextView
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:layout_centerInParent=
"true"
android:layout_gravity=
"center"
android:textColor=
"@color/login_text_color"
android:textSize=
"@dimen/title_text_size"
android:text=
"@string/app_name"
/>
</android.support.v7.widget.Toolbar>
<RelativeLayout
android:layout_width=
"match_parent"
android:layout_height=
"37dp"
>
<com.senthink.ebike_administrer_tool.widget.ClearEditText
android:id=
"@+id/et_input_parkname"
android:hint=
"@string/input_park_name"
android:textSize=
"@dimen/small_text"
android:background=
"@drawable/search_park_name"
android:layout_width=
"300dp"
android:layout_height=
"match_parent"
/>
<TextView
android:id=
"@+id/tv_cancel"
android:layout_alignParentRight=
"true"
android:layout_centerInParent=
"true"
android:textColor=
"@color/tab_tv_normal"
android:textSize=
"@dimen/toolbar_submit_size"
android:layout_width=
"wrap_content"
android:layout_height=
"wrap_content"
android:text=
"@string/cancel"
/>
</RelativeLayout>
<ListView
android:id=
"@+id/user_list"
android:layout_width=
"match_parent"
android:layout_height=
"wrap_content"
></ListView>
</LinearLayout>
\ No newline at end of file
app/src/main/res/values/strings.xml
View file @
1977857b
...
@@ -110,4 +110,7 @@
...
@@ -110,4 +110,7 @@
<string
name=
"button_web_search"
>
网页搜索
</string>
<string
name=
"button_web_search"
>
网页搜索
</string>
<string
name=
"button_share_by_email"
>
通过 E-mail 分享
</string>
<string
name=
"button_share_by_email"
>
通过 E-mail 分享
</string>
<string
name=
"button_share_by_sms"
>
通过短信分享
</string>
<string
name=
"button_share_by_sms"
>
通过短信分享
</string>
<string
name=
"no_car"
>
尚未添加车辆
</string>
<string
name=
"dispatch_out_success"
>
成功调出
</string>
<string
name=
"dispatch_in_success"
>
成功调入
</string>
</resources>
</resources>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment