zhoukao2EX

    compile 'com.squareup.okhttp3:okhttp:3.9.0'
    compile 'com.google.code.gson:gson:2.8.1'
    compile 'com.github.bumptech.glide:glide:3.8.0'
    compile 'com.github.iwgang:countdownview:1.2'
    compile 'com.jcodecraeer:xrecyclerview:1.3.2'
    compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'

values–>attr.xml

   <declare-styleable name="CountDownView">
    <!--颜色-->
    <attr name="ringColor" format="color" />
    <!-- 进度文本的字体大小 -->
    <attr name="progressTextSize" format="dimension" />
    <!-- 圆环宽度 -->
    <attr name="ringWidth" format="float" />
    <!--进度文本颜色-->
    <attr name="progressTextColor" format="color"/>
    <!--倒计时-->
    <attr name="countdownTime" format="integer"/>
</declare-styleable>

布局文件main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    tools:context="com.exbway.ok_http.MainActivity">

    <ImageView
        android:id="@+id/myimg"
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:src="@drawable/a7"
        android:layout_centerHorizontal="true"
        />

    <com.exbway.ok_http.CountDownView
        android:id="@+id/countDownView"
        android:layout_width="100dp"
        android:layout_height="100dp" />

</RelativeLayout>

second.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.exbway.ok_http.SecondActivity">


    <com.jcodecraeer.xrecyclerview.XRecyclerView
        android:id="@+id/xrcv"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

    </com.jcodecraeer.xrecyclerview.XRecyclerView>
</RelativeLayout>

item

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:gravity="center_vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <ImageView
            android:layout_width="50dp"
            android:layout_height="100dp"
            android:id="@+id/item_image1"
            android:src="@mipmap/ic_launcher"
            />
        <ImageView
            android:layout_width="50dp"
            android:layout_height="100dp"
            android:id="@+id/item_image2"
            android:src="@mipmap/ic_launcher"
            />
        <ImageView
            android:layout_width="50dp"
            android:layout_height="100dp"
            android:id="@+id/item_image3"
            android:src="@mipmap/ic_launcher"
            />

    </LinearLayout>

    <TextView
        android:layout_marginLeft="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/item_title"
        android:textSize="20sp"
        android:text="1111"
        />
</LinearLayout>

item2

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:gravity="center_vertical"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">
        <ImageView
            android:layout_width="100dp"
            android:layout_height="50dp"
            android:id="@+id/item2_image1"
            android:src="@mipmap/ic_launcher"
            />
        <ImageView
            android:layout_width="100dp"
            android:layout_height="50dp"
            android:id="@+id/item2_image2"
            android:src="@mipmap/ic_launcher"
            />
        <ImageView
            android:layout_width="100dp"
            android:layout_height="50dp"
            android:id="@+id/item2_image3"
            android:src="@mipmap/ic_launcher"
            />

    </LinearLayout>

    <TextView
        android:layout_marginLeft="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/item2_title"
        android:textSize="20sp"
        android:text="1111"
        />
</LinearLayout>

这里写图片描述

package com.exbway.ok_http.apps;

import android.app.Application;

import com.exbway.ok_http.R;
import com.exbway.ok_http.catcherror.CrashHandler;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;

/**
 * Created by 张政浩 on 2017/10/21.
 */

public class MyApp extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        CrashHandler crashHandler = CrashHandler.getInstance();
        crashHandler.init(getApplicationContext());
        initImageLoder();
    }
    /**
     * 图片加载
     */
    private void initImageLoder() {
        DisplayImageOptions options = new DisplayImageOptions.Builder()
                .cacheOnDisk(true)
                .cacheInMemory(true)
                .showImageForEmptyUri(R.mipmap.ic_launcher)
                .showImageOnFail(R.mipmap.ic_launcher)
                .showImageOnLoading(R.mipmap.ic_launcher)
                .build();
        ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this)
                .defaultDisplayImageOptions(options)
                .build();

        ImageLoader.getInstance().init(configuration);
    }
}

写Bean,写异常捕获

写MVP

M
package com.exbway.ok_http.model;

import com.exbway.ok_http.bean.MyBean;
import com.exbway.ok_http.net.MyOkhttp;
import com.google.gson.Gson;

import java.io.IOException;
import java.util.List;

import okhttp3.Request;

/**
 * Created by 张政浩 on 2017/10/21.
 */

public class DataModel implements IModel{

