大Demo

来源:互联网 发布:日本电脑软件 编辑:程序博客网 时间:2024/05/01 09:47

MainActivity

package com.example.xujinlong1507a20170922;import android.app.Activity;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.net.ConnectivityManager;import android.os.AsyncTask;import android.os.Handler;import android.os.Message;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.view.Window;import android.view.WindowManager;import android.widget.RadioButton;import android.widget.RadioGroup;import android.widget.TextView;import android.widget.Toast;import com.example.xujinlong1507a20170922.Bean.MenuInfo;import com.example.xujinlong1507a20170922.Utils.DataInset;import com.example.xujinlong1507a20170922.Utils.MyDataBaseHelper;import com.example.xujinlong1507a20170922.Utils.MyImgAdapter;import com.example.xujinlong1507a20170922.Utils.MyXlistviewAdapter;import com.google.gson.Gson;import com.limxing.xlistview.view.XListView;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 TextView textView;    private SQLiteDatabase db;    private MyDataBaseHelper dbhelper;    private int typs = 1;    private int index = 0;    private XListView xListView;    private ViewPager viewPager;    private RadioGroup rg;    private List<String> imglist = new ArrayList<>();    private List<MenuInfo.ListBean> list;    private MyImgAdapter imgadapter;    private MyXlistviewAdapter adapter;    private Handler handler = new Handler() {        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            switch (msg.what) {                case 1:                    viewPager.setCurrentItem(index);                    break;            }        }    };    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        viewPager = (ViewPager) findViewById(R.id.my_viewpager);        rg = (RadioGroup) findViewById(R.id.my_radiogroup);        xListView = (XListView) findViewById(R.id.my_xlistview);        textView = (TextView) findViewById(R.id.maps);        xListView.setPullLoadEnable(true);        xListView.setXListViewListener(this);        xListView.setPullRefreshEnable(true);        auto();        getimg();        getlistview();        dbhelper = new MyDataBaseHelper(this);        dbhelper.getWritableDatabase();        textView.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View view) {            }        });    }    public void getimg() {        imglist.add("https://img10.360buyimg.com/da/jfs/t4747/277/1368712300/170619/35098d7f/58f038e0N9b3a0ca5.jpg");        imglist.add("https://img14.360buyimg.com/da/jfs/t4915/21/1427207714/81116/b005bb06/58f08963Ndb295b3c.jpg");        imglist.add("https://img13.360buyimg.com/da/jfs/t4651/104/2867456043/68336/99da4c16/58f41eaeN5b614a63.jpg");        imgadapter = new MyImgAdapter(imglist, MainActivity.this);        viewPager.setAdapter(imgadapter);        viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {            @Override            public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {            }            @Override            public void onPageSelected(int position) {                for (int i = 0; i < imglist.size(); i++) {                    RadioButton radioButton = (RadioButton) rg.getChildAt(i);                    if (i == (position % imglist.size())) {                        radioButton.setChecked(true);                    } else {                        radioButton.setChecked(false);                    }                }            }            @Override            public void onPageScrollStateChanged(int state) {            }        });    }    private void auto() {        new Thread() {            @Override            public void run() {                super.run();                while (true) {                    try {                        sleep(2000);                    } catch (Exception e) {                        e.printStackTrace();                    }                    index++;                    handler.sendEmptyMessage(1);                }            }        }.start();    }    public void getlistview() {        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.getList();                    adapter = new MyXlistviewAdapter(list, MainActivity.this);                    xListView.setAdapter(adapter);                    DataInset inset = new DataInset(MainActivity.this);                    for (int i = 0; i < list.size(); i++) {                        Boolean insert = inset.insert(list.get(i).getTitle(), list.get(i).getPic());                        if (insert) {                            Toast.makeText(MainActivity.this, "添加成功", Toast.LENGTH_SHORT).show();                        }                    }                }            }            @Override            protected String doInBackground(String... strings) {                try {                    String path = strings[0];                    URL url = new URL(path);                    HttpURLConnection connection = (HttpURLConnection) url.openConnection();                    connection.setRequestMethod("GET");                    /*OutputStream os = connection.getOutputStream();                    os.write("postkey=9rff1d1AK&type=5".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("http://qhb.2dyt.com/Bwei/news?postkey=9rff1d1AK&type=5");    }    @Override    public void onRefresh() {        getlistview();        xListView.stopRefresh(true);    }    @Override    public void onLoadMore() {        getlistview();        xListView.stopLoadMore();    }}
MyXlistviewAdapter

package com.example.xujinlong1507a20170922.Utils;import android.content.Context;import android.support.v4.content.ContextCompat;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.example.xujinlong1507a20170922.Bean.MenuInfo;import com.example.xujinlong1507a20170922.R;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import java.util.List;/** * Created by wzx on 2017/9/22. */public class MyXlistviewAdapter extends BaseAdapter{    private List<MenuInfo.ListBean> list;    private Context context;    private final int TYPE_0=0,TYPE_1=1;    public MyXlistviewAdapter(List<MenuInfo.ListBean> list, Context context) {        this.list = list;        this.context = context;    }    @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(context, R.layout.item01,null);                    holder01.myContent01=view.findViewById(R.id.myContent01);                    holder01.myIcon01=view.findViewById(R.id.myIcon01);                    view.setTag(holder01);                }else{                    holder01= (ViewHolder01) view.getTag();                }                break;            case 1:                if(view==null){                    holder02=new ViewHolder02();                    view=View.inflate(context,R.layout.item02,null);                    holder02.myContent02=view.findViewById(R.id.myContent02);                    holder02.myIcon02=view.findViewById(R.id.myIcon02);                    view.setTag(holder02);                }else{                    holder02= (ViewHolder02) view.getTag();                }                break;        }        switch (type){            case 0:                holder01.myContent01.setText(list.get(i).getTitle());                ImageLoaderConfiguration con01=new ImageLoaderConfiguration.Builder(context).build();                ImageLoader.getInstance().init(con01);                DisplayImageOptions option01=new DisplayImageOptions.Builder()                        .showImageOnFail(R.mipmap.t2)                        .showImageOnLoading(R.mipmap.ic_launcher)                        .cacheOnDisk(true)                        .cacheInMemory(true)                        .build();                ImageLoader.getInstance().displayImage(list.get(i).getPic(),holder01.myIcon01,option01);                break;            case 1:                holder02.myContent02.setText(list.get(i).getTitle());                ImageLoaderConfiguration con02=new ImageLoaderConfiguration.Builder(context).build();                ImageLoader.getInstance().init(con02);                DisplayImageOptions option02=new DisplayImageOptions.Builder()                        .showImageOnFail(R.mipmap.t1)                        .showImageOnLoading(R.mipmap.t1)                        .cacheOnDisk(true)                        .cacheInMemory(true)                        .build();                ImageLoader.getInstance().displayImage(list.get(i).getPic(),holder02.myIcon02,option02);                break;        }        return view;    }    class ViewHolder01{        TextView myContent01;        ImageView myIcon01;    }    class ViewHolder02{        TextView myContent02;        ImageView myIcon02;    }}
MyImgAdapter

