您的位置:首页 > 理论基础 > 计算机网络

HttpURLConnection的POST请求加载数据图片

2017-05-03 14:03 477 查看
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() {
list.add(new F_Introduce());
list.add(new F_obligation());
list.add(new 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 {

private IntroduceBean introduceBean;
private XListView xlv;
private List<IntroduceBean> list = new ArrayList<IntroduceBean>();

@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);

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();
}

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;

}
}

}

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;

impo
4000
rt 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());

// ImageLoader.getInstance().displayImage( obligationBean.getData().get(position).getIMAGEURL(),image);

return convertView;
}
}


}

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;

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:

*/

ImageLoader:

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);

}


}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: