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>