文档章节

云端下载数据

马金梦
 马金梦
发布于 2017/04/22 15:45
字数 715
阅读 5
收藏 0
package com.avicsafety.safety_examine.activity;

import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.Toast;

import com.avicsafety.lib.Adapter.CommonAdapter;
import com.avicsafety.lib.Adapter.ViewHolder;
import com.avicsafety.lib.CustomView.AvicButton;
import com.avicsafety.lib.CustomView.AvicListView;
import com.avicsafety.lib.tools.KeyBoardUtils;
import com.avicsafety.lib.tools.L;
import com.avicsafety.safety_examine.R;
import com.avicsafety.safety_examine.conf.Constants;
import com.avicsafety.safety_examine.interfaces.OnNetworkAccessToListListener;
import com.avicsafety.safety_examine.model.M_Company;
import com.avicsafety.safety_examine.model.M_LoginInfo;
import com.avicsafety.safety_examine.service.CompanyManager;
import com.avicsafety.safety_examine.service.LoginManager;

import org.xutils.http.RequestParams;
import org.xutils.view.annotation.ContentView;
import org.xutils.view.annotation.ViewInject;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by Administrator on 2017/4/21.
 */
@ContentView(R.layout.activity_servercompany)
public class ServerCompanyActivity extends BaseActivity implements View.OnClickListener {

    private CommonAdapter<M_Company> mAdapter;
    private List<M_Company> mData;
    private boolean choose_mode = false;  //决定是否为多选模式
    private CompanyManager companyManager = new CompanyManager();
    private String keyword;

    //设置页数
    private int PageIndex = 1;
    private int PageSize = 30;
    private List<M_Company> SelectedData = new ArrayList<>();

    //获取登录人的信息


    M_LoginInfo loginInfo = LoginManager.getLoginInfo();
   private String username = loginInfo.getUserName();
   private String password = loginInfo.getPassword();

    @Override
    protected void InitializeComponent() {
        super.InitializeComponent();
    }

    @Override
    protected void InitializeData() {
        super.InitializeData();



        mData = new ArrayList<M_Company>();
//万能Adapter的用法
        mAdapter = new CommonAdapter<M_Company>(getApplicationContext(), mData, R.layout.item_servercompany) {
            @Override
            public void convert(ViewHolder helper, M_Company item) {
                helper.setText(R.id.tv_servercompany_name, item.getQymc());
                ImageView imageView = helper.getView(R.id.iv_servercompany_image);
                if (choose_mode) {
                    if (SelectedData.contains(item)) {
                        imageView.setImageResource(R.mipmap.iv_check);
                    } else {
                        imageView.setImageResource(R.mipmap.iv_uncheck);
                    }
                } else {
                    imageView.setImageResource(R.mipmap.iv_company);
                }
            }

        };
        list_view.setAdapter(mAdapter);
    }

    @Override
    protected void InitializeEvent() {
        super.InitializeEvent();
        //ListView的条目的点击事件
        list_view.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if (choose_mode) {
                    ImageView imageView = (ImageView) view.findViewById(R.id.iv_servercompany_image);
                    if (SelectedData.contains(mData.get(position))) {
                        SelectedData.remove(mData.get(position));
                        imageView.setImageResource(R.mipmap.iv_uncheck);
                    } else {
                        SelectedData.add(mData.get(position));
                        imageView.setImageResource(R.mipmap.iv_check);
                    }
                }
            }
        });
        //搜索框EditText监听其中文字的变化
        et_search_server.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) {

            }

            @Override
            public void afterTextChanged(Editable s) {
                if (s.length() == 0) {
                    iv_delete.setVisibility(View.GONE);
                } else {
                    iv_delete.setVisibility(View.VISIBLE);
                }
            }
        });
        iv_delete.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                et_search_server.setText("");
            }
        });
            //搜索按钮的点击事件,网络获取数据
        iv_search_btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                loadingDialog.show();
                KeyBoardUtils.closeKeybord(et_search_server,oThis);//关闭键盘
                if (!TextUtils.isEmpty(et_search_server.getText().toString())) {
                    PageIndex = 1;  //页数复位
                    keyword = et_search_server.getText().toString(); //关键字复位
                    mData.clear(); //清空已经有的数据
                    loadDataByServ(keyword); //获取数据
                }
            }
        });

        list_view.setOnLoadingListener(new AvicListView.IsLoadingListener() {
            @Override
            public void onLoad() {
                PageIndex++;  //页数加一
                loadDataByServ(keyword); //获取数据
            }
        });

        btn_select_all.setOnClickListener(this);
        btn_cancle.setOnClickListener(this);
        btn_download.setOnClickListener(this);

    }
        //网络获取数据
    private void loadDataByServ(String company_name) {
        companyManager.getListByServ(getParam(company_name), new OnNetworkAccessToListListener<M_Company>() {
            @Override
            public void onSuccess(List<M_Company> list) {
                appendData(list);//刷新数据
                L.i("数据获取完毕");
                loadingDialog.close();//进度条关闭
            }

            @Override
            public void onFail(String error) {
                L.e(username+password);
                Toast.makeText(oThis,"获取数据失败",Toast.LENGTH_SHORT).show();
                loadingDialog.close();
            }
        });
    }

    private RequestParams getParam(String company_name) {
        RequestParams request = new RequestParams("http://218.25.87.62:208/service/phoneCompany_one");
        request.setConnectTimeout(60000);
        request.addParameter("userName",username);
        request.addParameter("password",password);
        request.addParameter("version","");
        request.addParameter("pagesize", PageSize+"");
        request.addParameter("pageIndex", PageIndex+"");
        request.addParameter("return_type","123");
        return request;
    }


    /**
     * 追加数据 翻页专用
     * @param _data
     */
    private void appendData(List<M_Company> _data){
        //TODO 此处更新数据代码
        if(_data==null||_data.size()==0){
            list_view.setOnLoadingListener(null);
            list_view.complateLoad();
            Toast.makeText(oThis,"没有更多数据了",Toast.LENGTH_SHORT).show();
            return;
        }
        if(_data.size()<PageSize){
            list_view.setOnLoadingListener(null);
        }
        for(M_Company model:_data){
            mData.add(model);
        }
        mAdapter.setmDatas(mData);
        mAdapter.notifyDataSetChanged();
        list_view.complateLoad();
    }

    /**
     * 刷新数据
     */
    private void refreshData(){
        mAdapter.setmDatas(mData);
        mAdapter.notifyDataSetChanged();
        list_view.complateLoad();
    }

    @Override
    public void onClick(View v) {
        switch(v.getId()){
            case R.id.btn_select_all:  //全选
                SelectedData.clear();
                SelectedData.addAll(mData);
                refreshData();
                break;
            case R.id.btn_cancle:    //取消
                SelectedData.clear();
                SetMultipleChooseMode(false);
                refreshData();
                break;
            case R.id.btn_download:{   //下载
                download_data();
            }
            break;
        }
    }

    private void download_data() {
        for(M_Company model : SelectedData){
            companyManager.update(model);
        }
    }

    private void switch_mode(){
        if(choose_mode){
            SetMultipleChooseMode(false);
        }else{
            SetMultipleChooseMode(true);
        }
    }

    /**
     * 设置多选模式
     * @param state
     */
    private void SetMultipleChooseMode(boolean state){
        choose_mode = state;
        ll_common_list_btnlayer.setVisibility(state?View.VISIBLE:View.GONE);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_downcompany,menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
            case R.id.action_choose:{
                switch_mode();
            }
            break;
        }

        return super.onOptionsItemSelected(item);
    }

    @ViewInject(R.id.lv_servercompany)
    private AvicListView list_view;
    @ViewInject(R.id.et_search_server)
    private EditText et_search_server;
    @ViewInject(R.id.iv_delete)
    private ImageView iv_delete;
    @ViewInject(R.id.iv_search_btn)
    private ImageView iv_search_btn;

    @ViewInject(R.id.btn_select_all)
    private AvicButton btn_select_all;

    @ViewInject(R.id.btn_cancle)
    private AvicButton btn_cancle;

    @ViewInject(R.id.btn_download)
    private AvicButton btn_download;

    @ViewInject(R.id.ll_common_list_btnlayer)
    private LinearLayout ll_common_list_btnlayer;


}

© 著作权归作者所有

马金梦
粉丝 0
博文 10
码字总数 5682
作品 0
沈阳
私信 提问
微软Azure云之企业Exchange 2016部署2—***设置

微软Azure公有云配置站点间***还是比较容易的,可以自动生成一些认证厂商的配置脚本,如Cisco、Juniper等,当然也支持微软自己的路由和远程访问(RRAS)。 本节我们来创建本地网络到Azure虚拟网...

yjw_1030
2018/06/29
0
0
《介绍一款开源的类Excel电子表格软件》续:七牛云存储实战(C#)

新版实现的功能列表如下: 注册七牛云存储账号(有账号的请跳过本节) 七牛云存储 - 主页 http://www.qiniu.com/ (友情给七牛做个宣传,多谢七牛给葡萄城控件提供的七牛云存储优惠券) 七牛云...

葡萄城技术团队
2014/12/11
86
0
BT/BLE设备接入参考实现App--GizDataAccessDemo-iOS

BT/BLE设备接入参考实现App for iOS源码 BT/BLE设备接入机智云iOS客户端示例源码,包含蓝牙设备数据上传云端,云端下载同步数据等功能的参考实现,开发者可通过此开源程序学习物联网硬件相关...

物联网小能手
2016/08/10
497
0
最强后门刷榜病毒,“隐流者”家族盯上90%的国内应用市场

  近期,依托腾讯安全大数据,腾讯安全反诈骗实验室自研的TRP-AI反病毒智能引擎捕获到某色情病毒家族存在流量异常行为,腾讯安全研究人员研究发现,该色情病毒家族集成了一个名为 “隐流者”...

FreeBuf
2018/05/21
0
0
使用云端服务-构建强有力的APP后端

在前面聊过一些使用baas实现一些功能的内容,今天简单聊一下基础的东西吧 没有服务端的app就是个空壳,但对个人开发者而言,服务端的搭建和部署一直是个问题,目前的方法通常就是借助后端云服...

大王12
2017/04/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

oracle ORA-39700: database must be opened with UPGRADE option

ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option 进程 ID: 3650 会话 ID: 29......

Tank_shu
今天
1
0
分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
聊聊DubboDefaultPropertiesEnvironmentPostProcessor

序 本文主要研究一下DubboDefaultPropertiesEnvironmentPostProcessor DubboDefaultPropertiesEnvironmentPostProcessor dubbo-spring-boot-project-2.7.3/dubbo-spring-boot-compatible/au......

go4it
昨天
1
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0
Spring boot 静态资源访问

0. 两个配置 spring.mvc.static-path-patternspring.resources.static-locations 1. application中需要先行的两个配置项 1.1 spring.mvc.static-path-pattern 这个配置项是告诉springboo......

moon888
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部