package com.hefvcjm.expresshelper.activities;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.Gravity;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
import com.hefvcjm.expresshelper.R;
import com.hefvcjm.expresshelper.activities.nav_activities.AboutActivity;
import com.hefvcjm.expresshelper.activities.nav_activities.MeActivity;
import com.hefvcjm.expresshelper.activities.nav_activities.SecurityActivity;
import com.hefvcjm.expresshelper.activities.nav_activities.SettingActivity;
import com.hefvcjm.expresshelper.adapter.ExpressListAdapter;
import com.hefvcjm.expresshelper.express.ExpressInfos;
import com.hefvcjm.expresshelper.net.MyHttpClient;
import com.hefvcjm.expresshelper.staticinfos.StaticInfos;
import com.hefvcjm.expresshelper.storage.Storage;
import com.hefvcjm.expresshelper.user.UserInfos;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Observable;
import java.util.Observer;
import java.util.Set;
import cn.jpush.android.api.JPushInterface;
/**
* 通过模板生成的DrawerLayout+NavigationView布局,也是最常见的APP展示方式
*/
public class DrawerLayout_OneActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {
public static final int REQUESTCODE_STATE_CHAGED = 1;
private List<ExpressInfos> expressList = new ArrayList<ExpressInfos>();
private String url;
private String phone;
private ExpressListAdapter adapter;
private ListView lv_express_list;
private DrawerLayout drawerLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout_express_list);
// Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
// setSupportActionBar(toolbar);
//
// DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
// ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
// this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
// drawer.setDrawerListener(toggle);
// toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
drawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
url = getResources().getString(R.string.str_server_url) + "/query/expresses";
Intent intent = getIntent();
phone = intent.getStringExtra("phone");
StaticInfos.setPhone(phone);
UserInfos.getInstance().setPhone(phone);
JPushInterface.setAlias(DrawerLayout_OneActivity.this, 0, phone);
registerMessageReceiver();
// Collections.sort(expressList);
adapter = new ExpressListAdapter(DrawerLayout_OneActivity.this, R.layout.item_list_express, expressList);
lv_express_list = (ListView) findViewById(R.id.lv_express_list);
lv_express_list.setAdapter(adapter);
synchronize_express(url, phone);
lv_express_list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
ExpressInfos expressInfos = expressList.get(position);
Intent intent = new Intent(DrawerLayout_OneActivity.this, ExpressDetailActivity.class);
intent.putExtra("express_detail", expressInfos.toString());
intent.putExtra("position", position);
Log.d("listview", expressInfos.toString());
startActivityForResult(intent, REQUESTCODE_STATE_CHAGED);
}
});
}
public void doClick(View view) {
switch (view.getId()) {
case R.id.iv_title_logo:
drawerLayout.openDrawer(Gravity.LEFT);
drawerLayout.setDrawerLockMode(DrawerLayout.LOCK_MODE_UNLOCKED,
Gravity.RIGHT);
break;
default:
break;
}
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
switch (requestCode) {
case REQUESTCODE_STATE_CHAGED:
try {
JSONObject json = new JSONObject(data.getStringExtra("result"));
if ((boolean) json.get("ischanged")) {
int position = (int) json.get("position");
if (position != -1) {
String state = json.getString("state");
int visibleFirstPosition = lv_express_list.getFirstVisiblePosition();
int visibleLastPosition = lv_express_list.getLastVisiblePosition();
if (position >= visibleFirstPosition && position <= visibleLastPosition) {
View view = lv_express_list.getChildAt(position - visibleFirstPosition);
ExpressListAdapter.ViewHolder holder = (ExpressListAdapter.ViewHolder) view.getTag();
holder.tv_express_state.setText(state);
if (state.equals(getResources().getString(R.string.str_state_receiving))) {
holder.tv_express_state.setTextColor(getResources().getColor(R.color.state_receiving));
holder.iv_state.setImageDrawable(getResources().getDrawable(R.drawable.receiving));
} else if (state.equals(getResources().getString(R.string.str_state_received))) {
holder.tv_express_state.setTextColor(getResources().getColor(R.color.state_received));
holder.iv_state.setImageDrawable(getResources().getDrawable(R.drawable.received));
} else if (state.equals(getResources().getString(R.string.str_state_refused))) {
holder.tv_express_state.setTextColor(getResources().getColor(R.color.state_refused));
holder.iv_state.setImageDrawable(getResources().getDrawable(R.drawable.refused));
}
ExpressInfos expressInfos = expressList.get(position);
expressInfos.setState(state);
expressList.set(position, expressInfos);
}
}
}
} catch (JSONException e) {
e.printStackTrace();
}
break;
default:
break;
}
}
private void synchronize_express(final String url, String phone) {
try {
new MyHttpClient(url
, new JSONObject().put("Content-Type", "application/json;charset=utf-8")
, new JSONObject().put("phone", phone)
, new MyHttpClient.ResponseListener() {
@Override
public void onResponse(String body, J
没有合适的资源?快使用搜索试试~ 我知道了~
电子设计大赛(智能快递存取柜)android客户端.zip
共154个文件
xml:53个
png:53个
java:24个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 65 浏览量
2023-10-23
10:19:20
上传
评论
收藏 1.8MB ZIP 举报
温馨提示
电子设计大赛(智能快递存取柜)android客户端.zip
资源推荐
资源详情
资源评论
收起资源包目录
电子设计大赛(智能快递存取柜)android客户端.zip (154个子文件)
gradlew.bat 2KB
.gitignore 137B
.gitignore 7B
build.gradle 1KB
build.gradle 546B
settings.gradle 15B
gradlew 5KB
core-3.2.1.jar 532KB
jcore-android-1.2.1.jar 296KB
jpush-android-3.1.3.jar 172KB
jbarcode-0.2.8.jar 59KB
gradle-wrapper.jar 53KB
DrawerLayout_OneActivity.java 15KB
ExpressDetailActivity.java 14KB
LoginActivity.java 11KB
PhoneUtils.java 8KB
MyReceiver.java 8KB
MeActivity.java 7KB
MyHttpClient.java 6KB
ExpressInfos.java 5KB
WelcomeActivity.java 5KB
ExpressListAdapter.java 5KB
SecurityActivity.java 5KB
Storage.java 4KB
PhoneInfos.java 4KB
UserInfos.java 4KB
Barcode.java 3KB
SettingActivity.java 2KB
TestActivity.java 1KB
AboutActivity.java 832B
Logger.java 819B
ExampleInstrumentedTest.java 734B
ExampleApplication.java 707B
ExampleUnitTest.java 386B
StaticInfos.java 257B
HttpClient.java 114B
ss.md 37B
welcome_page.png 234KB
ic_delay.png 230KB
ic_background.png 58KB
ic_deadline.png 37KB
ic_launcher_round.png 15KB
ic_launcher_round.png 10KB
ic_launcher.png 9KB
ic_launcher_round.png 7KB
ic_launcher.png 6KB
main_icon.png 6KB
main_icon.png 6KB
logo_zto.png 6KB
logo_sto.png 5KB
ic_launcher_round.png 5KB
ic_warning.png 5KB
ic_launcher.png 4KB
ic_location.png 4KB
ic_code.png 3KB
received.png 3KB
receiving.png 3KB
main_icon_round.png 3KB
ic_launcher.png 3KB
ic_time.png 3KB
ic_launcher_round.png 3KB
logo_sf.png 2KB
logo_yt.png 2KB
ic_barscode.png 2KB
ic_launcher.png 2KB
company_logo_none.png 2KB
refused.png 2KB
logo_yd.png 2KB
ic_phone.png 2KB
ic_keypad.png 1KB
ic_keypad.png 1KB
ic_phone.png 1KB
ic_keypad.png 1KB
main_icon.png 1KB
ic_keypad.png 1KB
ic_phone.png 1KB
ic_phone.png 1KB
ic_keypad.png 1KB
ic_phone.png 928B
ic_setting.png 815B
ic_me.png 806B
main_icon.png 708B
jpush_ic_richpush_actionbar_back.png 695B
ic_logout.png 522B
ic_security.png 462B
ic_back_default.png 409B
ic_back_pressed.png 365B
ic_about.png 354B
ic_edit.png 309B
jpush_ic_richpush_actionbar_divider.png 181B
proguard-rules.pro 751B
gradle.properties 726B
gradle-wrapper.properties 230B
build_file_checksums.ser 537B
libjcore121.so 13KB
libjcore121.so 13KB
libjcore121.so 10KB
libjcore121.so 6KB
libjcore121.so 6KB
libjcore121.so 6KB
共 154 条
- 1
- 2
资源评论
天天501
- 粉丝: 588
- 资源: 4666
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功