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

xml解析,httputils网络请求,imageloder图片加载

2016-10-18 21:12 393 查看
图片加载
public class Myapption extends Application{

@Override
public void onCreate() {
startimage();
}

private void startimage() {
DisplayImageOptions options=new DisplayImageOptions.Builder().cacheOnDisc(true).cacheInMemory(true)
.showImageOnLoading(R.drawable.li_logo).showImageOnFail(R.drawable.li_logo).showImageOnFail(R.drawable.li_logo)
.build();
int Maxsize=(int) (Runtime.getRuntime().maxMemory()/8);
ImageLoaderConfiguration configuration=new ImageLoaderConfiguration.Builder(getApplicationContext()).discCache(new UnlimitedDiskCache(getCacheDir()))
.memoryCache(new UsingFreqLimitedMemoryCache(Maxsize)).threadPoolSize(3).threadPriority(Thread.NORM_PRIORITY-1)
.defaultDisplayImageOptions(options).build();
ImageLoader.getInstance().init(configuration);
}
}
xml解析
public class MainActivity extends Activity {

private ArrayList<Books> data=new ArrayList<Books>();
private ByteArrayInputStream input = null;
private String path = "http://172.17.29.120/localuser/loupengfei/kaoshi/student.xml";
private ListView list;
private Mylist adapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list = (ListView) findViewById(R.id.list);
adapter = new Mylist();
list.setAdapter(adapter);
startpull();
}
public class Mylist extends BaseAdapter{

private TextView name;
private TextView address;

@Override
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}

@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}

@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}

@Override
public View getView(int arg0, View arg1, ViewGroup arg2) {
View view=View.inflate(MainActivity.this,R.layout.list,null);
name=(TextView) view.findViewById(R.id.name);
address=(TextView) view.findViewById(R.id.address);
name.setText(data.get(arg0).getName());
address.setText(data.get(arg0).getAddress());
return view;
}

}
private void startpull() {
new Thread() {
public void run() {
String string;
// 创建HttpClient
HttpClient client = new DefaultHttpClient();
// 设置请求方式
HttpGet get = new HttpGet(path);
try {
// 执行
HttpResponse response = client.execute(get);
// 得到一个结果码
int statusCode = response.getStatusLine().getStatusCode();
// 判断这个结果码
if (statusCode == 200) {
string = EntityUtils.toString(response.getEntity(),
"utf-8");
input = new ByteArrayInputStream(string.getBytes());
System.out.println(string + "11111111111");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
ArrayList<Books> books = new ArrayList<Books>();
Books book = null;
// 获得工厂类对象
XmlPullParserFactory factory = XmlPullParserFactory
.newInstance();
// 获得对应解析器
XmlPullParser parser = factory.newPullParser();
// 把文件放进去,开始解析
parser.setInput(input, "UTF-8");
int type = parser.getEventType();
while (type != XmlPullParser.END_DOCUMENT) {
if (type == XmlPullParser.START_TAG) {
if ("student".equals(parser.getName())) {
book = new Books();
book.setId(Integer.parseInt(parser
.getAttributeValue(0)));
} else if ("address".equals(parser.getName())) {
if (book != null) {
book.setAddress(parser.nextText());
}
} else if ("name".equals(parser.getName())) {
if (book != null) {
book.setName(parser.nextText());
}
}
} else if (type == XmlPullParser.END_TAG) {
if ("student".equals(parser.getName())) {
books.add(book);
}
}
type = parser.next();
}
data.addAll(books);
} catch (Exception e) {
e.printStackTrace();
}
};
}.start();
}
}
httputils请求加listview分页加载数据
public class MainActivity extends Activity {
public Myname adapter;
private ArrayList<Goodbean.Data> datas;
private ArrayList<Goodbean.Data> fenlist = new ArrayList<Goodbean.Data>();
int index = 0;
final int PAGE_NUMBER = 7;
private ListView list;
private String url = "http://m.yunifang.com/yunifang/mobile/goods/getall?random=87749&encode=ac6bd45b8f50b626a6843b294af8fed5";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
list=(ListView) findViewById(R.id.list);
list.setOnScrollListener(new AbsListView.OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView absListView, int i) {
if (i == AbsListView.OnScrollListener.SCROLL_STATE_IDLE) {
if (absListView.getLastVisiblePosition() == fenlist.size()-1) {
index = index + PAGE_NUMBER;
addData();
}
}
}
@Override
public void onScroll(AbsListView absListView, int i, int i1, int i2) {

}
});
httpjson();
}
private void addData() {
Log.i("---", datas.size() + "+++fen");
for (int i = index; i < index + PAGE_NUMBER; i++) {
if (i < datas.size()) {
fenlist.add(datas.get(i));
}
}

if (fenlist.size()==datas.size()) {
Toast.makeText(MainActivity.this,"没有更多了...", Toast.LENGTH_SHORT).show();
}

if (adapter == null) {
adapter = new Myname(MainActivity.this, fenlist);
list.setAdapter(adapter);
}else {
adapter.notifyDataSetChanged();
}
}
private void httpjson() {
HttpUtils http = new HttpUtils();
http.send(HttpRequest.HttpMethod.GET,
url,
new RequestCallBack<String>() {
@Override
public void onSuccess(ResponseInfo<String> responseInfo) {
String jsonto=responseInfo.result;
Gson gson=new Gson();
Goodbean good=gson.fromJson(jsonto,Goodbean.class);
datas=good.data;
addData();
}

@Override
public void onFailure(HttpException e, String s) {

}
});
}

public class Myname extends BaseAdapter{

private ArrayList<Goodbean.Data> datas;
private Context context;
public Myname(Context context, ArrayList<Goodbean.Data> datas) {
this.datas=datas;
this.context=context;
}

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

@Override
public Object getItem(int position) {
return null;
}

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

@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder hr=null;
convertView=View.inflate(context,R.layout.list,null);
if(convertView!=null){
hr=new ViewHolder();
hr.textname=(TextView) convertView.findViewById(R.id.textView);
hr.image=(ImageView) convertView.findViewById(R.id.imageView);
convertView.setTag(hr);
}else {
hr=(ViewHolder)convertView.getTag();
}
hr.textname.setText(datas.get(position).efficacy);
ImageLoader.getInstance().displayImage(datas.get(position).goods_img,hr.image);
return convertView;
}
public class ViewHolder{
private TextView textname;
private ImageView image;
}
}
}
加权限
<uses-permission  android:name="android.permission.INTERNET"/>
<uses-permission  android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: