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>