package com.example.xujinlong1507a20170922.Utils;import android.content.Context;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;import android.widget.ImageView;import com.example.xujinlong1507a20170922.MainActivity;import com.example.xujinlong1507a20170922.R;import com.nostra13.universalimageloader.core.DisplayImageOptions;import com.nostra13.universalimageloader.core.ImageLoader;import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;import java.util.List;/** * Created by wzx on 2017/9/22. */public class MyImgAdapter extends PagerAdapter{    private List<String> imglist;    private Context context;    public MyImgAdapter(List<String> imglist, Context context) {        this.imglist = imglist;        this.context = context;        ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(context).build();        ImageLoader.getInstance().init(configuration);    }    @Override    public int getCount() {        return Integer.MAX_VALUE;    }    @Override    public boolean isViewFromObject(View view, Object object) {        return view==object;    }    @Override    public Object instantiateItem(ViewGroup container, int position) {        ImageView imageView=new ImageView(context);        DisplayImageOptions options=new DisplayImageOptions.Builder()                .showImageOnFail(R.mipmap.ic_launcher)                .showImageOnLoading(R.mipmap.ic_launcher)                .cacheInMemory(true)                .cacheOnDisk(true)                .build();        ImageLoader.getInstance().displayImage(imglist.get(position%imglist.size()),imageView,options);        container.addView(imageView);        return imageView;    }    @Override    public void destroyItem(ViewGroup container, int position, Object object) {         container.removeView((View) object);    }}
MyDataBaseHelper

