package com.example.textexercisedemo;
import android.os.TransactionTooLargeException;
import android.support.annotation.IdRes;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentActivity;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.ViewGroup;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import com.example.textexercisedemo.Fragment.F_Introduce;
import com.example.textexercisedemo.Fragment.F_construction;
import com.example.textexercisedemo.Fragment.F_obligation;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends FragmentActivity {
private RadioGroup radio;
private RadioButton radio_introduce;
private RadioButton radio_obligation;
private RadioButton radio_construction;
private ViewPager vp;
private List<Fragment>list = new ArrayList<Fragment>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
radio = (RadioGroup) findViewById(R.id.Radio);
radio_introduce = (RadioButton) findViewById(R.id.Radio_introduce);
radio_obligation = (RadioButton) findViewById(R.id.Radio_obligation);
radio_construction = (RadioButton) findViewById(R.id.Radio_construction);
vp = (ViewPager) findViewById(R.id.vp);
//设置适配器Fragment
initVp();
//设置ViewPager的监听事件
radioMonitor();
}
private void radioMonitor() {
//设置ViewPager的监听事件
radio.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, @IdRes int checkedId) {
switch (checkedId){
case R.id.Radio_introduce:
vp.setCurrentItem(0);
break;
case R.id.Radio_obligation:
vp.setCurrentItem(1);
break;
case R.id.Radio_construction:
vp.setCurrentItem(2);
break;
}
}
});
//页面滑动的监听事件
vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
switch (position){
case 0:
radio.check(R.id.Radio_introduce);
break;
case 1:
radio.check(R.id.Radio_obligation);
break;
case 2:
radio.check(R.id.Radio_construction);
break;
}
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
}
private void initVp() {
F_Introduce f_introduce = new F_Introduce();
F_obligation f_obligation = new F_obligation();
F_construction f_construction = new F_construction();
list.add(f_introduce);
list.add(f_obligation);
list.add(f_construction);
//设置适配器Fragment
vp.setAdapter(new FragmentPagerAdapter(getSupportFragmentManager()) {
@Override
public Fragment getItem(int position) {
return list.get(position);
}
@Override
public int getCount() {
return list.size();
}
});
}
}
package com.example.textexercisedemo.Fragment;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;
import com.example.textexercisedemo.Bean.IntroduceBean;
import com.example.textexercisedemo.R;
import com.example.textexercisedemo.utils.StreamTools;
import com.google.gson.Gson;
import com.limxing.xlistview.view.XListView;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;
/**
* name :李飞宇
* Date: 2017/5/2
* desc: 主页面——本社介绍
*/
public class F_Introduce extends Fragment implements XListView.IXListViewListener{
private IntroduceBean introduceBean;
private XListView xlv;
private List<IntroduceBean> list = new ArrayList<IntroduceBean>();
private int channelId = 0;
// private int startNum = 0;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.introduce, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
xlv = (XListView) getView().findViewById(R.id.xlv1);
//设置是否允许加载更多
xlv.setPullLoadEnable(true);
xlv.setXListViewListener(this);
getmMenu();
}
public void getmMenu() {
new AsyncTask<String, Void, String>() {
@Override
protected String doInBackground(String... params) {
try {
URL url = new URL("http://www.93.gov.cn/93app/data.do");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
OutputStream os = connection.getOutputStream();
os.write(("channelId=" + 0 + "&" + "startNum="+0).getBytes());
PrintWriter pw = new PrintWriter(os);
//把数据刷出去
pw.flush();
int code = connection.getResponseCode();
if (code == 200) {
InputStream is = connection.getInputStream();
String s = StreamTools.readFromNetWork(is);
return s;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (s != null) {
Gson gson = new Gson();
introduceBean = gson.fromJson(s, IntroduceBean.class);
xlv.setAdapter(new MyAdapter());
}
}
}.execute();
}
@Override
public void onRefresh() {
}
@Override
public void onLoadMore() {
}
private class MyAdapter extends BaseAdapter {
private ImageView image;
private TextView tv;
@Override
public int getCount() {
return introduceBean.getData().size();
}
@Override
public Object getItem(int position) {
return introduceBean.getData().get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = convertView.inflate(getActivity(), R.layout.list_image_tv, null);
}
image = (ImageView) convertView.findViewById(R.id.image);
tv = (TextView) convertView.findViewById(R.id.tv);
tv.setText(introduceBean.getData().get(position).getTITLE());
// ImageLoader.getInstance().displayImage(list.get(position).getAlbums().get(0),ivIcon);
ImageLoader.getInstance().displayImage(introduceBean.getData().get(position).getIMAGEURL(), image);
return convertView;
}
}
}
ImageLoader
package com.example.textexercisedemo;
import android.app.Application;
import android.os.Environment;
import com.nostra13.universalimageloader.cache.disc.impl.UnlimitedDiskCache;
import com.nostra13.universalimageloader.cache.disc.naming.Md5FileNameGenerator;
import com.nostra13.universalimageloader.cache.memory.impl.LruMemoryCache;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.nostra13.universalimageloader.core.ImageLoaderConfiguration;
import com.nostra13.universalimageloader.core.download.BaseImageDownloader;
import com.nostra13.universalimageloader.utils.StorageUtils;
import java.io.File;
/**
* name :李飞宇
* Date: 2017/5/2
* desc:
*/
public class AppImageLoader extends Application {
@Override
public void onCreate() {
super.onCreate();
File cacheDir = StorageUtils.getOwnCacheDirectory(this, Environment.getExternalStorageDirectory().getPath());
ImageLoaderConfiguration configuration = new ImageLoaderConfiguration.Builder(this)
.memoryCache(new LruMemoryCache(2 * 1024 * 1024))
// .diskCache(new UnlimitedDiskCache(cacheDir))
.diskCacheSize(50 * 1024 *1024)
.diskCacheFileNameGenerator(new Md5FileNameGenerator())
.diskCacheFileCount(100)
.imageDownloader(new BaseImageDownloader(this))
.build();
ImageLoader.getInstance().init(configuration);
}
}
package com.example.textexercisedemo.utils;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
/**
* 流转化工具类
*/
public class StreamTools {
/**
* 流转化成字符串
* @param is
* @return
*/
public static String readFromNetWork(InputStream is){
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len = 0;
while ((len = is.read(buffer)) != -1){
baos.write(buffer,0,len);
}
return baos.toString();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
package com.example.textexercisedemo.Fragment;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;
import com.example.textexercisedemo.Bean.obligationBean;
import com.example.textexercisedemo.R;
import com.example.textexercisedemo.utils.StreamTools;
import com.google.gson.Gson;
import com.limxing.xlistview.view.XListView;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
/**
* name :李飞宇
* Date: 2017/5/2
* desc: 第二个也面——履行职责
*/
public class F_obligation extends Fragment {
private XListView xlv;
private com.example.textexercisedemo.Bean.obligationBean obligationBean;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.obligation, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
xlv = (XListView) getActivity().findViewById(R.id.xlv2);
getoblig();
}
public void getoblig() {
new AsyncTask<String, Void, String>() {
@Override
protected String doInBackground(String... params) {
try {
URL url = new URL("http://www.93.gov.cn/93app/data.do");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
OutputStream os = connection.getOutputStream();
os.write(("channelId=" + 1 + "&" + "startNum=21").getBytes());
PrintWriter writer = new PrintWriter(os);
writer.flush();
int code = connection.getResponseCode();
if (code == HttpURLConnection.HTTP_OK) {
InputStream stream = connection.getInputStream();
String s = StreamTools.readFromNetWork(stream);
return s;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (s != null) {
Gson gson = new Gson();
obligationBean = gson.fromJson(s, obligationBean.class);
//设置适配器
xlv.setAdapter(new MyAdapter());
}
}
}.execute();
}
private class MyAdapter extends BaseAdapter {
private ImageView image;
private TextView tv;
@Override
public int getCount() {
return obligationBean.getData().size();
}
@Override
public Object getItem(int position) {
return obligationBean.getData().get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView=convertView.inflate(getActivity(),R.layout.text,null);
}
// image = (ImageView) convertView.findViewById(R.id.image);
tv = (TextView) convertView.findViewById(R.id.textView);
tv.setText(obligationBean.getData().get(position).getSUBTITLE());
// tv.setText(introduceBean.getData().get(position).getTITLE());
// ImageLoader.getInstance().displayImage( obligationBean.getData().get(position).getIMAGEURL(),image);
return convertView;
}
}
}
package com.example.textexercisedemo.Fragment;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.ListAdapter;
import android.widget.TextView;
import com.example.textexercisedemo.Bean.constructionBean;
import com.example.textexercisedemo.R;
import com.example.textexercisedemo.utils.StreamTools;
import com.google.gson.Gson;
import com.limxing.xlistview.view.XListView;
import com.nostra13.universalimageloader.core.ImageLoader;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
/**
* name :李飞宇
* Date: 2017/5/2
* desc: 第三个页面——自我建设
*/
public class F_construction extends Fragment {
private XListView xlv;
private com.example.textexercisedemo.Bean.constructionBean constructionBean;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
return inflater.inflate(R.layout.construction, container, false);
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
xlv = (XListView) getActivity().findViewById(R.id.xlv);
getconstr();
}
public void getconstr() {
new AsyncTask<String, Void, String>() {
@Override
protected String doInBackground(String... params) {
try {
URL url = new URL("http://www.93.gov.cn/93app/data.do");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
OutputStream os = connection.getOutputStream();
os.write(("channelId=" + 3 + "&" + "startNum=" + 21).getBytes());
PrintWriter ps = new PrintWriter(os);
ps.flush();
int code = connection.getResponseCode();
if (code == HttpURLConnection.HTTP_OK) {
InputStream is = connection.getInputStream();
String s = StreamTools.readFromNetWork(is);
return s;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
if (s != null) {
Gson gson = new Gson();
constructionBean = gson.fromJson(s, constructionBean.class);
//设置适配器
xlv.setAdapter(new MyAdapter());
}
}
}.execute();
}
private class MyAdapter extends BaseAdapter {
@Override
public int getCount() {
return constructionBean.getData().size();
}
@Override
public Object getItem(int position) {
return constructionBean.getData().get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null){
convertView = convertView.inflate(getActivity(),R.layout.text,null);
}
// ImageView image = (ImageView) convertView.findViewById(R.id.image);
TextView tv = (TextView) convertView.findViewById(R.id.textView);
// ImageLoader.getInstance().displayImage();
tv.setText(constructionBean.getData().get(position).getSUBTITLE());
return convertView;
}
}
}