fdmsovm

package com.example.monththree.Adapter;

import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.example.monththree.R;
import com.example.monththree.bean.MyBean;

import java.util.List;

/**
 * date:2017/8/21
 * author:张伟(Administrator)
 * desc:
 */

public class XListAdapter extends BaseAdapter {

    private Context context;
    private List<MyBean.ResultBean.DataBean> dataList;

    public XListAdapter(Context context, List<MyBean.ResultBean.DataBean> dataList) {
        this.context = context;
        this.dataList = dataList;
    }


    @Override
    public int getCount() {
        return dataList.size();
    }

    @Override
    public Object getItem(int position) {
        return null;
    }

    @Override
    public long getItemId(int position) {
        return 0;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        if (convertView == null) {
            holder = new ViewHolder();
            convertView = View.inflate(context, R.layout.item, null);
            holder.tv1 = (TextView) convertView.findViewById(R.id.titleText);
            holder.tv2 = (TextView) convertView.findViewById(R.id.tagsText);
            holder.tv3 = (TextView) convertView.findViewById(R.id.burdenText);
            holder.img = (ImageView) convertView.findViewById(R.id.MyImage);
            convertView.setTag(holder);
        }else {
            holder = (ViewHolder) convertView.getTag();
        }
        holder.tv1.setText(dataList.get(position).title);
        holder.tv2.setText(dataList.get(position).tags);
        holder.tv3.setText(dataList.get(position).burden);
        Glide.with(context).load(dataList.get(position).albums.get(0)).into(holder.img);
        return convertView;
    }
}

class ViewHolder {
    ImageView img;
    TextView tv1, tv2, tv3;
}
package com.example.monththree.bean;

import java.util.List;

/**
 * date:2017/8/21
 * author:张伟(Administrator)
 * desc:
 */

public class MyBean {

    public String resultcode;
    public String reason;
    public ResultBean result;
    public int error_code;

    public static class ResultBean {

        public String totalNum;
        public String pn;
        public String rn;
        public List<DataBean> data;

        public static class DataBean {

            public String id;
            public String title;
            public String tags;
            public String imtro;
            public String ingredients;
            public String burden;
            public List<String> albums;
            public List<StepsBean> steps;

            public static class StepsBean {

                public String img;
                public String step;
            }
        }
    }
}
package com.example.monththree;

import android.content.Context;
import android.widget.ImageView;

import com.bumptech.glide.Glide;
import com.youth.banner.loader.ImageLoader;

/**
 * date:2017/8/18
 * author:张伟(Administrator)
 * desc:
 */

public class GlideBanner extends ImageLoader{
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        Glide.with(context).load(path).into(imageView);
    }
}
package com.example.monththree;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;

import com.bumptech.glide.Glide;
import com.example.monththree.bean.MyBean;
import com.google.gson.Gson;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.List;

import me.maxwin.view.XListView;

public class Main2Activity extends AppCompatActivity implements XListView.IXListViewListener {

    private EditText LoadEdit2;
    private Button LoadBtn2;
    private XListView MyXList;
    private String editText;
    private String path ;
    private String s;
    private List<MyBean.ResultBean.DataBean> dataList;
    private xlistAdapter adapter;
    private String str;

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

        initView();
        MyXList.setXListViewListener(this);
        MyXList.setPullRefreshEnable(true);
        MyXList.setPullLoadEnable(true);

        LoadBtn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                String s = LoadEdit2.getText().toString();
                try {
                    editText = URLEncoder.encode(s, "utf-8");
                    path="http://apis.juhe.cn/cook/query?key=1e3f41ad681a1e17dbae8846f39768a3&menu=" + editText + "&rn=30&pn=1";
                    new Thread() {
                        public void run() {
                            getData();
                        }
                    }.start();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
    }

    public void getData() {
        try {
            URL url = new URL(path);
            HttpURLConnection connection = (HttpURLConnection) url.openConnection();
            connection.setRequestMethod("GET");
            connection.setConnectTimeout(8000);
            connection.setReadTimeout(8000);
            int code = connection.getResponseCode();
            if (code == 200) {
                InputStream inputStream = connection.getInputStream();
                ByteArrayOutputStream baos = new ByteArrayOutputStream();
                int len = 0;
                byte[] buffer = new byte[1024];
                while ((len = inputStream.read(buffer)) != -1) {
                    baos.write(buffer, 0, len);
                }
                str = baos.toString();
            }
            Gson gson = new Gson();

            MyBean myBean = gson.fromJson(str, MyBean.class);
            dataList = myBean.result.data;

            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                        adapter = new xlistAdapter();
                        MyXList.setAdapter(adapter);
                }
            });
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    @Override
    public void onRefresh() {
        MyXList.stopRefresh();
    }

    @Override
    public void onLoadMore() {
        MyXList.stopLoadMore();
    }

    class xlistAdapter extends BaseAdapter {

        @Override
        public int getCount() {
            return dataList.size();
        }

        @Override
        public Object getItem(int position) {
            return null;
        }

        @Override
        public long getItemId(int position) {
            return 0;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            ViewHolder holder = null;
            if (convertView == null) {
                holder = new ViewHolder();
                convertView = View.inflate(Main2Activity.this, R.layout.item, null);
                holder.tv1 = (TextView) convertView.findViewById(R.id.titleText);
                holder.tv2 = (TextView) convertView.findViewById(R.id.tagsText);
                holder.tv3 = (TextView) convertView.findViewById(R.id.burdenText);
                holder.img = (ImageView) convertView.findViewById(R.id.MyImage);
                convertView.setTag(holder);
            }else {
                holder = (ViewHolder) convertView.getTag();
            }
            holder.tv1.setText(dataList.get(position).title);
            holder.tv2.setText(dataList.get(position).tags);
            holder.tv3.setText(dataList.get(position).burden);
            Glide.with(Main2Activity.this).load(dataList.get(position).albums.get(0)).into(holder.img);
            return convertView;
        }
    }

    class ViewHolder {
        ImageView img;
        TextView tv1, tv2, tv3;
    }


    private void initView() {
        LoadEdit2 = (EditText) findViewById(R.id.LoadEdit2);
        LoadBtn2 = (Button) findViewById(R.id.LoadBtn2);
        MyXList = (XListView) findViewById(R.id.MyXList);
    }
}
package com.example.monththree;