package com.example.xujinlong1507a20170922.Utils;import android.content.Context;import android.database.sqlite.SQLiteDatabase;import android.database.sqlite.SQLiteOpenHelper;/** * Created by wzx on 2017/9/22. */public class MyDataBaseHelper extends SQLiteOpenHelper{    public MyDataBaseHelper(Context context) {        super(context, "user.db", null, 1);    }    @Override    public void onCreate(SQLiteDatabase sqLiteDatabase) {        sqLiteDatabase.execSQL("create table users(id integer primary key autoincrement,content varchar(20),icon varchar(20))");    }    @Override    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {    }}

DataInsert

package com.example.xujinlong1507a20170922.Utils;import android.content.ContentValues;import android.content.Context;import android.database.sqlite.SQLiteDatabase;/** * Created by wzx on 2017/9/22. */public class DataInset {    private SQLiteDatabase sd;    public DataInset(Context context) {        MyDataBaseHelper helper = new MyDataBaseHelper(context);        sd = helper.getWritableDatabase();    }    public boolean insert(String content, String icon) {        ContentValues values = new ContentValues();        values.put("content", content);        values.put("icon", icon);        long user = sd.insert("users", null, values);        if (user != -1) {            return true;        } else {            return false;        }    }}
activity_main

<?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.xujinlong1507a20170922.MainActivity">    <LinearLayout        android:layout_width="match_parent"        android:layout_height="40dp"        android:orientation="horizontal"        android:background="@color/colorAccent"        >        <TextView            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="北京"            android:textSize="30sp"            android:layout_weight="1"            />        <EditText            android:layout_width="40dp"            android:layout_height="wrap_content"            android:hint="请输入你要查询的东西"            android:layout_weight="3"            />        <TextView            android:id="@+id/maps"            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:text="地图"            android:onClick="biubius"            android:textSize="30sp"            />    </LinearLayout>    <android.support.v4.view.ViewPager        android:id="@+id/my_viewpager"        android:layout_width="match_parent"        android:layout_height="80dp">    </android.support.v4.view.ViewPager>    <RadioGroup        android:id="@+id/my_radiogroup"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:orientation="horizontal"        >        <RadioButton            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            />        <RadioButton            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            />        <RadioButton            android:layout_width="wrap_content"            android:layout_height="wrap_content"            android:layout_weight="1"            />    </RadioGroup>    <com.limxing.xlistview.view.XListView        android:id="@+id/my_xlistview"        android:divider="@null"        android:layout_width="match_parent"        android:layout_height="match_parent">    </com.limxing.xlistview.view.XListView></LinearLayout>
item01

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="horizontal" android:layout_width="match_parent"    android:layout_height="match_parent"><TextView    android:id="@+id/myContent01"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="1111111"    />    <ImageView        android:id="@+id/myIcon01"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@mipmap/ic_launcher"        /></LinearLayout>
item02

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="horizontal" android:layout_width="match_parent"    android:layout_height="match_parent">    <ImageView        android:id="@+id/myIcon02"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@mipmap/ic_launcher"        /><TextView    android:id="@+id/myContent02"    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:text="1111111"    /></LinearLayout>

原创粉丝点击