android获取网络数据
16lz
2021-01-23
android获取网络数据有字符串、图片、文件对于不同的数据的获取方法如下
字符串:
public String getDataFromServer(String Urlpath) { String result=""; HttpClient httpclient = new DefaultHttpClient(); HttpGet httpget = new HttpGet(Urlpath); HttpResponse response; try { response = httpclient.execute(httpget); HttpEntity entity = response.getEntity(); if (entity != null) { InputStream is = entity.getContent(); InputStreamReader isr = new InputStreamReader(is); BufferedReader bufferReader = new BufferedReader(isr); String inputLine = ""; int i=1; while ((inputLine = bufferReader.readLine()) != null) { result += inputLine + "\n"; Log.i("getDataFromServer","inputLine"+i+":"+inputLine); i=i+1; } } } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } return result; }
图片:
public Bitmap getHttpBitmap(final String url) { try { myFileURL = new URL(url); HttpURLConnection conn = (HttpURLConnection) myFileURL .openConnection(); conn.setConnectTimeout(6000); conn.setDoInput(true); conn.setUseCaches(false); InputStream is = conn.getInputStream(); BitmapFactory.Options opts = new BitmapFactory.Options(); opts.inJustDecodeBounds=true; byte[] data = getBytes(is); BitmapFactory.decodeByteArray(data, 0,data.length,opts); Log.i("ImageLoader","width="+opts.outWidth+",height="+opts.outHeight); opts.inJustDecodeBounds=false; opts.inSampleSize=calculateInSampleSize(opts,150,300); opts.inPreferredConfig = Bitmap.Config.ARGB_8888; bitmap = BitmapFactory.decodeByteArray(data, 0,data.length,opts); Log.i("ImageLoader","houwidth="+bitmap.getWidth()+",houheight="+bitmap.getHeight()); } catch (Exception e) { e.printStackTrace(); Log.i("HttpUtils","getHttpBitmap异常"); }finally{ if(is!=null){ try { is.close(); } catch (IOException e) { e.printStackTrace(); } } } return bitmap; }
文件:
public String DownloadFile(String fileURL, File directory) { String code = ""; try { HttpClient httpclient = new DefaultHttpClient(); HttpGet httpget = new HttpGet(fileURL); HttpResponse response = httpclient.execute(httpget); HttpEntity entity = response.getEntity(); if (entity != null) { InputStream instream = entity.getContent(); code = String.valueOf(response.getStatusLine().getStatusCode()); FileOutputStream f = new FileOutputStream(directory); int l; byte[] tmp = new byte[2048]; while ((l = instream.read(tmp)) != -1) { f.write(tmp, 0, l); } f.close(); } } catch (IOException e) { e.printStackTrace(); Log.i("HttpUtils","DownloadFile异常"); } finally { } return code; }
更多相关文章
- 列出sdcard里所有.mp3文件,并且可以点击播放
- 获取定位数据
- Android手机开发——向SD卡上的文件追加内容
- Fragment与FragmentActivity间的数据通讯详细解决方案
- android之SQLite数据库insert操作
- 利用android自带的JSONObject解析json数据
- Unity android 读取文件,读取APK包文件
- Android 用Socket实现PC和手机的文件传输