测试

mainfests

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.yuekao">
<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=".SecondActivity"/>
    </application>

</manifest>
utils_checkNet

package com.example.yuekao.utils;

import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.support.v7.app.AlertDialog;



public class CheckNet {
    public boolean isNetWork(Context context) {
       ConnectivityManager manager= (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
       NetworkInfo info=manager.getActiveNetworkInfo();
        return info!=null&&info.isConnected();
    }
}
utils_GlidemangeLoader

package com.example.yuekao.utils;

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

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



public class GlideImageLoader extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        Glide.with(context).load(path).into(imageView);

    }
}
utils_insert

package com.example.yuekao.utils;

import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;



public class InsertSqlite {
    private SQLiteDatabase sd;
    public InsertSqlite(Context context){
        MySqliteOpenHelper helper=new MySqliteOpenHelper(context);
        sd=helper.getWritableDatabase();
    }
    public boolean insert(String step,String img){
        ContentValues values=new ContentValues();
        values.put("step",step);
        values.put("img",img);
        long user=sd.insert("user",null,values);
        if(user!=-1){
            return  true  ;
        }else{
            return  false;
        }
    }
}
users_MySqliteOpenHelper

package com.example.yuekao.utils;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;



public class MySqliteOpenHelper  extends SQLiteOpenHelper{
    public MySqliteOpenHelper(Context context) {
        super(context, "user.db", null, 1);
    }

    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL("create table user(id integer primary key autoincrement,step vatchar(20),img varchar(20) )");
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}
MainActivity

package com.example.yuekao;