import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.Bundle;
import android.provider.Settings;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.youth.banner.Banner;

import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;
import org.xmlpull.v1.XmlPullParserException;

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

public class MainActivity extends AppCompatActivity {

    private List<String> list;
    private Banner MyBanner;
    private EditText LoadEdit;
    private Button LoadBtn;
    private TextView ShowText;
    private Button WeatherBtn;
    private Button LayerBtn;

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

        initView();
        if (isOnline()){
            bannerLunBo();
            LoadBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    new Thread(){
                        public void run(){
                            getWeather();
                        }
                    }.start();
                }
            });
            LayerBtn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    getLayer();
                }
            });
        }else {
            showDialog();
        }

    }

    public boolean isOnline() {
        //得到一个连接管理者
        ConnectivityManager manager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
        //得到联网信息
        NetworkInfo info = manager.getActiveNetworkInfo();
        //判断设备是否有网
        return (info != null && info.isConnected());
    }

    private void showDialog() {
        AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
        builder.setTitle("联网提示");
        builder.setMessage("您的手机处于没有网络的状态,是否前去设置网络?");
        builder.setNegativeButton("取消", null);
        builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                //跳转网络设置页面
                startActivity(new Intent(Settings.ACTION_WIRELESS_SETTINGS));
            }
        });
        builder.create().show();
    }

    private void bannerLunBo() {
        MyBanner.setImageLoader(new GlideBanner());
        list = new ArrayList<>();
        list.add("http://www.microvirt.com/new_market/img/zhuxian_logo.png");
        list.add("http://www.microvirt.com/new_market/img/mhxy/mhxy.png");
        list.add("http://www.microvirt.com/new_market/img/yys_icon2.png");
        MyBanner.setImages(list);
        MyBanner.start();
    }

    private void getWeather() {
        SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
        SoapObject object = new SoapObject("http://WebXml.com.cn/", "getWeather");

        String LoadStr =  LoadEdit.getText().toString();
        object.addProperty("theCityCode",LoadStr);
        object.addProperty("theUserID","这个自己去注册");

        envelope.bodyOut = object ;
        envelope.dotNet = true;

        HttpTransportSE se = new HttpTransportSE("http://ws.webxml.com.cn/WebServices/WeatherWS.asmx");

        try {
            se.call("http://WebXml.com.cn/getWeather",envelope);
            if (envelope.getResponse()!=null){
                final SoapObject result = (SoapObject) envelope.bodyIn;
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        ShowText.setText(result.toString());
                    }
                });
            }
        } catch (IOException e) {
            e.printStackTrace();
        } catch (XmlPullParserException e) {
            e.printStackTrace();
        }
    }

    private void getLayer(){
        startActivity(new Intent(MainActivity.this,Main2Activity.class));
    }

    private void initView() {
        MyBanner = (Banner) findViewById(R.id.MyBanner);
        LoadEdit = (EditText) findViewById(R.id.LoadEdit);
        LoadBtn = (Button) findViewById(R.id.LoadBtn);
        ShowText = (TextView) findViewById(R.id.ShowText);
        WeatherBtn = (Button) findViewById(R.id.WeatherBtn);
        LayerBtn = (Button) findViewById(R.id.LayerBtn);
    }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.monththree.MainActivity">


    <com.youth.banner.Banner
        android:id="@+id/MyBanner"
        android:layout_width="match_parent"
        android:layout_height="160dp">
    </com.youth.banner.Banner>

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <EditText
            android:id="@+id/LoadEdit"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="4"
            android:singleLine="true"
            android:hint="请输入您要查询的地址"/>

        <Button
            android:id="@+id/LoadBtn"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="点击加载"/>

    </LinearLayout>

    <TextView
        android:id="@+id/ShowText"
        android:layout_width="match_parent"
        android:layout_height="350dp" />

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <Button
            android:id="@+id/WeatherBtn"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="天气"/>

        <Button
            android:id="@+id/LayerBtn"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:text="查询律师"/>

    </LinearLayout>

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main2"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.example.monththree.Main2Activity">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">

        <EditText
            android:id="@+id/LoadEdit2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="4"
            android:hint="请输入"/>

        <Button
            android:id="@+id/LoadBtn2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="点击加载" />

    </LinearLayout>

    <me.maxwin.view.XListView
        android:id="@+id/MyXList"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </me.maxwin.view.XListView>

</LinearLayout>
<?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="horizontal">

    <ImageView
        android:id="@+id/MyImage"
        android:layout_width="100dp"
        android:layout_height="100dp" />

    <LinearLayout
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="100dp">

        <TextView
            android:id="@+id/titleText"
            android:layout_width="match_parent"
            android:layout_height="33dp" />

        <TextView
            android:id="@+id/tagsText"
            android:layout_width="match_parent"
            android:layout_height="33dp" />

        <TextView
            android:id="@+id/burdenText"
            android:layout_width="match_parent"
            android:layout_height="34dp" />

    </LinearLayout>

</LinearLayout>
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.monththree">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Main2Activity"></activity>
    </application>

</manifest>

 

 

posted @ 2017-08-25 10:27  萨斯儿科  阅读(209)  评论(0编辑  收藏  举报