//使用**异步**任务方式 HttpUrlConnection方式 要在清单列表设置连接网络权限

重点内容 //第一个是参数一般是url地址,,Void,,,第二个是异步任务执行的进度,,Void,,第三个是结果类型(String),
AsyncTask < Void,Void,String> asyncTask = new AsyncTask< Void, Void, String>() {
@Override
protected String doInBackground(Void… voids) {
//String 类型的路径
String path = “—路径—”;
try {
//转为Url类型
URL url = new URL(path);
//得到Http
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//设置
connection.setRequestMethod(“GET”);//请求方式
connection.setConnectTimeout(5000);//连接超时
connection.setReadTimeout(5000);//读取超时
//得到请求码
int responseCode = connection.getResponseCode();
if( responseCode == 200){
//得到字节流
InputStream inputStream = connection.getInputStream();
String json = streamtoString(inputStream,”utf-8”);
//返回结果
return json;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
//接收doInBackground传过来的消息 处于主线程 更新界面的操作
@Override
protected void onPostExecute(String s) {
Gson gson = new Gson();//记得导包
DataDataBean dataDataBean = gson.fromJson(s, bean类.class);
final List<集合> list = 由bean类.get到集合
//设置适配器
MyLVAdapter adapter = new MyLVAdapter(list,MainActivity.this);
lv.setAdapter(adapter);
//条目的点击事件
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView< ? > adapterView, View view, int i, long l) {
Intent intent = new Intent(MainActivity.this,TwoActivity.class);
//得到图片的key值,name如(url) intent.putExtra(“url”,list.get(i).getUrl());
startActivity(intent);
}
});
}
};
//执行异步任务
asyncTask.execute();
//适配器里
//显示图片 是一个方法
displayImage(list.get(i).getPicUrl(),holder.iv);
private void displayImage(final String picUrl, final ImageView iv) {
//异步处理
AsyncTask< Void,Void,Bitmap> asyncTask = new AsyncTask< Void, Void, Bitmap>() {
@Override
protected Bitmap doInBackground(Void… voids) {
//得到图片的网络格式
try {
URL url = new URL(picUrl);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
//设置
connection.setRequestMethod(“GET”);
connection.setReadTimeout(5000);
connection.setConnectTimeout(5000);
//获取
int responseCode = connection.getResponseCode();
if(responseCode == 200){
InputStream inputStream = connection.getInputStream();
//转成Bitmap
Bitmap map = BitmapFactory.decodeStream(inputStream);
return map;
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(Bitmap bitmap) {
iv.setImageBitmap(bitmap);
}
};
asyncTask.execute();
}

//点击条目后的第二个activity
//获取传递的路径
String url = getIntent().getStringExtra(“url”);
wv = findViewById(R.id.wv);
//展示到WebView上
wv.loadUrl(url);
//设置
//在当前的Activity加载 不是在浏览器加载
wv.setWebViewClient(new WebViewClient());
WebSettings settings = wv.getSettings();
settings.setJavaScriptEnabled(true);
//设置支持js弹窗
settings.setJavaScriptCanOpenWindowsAutomatically(true);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值