一个android显示远程txt的代码例子
来源:互联网 发布:m1卡破解软件 编辑:程序博客网 时间:2024/06/07 02:50
package com.example.app;import java.io.BufferedReader;import java.io.IOException;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;import java.util.HashMap;import java.util.List;import android.support.v7.app.ActionBarActivity;import android.support.v4.app.Fragment;import android.annotation.SuppressLint;import android.os.Bundle;import android.os.StrictMode;import android.view.GestureDetector;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.MotionEvent;import android.view.View;import android.view.View.OnTouchListener;import android.view.ViewGroup;import android.webkit.WebView;import android.webkit.WebViewClient;import android.widget.ListView;import android.widget.SimpleAdapter;import android.widget.TextView;public class MainActivity extends ActionBarActivity {private TextView mNews;private TextView interview;private WebView mWebView; private ListView listView;final int RIGHT = 0; final int LEFT = 1; private GestureDetector gestureDetector; @SuppressLint("NewApi")@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork() .penaltyLog().build()); StrictMode.setVmPolicy(new StrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedClosableObjects().penaltyLog().penaltyDeath().build()); /*-----------------------下载回消息*/ String baseUrl = "http://www.itbuluoge.com/app/newslist.txt"; String outfile=downloadXML(baseUrl); /*-----------------------格式化*/ List<news> list = new ArrayList<news>(); String[] templist =outfile.split("#"); for(int i=0;i<templist.length;i++){String[] one=templist[i].split("-");news mynews=new news();mynews.id=0;mynews.title=one[0];mynews.detailed=one[1];list.add(mynews);}/*-----------------------映射到listview上*/ ArrayList<HashMap<String, Object>> listItem = new ArrayList<HashMap<String, Object>>(); for(int i=0;i<list.size();i++) { HashMap<String, Object> map = new HashMap<String, Object>(); map.put("title", list.get(i).title); map.put("detailed", list.get(i).detailed); listItem.add(map); } listView=(ListView)this.findViewById(R.id.listView); SimpleAdapter listItemAdapter = new SimpleAdapter(this,listItem,//数据源 R.layout.item, new String[] {"title","detailed"}, new int[] {R.id.title,R.id.detailed} ); listView.setAdapter(listItemAdapter); /*-----------------------导航栏点击事件*/ interview=(TextView)findViewById(R.id.interview); interview.setClickable(true); //设置tv为可点击。 interview.setOnTouchListener(new OnTouchListener() { //添加OnClickListener@Overridepublic boolean onTouch(View v, MotionEvent event) {// TODO Auto-generated method stubmWebView.loadUrl("http://www.itbuluoge.com/app/index.php?action=interview"); return false;} }); gestureDetector = new GestureDetector(MainActivity.this,onGestureListener); if (savedInstanceState == null) { getSupportFragmentManager().beginTransaction() .add(R.id.container, new PlaceholderFragment()) .commit(); } } private GestureDetector.OnGestureListener onGestureListener = new GestureDetector.SimpleOnGestureListener() { @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { float x = e2.getX() - e1.getX(); float y = e2.getY() - e1.getY(); if (x > 0) { doResult(RIGHT); } else if (x < 0) { doResult(LEFT); } return true; } }; public boolean onTouchEvent(MotionEvent event) { return gestureDetector.onTouchEvent(event); } public void doResult(int action) { if(action==0)//右边 { this.mWebView.loadUrl("http://www.itbuluoge.com/app/index.php?action=interview"); } else { this.mWebView.loadUrl("http://www.itbuluoge.com/app/index.php?action=news"); } } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } @Override public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getItemId(); if (id == R.id.action_settings) { return true; } return super.onOptionsItemSelected(item); } /*-----------------------返回远程字符串*/ public static String downloadXML(final String urlStr) { InputStream inStream = null; URL url = null;try {url = new URL(urlStr);} catch (MalformedURLException e) {e.printStackTrace();} HttpURLConnection conn = null;try {conn = (HttpURLConnection) url.openConnection();} catch (IOException e) {e.printStackTrace();} conn.setConnectTimeout(5 * 1000); try {conn.setRequestMethod("GET");conn.connect();} catch (Exception e) {} try { inStream= conn.getInputStream();} catch (IOException e) {e.printStackTrace();} StringBuilder sb = null; try {BufferedReader reader = new BufferedReader(new InputStreamReader(inStream,"utf-8"));sb= new StringBuilder(); String line = null; try {while ((line = reader.readLine()) != null) { sb.append(line); }} catch (IOException e) {e.printStackTrace();} } catch (UnsupportedEncodingException e) {e.printStackTrace();} return sb.toString(); } public static String convertStreamToString(InputStream is) throws UnsupportedEncodingException { BufferedReader reader = new BufferedReader(new InputStreamReader(is,"utf-8")); StringBuilder sb = new StringBuilder(); String line = null; try { while ((line = reader.readLine()) != null) { sb.append(line); } } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } return sb.toString(); } public static class news{ public int id; public String title; public String detailed; } /** * A placeholder fragment containing a simple view. */ public static class PlaceholderFragment extends Fragment { public PlaceholderFragment() { } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_main, container, false); return rootView; } } class webViewClient extends WebViewClient{ //重写shouldOverrideUrlLoading方法,使点击链接后不使用其他的浏览器打开。 @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { view.loadUrl(url); //如果不需要其他对点击链接事件的处理返回true,否则返回false return true; } } }
0 0
- 一个android显示远程txt的代码例子
- 一个完整的分页显示代码的例子
- Android代码混淆的一个常用的简单例子
- selenium 中显示等待的代码例子(打印天气网站的一个最低气温城市的一个例子)
- base64code 的一个例子代码
- 一个代码滥用的例子
- 一个listView的例子代码
- CSS处理斜角导航条的一个例子 [源码].txt
- 一个显示访客数的例子
- 一个显示图标的ABAP例子
- 一个显示系统时间的例子
- Echarts循环显示的一个例子
- 用ASP读取显示TXT文件内容的代码
- Android ViewFlow的一个例子
- 一个Android Socket的例子
- 一个Android Socket的例子
- 一个Android Socket的例子
- 一个Android Socket的例子
- Mysql在大型网站的应用架构演变
- web前端
- android 开发 零碎片段
- Visual Studio 2010 VLD CFileDialog
- Spring中的jar包详解
- 一个android显示远程txt的代码例子
- Access violation at address 解决之法
- 通过IkeyMan将domino证书格式kyr转换为cert、key格式文件
- CAS介绍
- unity中游戏暂停的问题
- Xshell 4
- 什么是反向代理,开放的反向代理软件使用方法
- LoadImage在dll与exe中的区别
- JavaScript面向对象(2)