import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.yuekao.bean.MenuInfo;
import com.example.yuekao.utils.CheckNet;
import com.example.yuekao.utils.GlideImageLoader;
import com.example.yuekao.utils.InsertSqlite;
import com.example.yuekao.utils.MySqliteOpenHelper;
import com.google.gson.Gson;
import com.limxing.xlistview.view.XListView;
import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.youth.banner.Banner;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener{
    private Banner banner;
    private List<String> urllist=new ArrayList<>();
    private XListView xListView;
    private final  int TYPE_0=0,TYPE_1=1;
    private List<MenuInfo.ResultBean.DataBean.StepsBean> list;
    private MySqliteOpenHelper helper;
    private InsertSqlite insertsqlite;
    private int page=0;
    private Boolean flag;
    private MyAdapter adapter;

    

    @Override
    protected void onCreate(Bundle savedInstanceState)  {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        xListView= (XListView) findViewById(R.id.listview);
        xListView.setXListViewListener(this);
       xListView.setPullRefreshEnable(true);
        boolean netWork = new CheckNet().isNetWork(MainActivity.this);
        if(!netWork){
            AlertDialog.Builder builder=new AlertDialog.Builder(MainActivity.this);
            builder.setMessage("请设置网络")
                    .setNegativeButton("取消",null)
                    .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                        @Override
                        public void onClick(DialogInterface dialogInterface, int i) {
                            Intent it=new Intent();
                            it.setAction("android.settings.WIRELESS_SETTINGS");
                            startActivity(it);
                        }
                    }).create().show();
        }

        //Banner
        banner= (Banner) findViewById(R.id.banner);
        urllist.add("http://wenwen.soso.com/p/20110201/20110201154011-589875193.jpg");
        urllist.add("http://www.dianmeng.com/moban/tupian/200807/200807,0205392592.jpg");
        urllist.add("http://p1.so.qhimgs1.com/t01664689c9a012ca31.jpg");
        banner.setImageLoader(new GlideImageLoader());
        banner.setImages(urllist);
        banner.start();
        getData("http://apis.juhe.cn/cook/query.php");
        helper=new MySqliteOpenHelper(this);
        getSqlite();


    }
    public void getSqlite(){
        helper.getWritableDatabase();
        insertsqlite=new InsertSqlite(MainActivity.this);
      // for (int i=0;i<list.size();i++){
      //      Boolean insert=insertsqlite.insert(list.get(i).getStep(),list.get(i).getImg());
      //      if(insert){
      //          System.out.println("添加成功");
      //      }
        //}
    }
    //异步加载网络数据
     public void getData(String path){
         new AsyncTask<String, Void, String>() {
             @Override
             protected void onPostExecute(String s) {
                 super.onPostExecute(s);
                if(s!=null){
                    Gson gson=new Gson();
                    MenuInfo menuinfo=gson.fromJson(s,MenuInfo.class);
                    list=menuinfo.getResult().getData().get(0).getSteps();
                     for (int i=0;i<list.size();i++){
                          Boolean insert=insertsqlite.insert(list.get(i).getStep(),list.get(i).getImg());
                          if(insert){
                              System.out.println("添加成功");
                          }
                    }
                    //xListView.setAdapter(new MyAdapter());

                    if(adapter==null){
                        adapter=new MyAdapter();
                        xListView.setAdapter(adapter);
                    }else{
                        adapter.add(list,flag);
                         adapter.notifyDataSetChanged();
                    }
                    xListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                        @Override
                        public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                            Intent it=new Intent(MainActivity.this,SecondActivity.class);
                            it.putExtra("step",list.get(i-1).getStep());
                            it.putExtra("img",list.get(i-1).getImg());
                            startActivity(it);
                        }
                    });
                }
             }

             @Override
             protected String doInBackground(String... strings) {
                 try {
                     String path=strings[0];
                     URL url=new URL(path);
                     HttpURLConnection connection= (HttpURLConnection) url.openConnection();
                     connection.setRequestMethod("POST");
                     OutputStream os=connection.getOutputStream();
                     os.write(("key=4866477692b8491f120e3608db277cb0&menu=红烧肉&rn="+page).getBytes());
                     os.flush();
                     int code=connection.getResponseCode();
                     if(code==HttpURLConnection.HTTP_OK){
                         InputStream is=connection.getInputStream();
                         ByteArrayOutputStream baos=new ByteArrayOutputStream();
                         int len=0;
                         byte[] buffer=new byte[1024];
                         while ((len=is.read(buffer))!=-1){
                             baos.write(buffer,0,len);
                         }
                         is.close();
                         baos.close();
                         return baos.toString();
                     }
                 } catch (Exception e) {
                     e.printStackTrace();
                 }
                 return null;
             }
         }.execute(path);
     }

    @Override
    public void onRefresh() {
        ++page;
        getData("http://apis.juhe.cn/cook/query.php");
        flag=true;
        xListView.stopRefresh(true);
    }

    @Override
    public void onLoadMore() {
       ++page;
        getData("http://apis.juhe.cn/cook/query.php");
        flag=false;
        xListView.stopLoadMore();

    }

    class MyAdapter extends BaseAdapter{
        public void add(List<MenuInfo.ResultBean.DataBean.StepsBean> step,boolean flag){
            for (MenuInfo.ResultBean.DataBean.StepsBean steps:step) {
                if(flag){
                    list.add(0,steps);
                }else{
                    list.add(steps);
                }
            }
        }

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

        @Override
        public Object getItem(int i) {
            return list.get(i);
        }

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

        @Override
        public int getViewTypeCount() {
            return 2;
        }

        @Override
        public int getItemViewType(int position) {
          if(position%2==0){
              return TYPE_0;
          }else{
              return TYPE_1;
          }
        }

        @Override
        public View getView(int i, View view, ViewGroup viewGroup) {
            int type=getItemViewType(i);
            ViewHolder01 holder01 = null;
            ViewHolder02 holder02=null;
            switch (type){
                case 0:
                    if(view==null){
                        holder01=new ViewHolder01();
                        view=View.inflate(MainActivity.this,R.layout.item01,null);
                        holder01.ivIcon01=view.findViewById(R.id.ivIcon01);
                        holder01.tvContent01=view.findViewById(R.id.tvContent01);
                        view.setTag(holder01);
                    }else{
                        holder01= (ViewHolder01) view.getTag();
                    }
                    break;
                case 1:
                    if(view==null){
                        holder02=new ViewHolder02();
                        view=View.inflate(MainActivity.this,R.layout.item02,null);
                        holder02.ivIvon02=view.findViewById(R.id.ivIcon02);
                        holder02.tvContent02=view.findViewById(R.id.tvContent02);
                        view.setTag(holder02);
                    }else{
                        holder02= (ViewHolder02) view.getTag();
                    }
                    break;

            }
            switch (type){
                case 0:
                    holder01.tvContent01.setText(list.get(i).getStep());
                    ImageLoaderConfiguration con01=new ImageLoaderConfiguration.Builder(MainActivity.this).build();
                    ImageLoader.getInstance().init(con01);
                    DisplayImageOptions option01=new DisplayImageOptions.Builder()
                            .build();
                    ImageLoader.getInstance().displayImage(list.get(i).getImg(),holder01.ivIcon01,option01);
                    break;
                case 1:
                    holder02.tvContent02.setText(list.get(i).getStep());
                    ImageLoaderConfiguration con02=new ImageLoaderConfiguration.Builder(MainActivity.this).build();
                    ImageLoader.getInstance().init(con02);
                    DisplayImageOptions option02=new DisplayImageOptions.Builder()
                            .build();
                    ImageLoader.getInstance().displayImage(list.get(i).getImg(),holder02.ivIvon02,option02);
                    break;
            }
            return view;
        }
    }
    class ViewHolder01{
        ImageView ivIcon01;
        TextView tvContent01;

    }
     class ViewHolder02{
         ImageView ivIvon02;
         TextView tvContent02;

     }
}
SecondActivity

package com.example.yuekao;

import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import android.widget.TextView;

import com.nostra13.universalimageloader.core.DisplayImageOptions;
import com.nostra13.universalimageloader.core.ImageLoader;



public class SecondActivity extends AppCompatActivity {
    private ImageView imageView;
    private TextView textView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.second_activity);
        imageView= (ImageView) findViewById(R.id.imageview);
        textView= (TextView) findViewById(R.id.textview);
        Intent intent=getIntent();
        Bundle bundle=intent.getExtras();
        String step=bundle.getString("step");
        String img=bundle.getString("img");
        textView.setText(step);
        DisplayImageOptions options=new DisplayImageOptions.Builder()
                .build();
        ImageLoader.getInstance().displayImage(img,imageView,options);


    }
}





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值