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
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
教育部认可的大学生竞赛备赛资料代码,源码,竞赛总结,所有源码均经过严格测试,可以直接运行,可以放心下载使用。有任何使用问题欢迎随时与博主沟通 全国电子设计大赛、全国大学生智能汽车竞赛、蓝桥杯、集成电路创新创业大赛、光电设计竞赛、挑战杯、大创项目、互联网+、三创赛、计算机设计竞赛、创新创业大赛、ACM-ICPC国际大学生程序设计竞赛、全国大学生数学建模竞赛、全国大学生电子商务“创新、创意及创业”挑战赛、全国大学生节能减排社会实践与科技竞赛、全国大学生工程训练综合能力竞赛、全国大学生机器人大赛-RoboMaster、RoboCon、“西门子杯”中国智能制造挑战赛、中国大学生计算机设计大赛、世界技能大赛、中国高校计算机大赛-大数据挑战赛、团体程序设计天梯赛、移动应用创新赛、网络技术挑战赛、全国大学生信息安全竞赛、“中国软件杯”大学生软件设计大赛、全国大学生光电设计竞赛、中国机器人及人工智能大赛、“大唐杯”全国大学生移动通信5G技术大赛、华为ICT大赛、全国大学生嵌入式芯片与系统设计竞赛、中国高校智能机器人创意大赛
资源推荐
资源详情
资源评论
收起资源包目录
竞赛资料源码-电子设计大赛(智能快递存取柜)android客户端.zip (153个子文件)
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
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
libjcore121.so 5KB
共 153 条
- 1
- 2
资源评论
妄北y
- 粉丝: 1w+
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功