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>