展会信息港展会大全

Android获取网络数据并且用listView展示
来源:互联网   发布日期:2015-09-28 16:22:39   浏览:2300次  

导读:以下是采用url方式获取网络数据并且用listView展示。package com.theme;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.net.URL;import java.n......

以下是采用url方式获取网络数据并且用listView展示。

package com.theme;

import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.net.URL;

import java.net.URLConnection;

import java.util.ArrayList;

import java.util.List;

import com.theme.download.DownActivity;

import android.app.ListActivity;

import android.content.Context;

import android.content.Intent;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.os.Bundle;

import android.util.Log;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.ListView;

import android.widget.RatingBar;

import android.widget.TextView;

public class MainActivity extends ListActivity {

private ApkListAdapter apkListAdapter;

public class ApkListAdapter extends BaseAdapter {

private Context context;

private LayoutInflater layoutInflater;

private String inflater = Context.LAYOUT_INFLATER_SERVICE;

public String rootUrl = "http://192.168.0.103:8080/upload/";

private String listUrl = rootUrl + "list.txt";

public List imageDataList = new ArrayList();

class ImageData {

public String url;

public String applicationName;

public float rating;

}

private InputStream getNetInputStream(String urlStr) {

try {

URL url = new URL(urlStr);

URLConnection cONn = url.openConnection();

conn.connect();

InputStream is = conn.getInputStream();

return is;

} catch (Exception e) {

}

return null;

}

public ApkListAdapter(Context context) {

this.cONtext = context;

layoutInflater = (LayoutInflater) context

.getSystemService(inflater);

try {

InputStream is = getNetInputStream(listUrl);

InputStreamReader isr = new InputStreamReader(is, "GBK");

BufferedReader br = new BufferedReader(isr);

String s = null;

while ((s = br.readLine()) != null) {

String[] data = s.split(",");

if (data.length > 2) {

ImageData imageData = new ImageData();

imageData.url = data[0];

imageData.applicatiONName = data[1];

imageData.rating = Float.parseFloat(data[2]);

imageDataList.add(imageData);

}

}

is.close();

} catch (Exception e) {

Log.i("System.out", e.toString());

}

}

@Override

public int getCount() {

return imageDataList.size();

}

@Override

public Object getItem(int position) {

return position;

}

@Override

public long getItemId(int position) {

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

LinearLayout linearLayout = (LinearLayout) layoutInflater.inflate(

R.layout.main, null);

ImageView ivLogo = (ImageView) linearLayout

.findViewById(R.id.ivLogo);

TextView tvApplicatiONName = ((TextView) linearLayout

.findViewById(R.id.tvApplicationName));

TextView tvRating = (TextView) linearLayout

.findViewById(R.id.tvRating);

RatingBar ratingBar = (RatingBar) linearLayout

.findViewById(R.id.ratingbar);

tvApplicationName

.setText(imageDataList.get(position).applicationName);

tvRating.setText(String.valueOf(imageDataList.get(position).rating));

ratingBar.setRating(imageDataList.get(position).rating);

try {

InputStream is = getNetInputStream(rootUrl

+ imageDataList.get(position).url);

Bitmap bitmap = BitmapFactory.decodeStream(is);

is.close();

ivLogo.setImageBitmap(bitmap);

} catch (Exception e) {

Log.i("System.out", e.toString());

}

return linearLayout;

}

}

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

apkListAdapter = new ApkListAdapter(this);

setListAdapter(apkListAdapter);

}

}

赞助本站

人工智能实验室

相关热词: 获取网络数据 listView

AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港