    @Override
    public void requestData(String url,int page, final OnRequestListentr onRequestListentr) {

        MyOkhttp.getAsync(url+page, new MyOkhttp.DataCallBack() {
            @Override
            public void requestFailure(Request request, IOException e) {
                onRequestListentr.OnErrorRequest(e.getMessage().toString());
            }

            @Override
            public void requestSuccess(String result) throws Exception {
                Gson g  = new Gson();
                MyBean myBean = g.fromJson(result, MyBean.class);
                List<MyBean.DataBean> data = myBean.getData();
                onRequestListentr.OnSauccessRequest(data);
            }
        });
    }
}
package com.exbway.ok_http.model;

/**
 * Created by 张政浩 on 2017/10/21.
 */

public interface IModel {
    void requestData(String url,int page,OnRequestListentr onRequestListentr);
}
package com.exbway.ok_http.model;

import com.exbway.ok_http.bean.MyBean;

import java.util.List;

/**
 * Created by 张政浩 on 2017/10/21.
 */

public interface OnRequestListentr {
    void OnSauccessRequest(List<MyBean.DataBean> list);
    void OnErrorRequest(String e);
}

V

package com.exbway.ok_http.view;

import com.exbway.ok_http.bean.MyBean;

import java.util.List;

/**
 * Created by 张政浩 on 2017/10/21.
 */

public interface IDataView {
    void showlist(List<MyBean.DataBean> list);
    void showErrod(String e);
}

P

package com.exbway.ok_http.presenter;

import com.exbway.ok_http.bean.MyBean;
import com.exbway.ok_http.model.DataModel;
import com.exbway.ok_http.model.IModel;
import com.exbway.ok_http.model.OnRequestListentr;
import com.exbway.ok_http.view.IDataView;

import java.util.List;

/**
 * Created by 张政浩 on 2017/10/21.
 */

public class DataPresenter implements IPresenter {

    IDataView iDataView;
    IModel iModel;
    public DataPresenter(IDataView iDataView) {
        this.iDataView = iDataView;
        iModel = new DataModel();
    }

    @Override
    public void loadlist(String url,int page) {
        iModel.requestData(url,page ,new OnRequestListentr() {
            @Override
            public void OnSauccessRequest(List<MyBean.DataBean> list) {
                iDataView.showlist(list);
            }

            @Override
            public void OnErrorRequest(String e) {
                iDataView.showErrod(e);
            }
        });
    }
}
package com.exbway.ok_http.presenter;

/**
 * Created by 张政浩 on 2017/10/21.
 */

public interface IPresenter {
    void loadlist(String url,int page);
}

MainActivity

package com.exbway.ok_http;

import android.animation.AnimatorSet;
import android.animation.ObjectAnimator;
import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import java.util.Timer;
import java.util.TimerTask;

public class MainActivity extends AppCompatActivity {

    ImageView myimg;

    CountDownView cdv;
    private Timer mTimer;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        tupian();
        daojishi();
        mTimer = new Timer();
        // start timer task
        setTimerTask();
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        // cancel timer
        mTimer.cancel();
    }

    private void setTimerTask() {
        mTimer.schedule(new TimerTask() {
            @Override
            public void run() {
                Message message = new Message();
                message.what = 1;
                handler.sendMessage(message);
            }
        }, 3200);
    }
    private Handler handler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            int msgId = msg.what;
            switch (msgId) {
                case 1:
                    Intent intent = new Intent(MainActivity.this,SecondActivity.class);
                    startActivity(intent);
                    break;
                default:
                    break;
            }
        }
    };

    private void tupian() {
        myimg = (ImageView) findViewById(R.id.myimg);
        ObjectAnimator moveIn = ObjectAnimator.ofFloat(myimg, "translationY", 0f, 500f);
        ObjectAnimator animator = ObjectAnimator.ofFloat(myimg, "scaleY", 1f, 2f, 1f);
        AnimatorSet animSet = new AnimatorSet();
        animSet.play(moveIn).before(animator);
        animSet.setDuration(1500);
        animSet.start();
    }

    private void daojishi() {
        cdv = (CountDownView) findViewById(R.id.countDownView);
        cdv.setAddCountDownListener(new CountDownView.OnCountDownFinishListener() {
            @Override
            public void countDownFinished() {
                Toast.makeText(MainActivity.this, "倒计时结束", Toast.LENGTH_SHORT).show();
            }
        });
        cdv.startCountDown();

    }

}

MyAdapter

package com.exbway.ok_http;

import android.content.Context;
import android.content.Intent;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;

import com.exbway.ok_http.bean.MyBean;
import com.nostra13.universalimageloader.core.ImageLoader;

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

/**
 * Created by 张政浩 on 2017/10/21.
 */

public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
    List<MyBean.DataBean> list;
    Context context;

    public MyAdapter( Context context) {
        list = new ArrayList<>();
        this.context = context;
    }

    @Override
    public int getItemViewType(int position) {
        int itemtype = list.get(position).getItemtype();
        if(itemtype==0){
            return  0;
        }else if(itemtype==1){
            return  1;
        }
        return super.getItemViewType(position);
    }

    public void AddData(List<MyBean.DataBean> list, int page){
        if(page == 1){
            this.list.clear();
        }
        this.list.addAll(list);
        notifyDataSetChanged();
    }

    public interface OnItemClickLitener
    {
        void onItemClick(View view, int position);
        void onItemLongClick(View view , int position);
    }

    private OnItemClickLitener mOnItemClickLitener;

    public void setOnItemClickLitener(OnItemClickLitener mOnItemClickLitener)
    {
        this.mOnItemClickLitener = mOnItemClickLitener;
    }
    @Override
    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {

        if(viewType==0){
            MyViewHolder myViewHolder = new MyViewHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.item1, parent, false));
            return myViewHolder;
        }else {
            MyViewHolder2 myViewHolder2 = new MyViewHolder2(LayoutInflater.from(parent.getContext()).inflate(R.layout.item2, parent, false));
            return myViewHolder2;
        }

    }

    @Override
    public void onBindViewHolder(final RecyclerView.ViewHolder holder, int position) {

        final MyBean.DataBean db = list.get(position);
        String images = db.getImages();
        String[] split = images.split("\\|");
        if(holder instanceof MyViewHolder){
            ((MyViewHolder) holder).textView.setText(db.getTitle());
            ImageLoader.getInstance().displayImage(split[0],((MyViewHolder) holder).imageView1);
            ImageLoader.getInstance().displayImage(split[1],((MyViewHolder) holder).imageView2);
            ImageLoader.getInstance().displayImage(split[2],((MyViewHolder) holder).imageView3);

        }else if(holder instanceof MyViewHolder2){
            ((MyViewHolder2) holder).atextView.setText(db.getTitle());
            ImageLoader.getInstance().displayImage(split[0],((MyViewHolder2) holder).aimageView1);
            ImageLoader.getInstance().displayImage(split[1],((MyViewHolder2) holder).aimageView2);
            ImageLoader.getInstance().displayImage(split[2],((MyViewHolder2) holder).aimageView3);
        }
        // 如果设置了回调,则设置点击事件
        if (mOnItemClickLitener != null)
        {
            holder.itemView.setOnClickListener(new View.OnClickListener()
            {
                @Override
                public void onClick(View v)
                {
                    int pos = holder.getLayoutPosition();
                    mOnItemClickLitener.onItemClick(holder.itemView, pos);
                }
            });

            holder.itemView.setOnLongClickListener(new View.OnLongClickListener()
            {
                @Override
                public boolean onLongClick(View v)
                {
                    int pos = holder.getLayoutPosition();
                    mOnItemClickLitener.onItemLongClick(holder.itemView, pos);
                    return false;
                }
            });
        }


        holder.itemView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Intent in = new Intent(context,WebActivity.class);
                in.putExtra("url",db.getDetailUrl());
                context.startActivity(in);
            }
        });
    }

    @Override
    public int getItemCount() {
        return list.size();
    }

    public class MyViewHolder extends RecyclerView.ViewHolder {
        TextView textView;
        ImageView imageView1;
        ImageView imageView2;
        ImageView imageView3;
        public MyViewHolder(View itemView) {
            super(itemView);
            textView =(TextView) itemView.findViewById(R.id.item_title);
            imageView1 = (ImageView)itemView.findViewById(R.id.item_image1);
            imageView2 = (ImageView)itemView.findViewById(R.id.item_image2);
            imageView3 = (ImageView)itemView.findViewById(R.id.item_image3);
        }
    }
    public class MyViewHolder2 extends RecyclerView.ViewHolder {
        TextView atextView;
        ImageView aimageView1;
        ImageView aimageView2;
        ImageView aimageView3;
        public MyViewHolder2(View itemView) {
            super(itemView);
            atextView =(TextView) itemView.findViewById(R.id.item2_title);
            aimageView1 = (ImageView)itemView.findViewById(R.id.item2_image1);
            aimageView2 = (ImageView)itemView.findViewById(R.id.item2_image2);
            aimageView3 = (ImageView)itemView.findViewById(R.id.item2_image3);
        }
    }
}

Second

package com.exbway.ok_http;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
import android.widget.Toast;

import com.exbway.ok_http.bean.MyBean;
import com.exbway.ok_http.presenter.DataPresenter;
import com.exbway.ok_http.view.IDataView;
import com.google.gson.Gson;
import com.jcodecraeer.xrecyclerview.XRecyclerView;

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

public class SecondActivity extends AppCompatActivity implements IDataView,XRecyclerView.LoadingListener {

    private XRecyclerView mXrcv;
    private DataPresenter dataPresenter;
    String url ="http://120.27.23.105/product/getProducts?pscid=";
    int page = 1;
    private MyAdapter myAdapter;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
        initView();
        dataPresenter = new DataPresenter(this);
        dataPresenter.loadlist(url,page);
    }

    private void initView() {
        mXrcv = (XRecyclerView) findViewById(R.id.xrcv);
        LinearLayoutManager layoutManager = new LinearLayoutManager(this);
        layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
        myAdapter = new MyAdapter(this);
        mXrcv.setAdapter(myAdapter);
        mXrcv.setLayoutManager(new LinearLayoutManager(this));
        mXrcv.setLayoutManager(layoutManager);
        mXrcv.setLoadingListener(this);
        /*myAdapter.setOnItemClickLitener(new MyAdapter.OnItemClickLitener() {
            @Override
            public void onItemClick(View view, int position) {

            }

            @Override
            public void onItemLongClick(View view, int position) {
                Toast.makeText(SecondActivity.this, "长按", Toast.LENGTH_SHORT).show();
            }
        });*/
    }

    @Override
    public void showlist(final List<MyBean.DataBean> list) {
        myAdapter.AddData(list,page);
    }

    @Override
    public void showErrod(String e) {
        Toast.makeText(this, "" + e, Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onRefresh() {
        page =1;
        dataPresenter.loadlist(url,page);
        //刷新完成
        mXrcv.refreshComplete();
        mXrcv.loadMoreComplete();
    }

    @Override
    public void onLoadMore() {
        page ++;
        dataPresenter.loadlist(url,page);
        //刷新完成
        mXrcv.refreshComplete();
        mXrcv.loadMoreComplete();
    }
}

WebView

package com.exbway.ok_http;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.webkit.WebView;
import android.webkit.WebViewClient;

public class WebActivity extends AppCompatActivity {

    private WebView mWb;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_web);
        initView();
        Intent in = getIntent();
        String url = in.getStringExtra("url");
        mWb.loadUrl(url);
        mWb.setWebViewClient(new WebViewClient(){
            @Override
            public boolean shouldOverrideUrlLoading(WebView view, String url) {
                view.loadUrl(url);
                return true;
            }
        });
    }

    private void initView() {
        mWb = (WebView) findViewById(R.id.wb);
    }
}
MATLAB代码实现了一个基于多种智能优化算法优化RBF神经网络的回归预测模型,其核心是通过智能优化算法自动寻找最优的RBF扩展参数(spread),以提升预测精度。 1.主要功能 多算法优化RBF网络:使用多种智能优化算法优化RBF神经网络的核心参数spread。 回归预测:对输入特征进行回归预测,适用于连续值输出问题。 性能对比:对比不同优化算法在训练集和测试集上的预测性能,绘制适应度曲线、预测对比图、误差指标柱状图等。 2.算法步骤 数据准备:导入数据,随机打乱,划分训练集和测试集(默认7:3)。 数据归一化:使用mapminmax将输入和输出归一化到[0,1]区间。 标准RBF建模:使用固定spread=100建立基准RBF模型。 智能优化循环: 调用优化算法(从指定文件夹中读取算法文件)优化spread参数。 使用优化后的spread重新训练RBF网络。 评估预测结果,保存性能指标。 结果可视化: 绘制适应度曲线、训练集/测试集预测对比图。 绘制误差指标(MAE、RMSE、MAPE、MBE)柱状图。 十种智能优化算法分别是: GWO:灰狼算法 HBA:蜜獾算法 IAO:改进天鹰优化算法,改进①:Tent混沌映射种群初始化,改进②:自适应权重 MFO:飞蛾扑火算法 MPA:海洋捕食者算法 NGO:北方苍鹰算法 OOA:鱼鹰优化算法 RTH:红尾鹰算法 WOA:鲸鱼算法 ZOA:斑马算法
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值