异步+listview展示网页面效果
来源:互联网 发布:社区门诊软件 编辑:程序博客网 时间:2024/05/17 01:57
package com.example.adminjs.lianxi;import android.content.Context;import android.content.Intent;import android.os.AsyncTask;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.AdapterView;import android.widget.ListView;import com.example.adminjs.lianxi.Adapter.MyAdapter;import com.example.adminjs.lianxi.Bean.DataBean;import com.example.adminjs.lianxi.Bean.ResultBean;import com.google.gson.Gson;import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;import java.io.UnsupportedEncodingException;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;public class MainActivity extends AppCompatActivity { private ArrayList<ResultBean> list; private MyAdapter myAdapter; private ListView listView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView) findViewById(R.id.listview); list = new ArrayList<>(); into(); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { if (list != null){ Intent intent = new Intent(MainActivity.this, WebActivity.class); intent.putExtra("url",list.get(i).getUrl()); startActivity(intent); } } }); } private void into() { MyTask myTask = new MyTask(); myTask.execute("http"); } class MyTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... strings) { if ("http".equals(strings[0])){ String path = "http://v.juhe.cn/weixin/query?key=88f7bbc507e3ecacfaeab2b47dd8936f"; try { URL url = new URL(path); 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; } @Override protected void onPostExecute(String s) { Gson gson = new Gson(); DataBean dataBean = gson.fromJson(s, DataBean.class); if (dataBean != null) { list.addAll(dataBean.getResult().getList()); setAdapter(); } } } private void setAdapter() { if (myAdapter == null){ myAdapter = new MyAdapter(list, MainActivity.this); listView.setAdapter(myAdapter); }else{ myAdapter.notifyDataSetChanged(); } } private String streamTostring(InputStream inputstream,String charset){ try { InputStreamReader inputStreamReader = new InputStreamReader(inputstream, charset); BufferedReader bufferedReader = new BufferedReader(inputStreamReader); StringBuilder builder = new StringBuilder(); String s = null; while ((s = bufferedReader.readLine())!= null){ builder.append(s); } bufferedReader.close(); return builder.toString(); } catch (Exception e) { e.printStackTrace(); } return null; }}
package com.example.adminjs.lianxi.Adapter;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.example.adminjs.lianxi.Bean.ResultBean;import com.example.adminjs.lianxi.R;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.List;/** * Created by Adminjs on 2017/9/5. */public class MyAdapter extends BaseAdapter{ List<ResultBean>list; Context context; public MyAdapter(List<ResultBean> list, Context context) { this.list = list; this.context = context; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int i) { return list.get(i); } @Override public long getItemId(int i) { return i; } @Override public View getView(int i, View view, ViewGroup viewGroup) { ViewHolder holder; if (view == null){ view = View.inflate(context, R.layout.item_layout,null); holder = new ViewHolder(); holder.image = (ImageView)view.findViewById(R.id.image); holder.source = (TextView)view.findViewById(R.id.source); holder.title = (TextView)view.findViewById(R.id.title); view.setTag(holder); }else{ holder = (ViewHolder) view.getTag(); } holder.source.setText(list.get(i).getSource()); holder.title.setText(list.get(i).getTitle()); String firstImg = list.get(i).getFirstImg(); ImageLoader instance = ImageLoader.getInstance(); instance.displayImage(firstImg,holder.image); return view; } class ViewHolder{ ImageView image; TextView source; TextView title; }}
public class WebActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.web_layout); WebView webView = (WebView)findViewById(R.id.web_view); Intent intent = getIntent(); String url = intent.getStringExtra("url"); webView.loadUrl(url); webView.setWebViewClient(new WebViewClient()); WebSettings settings = webView.getSettings(); settings.setJavaScriptEnabled(true); settings.setJavaScriptCanOpenWindowsAutomatically(true); }}
public class Util extends Application{ @Override public void onCreate() { ImageLoaderConfiguration aDefault = ImageLoaderConfiguration.createDefault(getApplicationContext()); ImageLoader.getInstance().init(aDefault); }}public class Util extends Application{ @Override public void onCreate() { ImageLoaderConfiguration aDefault = ImageLoaderConfiguration.createDefault(getApplicationContext()); ImageLoader.getInstance().init(aDefault); }}
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.adminjs.lianxi"> <uses-permission android:name="android.permission.INTERNET"/> <application android:name=".Bean.Util.Util" android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".WebActivity"/> </application></manifest>
阅读全文
0 0
- 异步+listview展示网页面效果
- ListView悬浮头部展示效果
- 网页文字移动效果展示
- 异步加载数据,图片,展示到listView
- WPF中ListView展示倒影效果
- 使用Recycler控件展示listview效果·
- android listview实现新闻列表展示效果
- wpf界面展示关于ListView展示有倒影效果
- wpf界面展示关于ListView展示有倒影效果
- 网页元素3D效果展示
- android特效展示一:ListView的item滑动效果
- 使用ListView实现一个简单的学生信息展示效果
- RecyclerView分别展示ListView,GrideView,瀑布流效果之总结
- jquery实现网页中常见的展示列表效果
- Android studio请求网络数据ListView异步加载展示文字条目 ImageLoadler加载图片
- xListView主页面请求网络数据展示到listView的三个步骤
- 横向ListView 图片展示
- ListView展示大图片
- SpringMvc架构图
- Java 笔记总结(一)
- 2017.9.5 DZY Loves Math 失败总结
- Codeforces Round#432 B. Arpa and an exam about geometry
- weights.getA()是什么?
- 异步+listview展示网页面效果
- Kinect Win10环境配置
- 命令模式
- 2017面试题总结
- c语言写俄罗斯方块-简单易懂
- 编码习惯
- java UDP多线程回射服务器
- HDU 3068 最长回文(manacher算法)
- django框架对数据库的操作