- 浏览: 64664 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
endual:
大哥,您好歹第一句话说:记得配置android连接网络的权限哦 ...
android网络连接总结 -
左手风袖:
能否共享一下代码?
android 应用类APP开发小结——android Google map 小应用 -
yjdzh:
可以共享一下代码嘛
android 应用类APP开发小结——android Google map 小应用 -
ec256:
你好,我有个问题想请教,Sensor 在service中可以 ...
android 应用类APP开发小结——android Google map 小应用 -
nonoh2006:
你好,我的一个程序之中也需要使用的传感器和GPS相关信息的实施 ...
android 应用类APP开发小结——android Google map 小应用
一:HttpURLConnection
处理文字数据
URLConnection 获取图片
注:URL可以直接InputStream is = URL.openStream();
XML 的应用
向服务器上传文件
DefaultHttpClient
用户登录验证
未完待续
URL sourceUrl; String fileName =""; try { sourceUrl = new URL("网址"); fileName = sourceUrl.getFile(); fileName = fileName.substring(fileName.lastIndexOf('/') + 1); fileName = "/sdcard/"+(new Date()).getTime()+fileName; /*创建临时文件 File myTempFile = File.createTempFile("temfile", "."+"mp3");//文件扩展名 记录临时文件名 currentTempFilePath = myTempFile.getAbsolutePath(); */ FileOutputStream fos = new FileOutputStream(fileName); int read = 0; byte[] buffer = new byte[512]; HttpURLConnection conn = (HttpURLConnection) sourceUrl.openConnection(); conn.setDoInput(true); conn.connect(); int length = conn.getContentLength(); InputStream is = conn.getInputStream(); do{ read = is.read(buffer); if(read > 0){ fos.write(buffer, 0, read); } }while(read != -1); } catch (MalformedURLException e) { // TODO Auto-generated catch block e.printStackTrace(); return; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); return; } if(fileName !=""){ File file = new File(fileName); if (file.exists()){ //根据filename,操作这个文件 } }
URL imageUrl = null; Bitmap bitmap = null; try { /* new URL对象将网址传入 */ imageUrl = new URL(uriPic); } catch (MalformedURLException e) { e.printStackTrace(); } try { /* 取得连接 */ HttpURLConnection conn = (HttpURLConnection) imageUrl .openConnection(); conn.connect(); /* 取得返回的InputStream */ InputStream is = conn.getInputStream(); mTextView1.setText(conn.getResponseCode()+"="+conn.getResponseMessage()); /* 将InputStream变成Bitmap */ bitmap = BitmapFactory.decodeStream(is); /* 关闭InputStream */ is.close(); } catch (IOException e) { e.printStackTrace(); }
处理文字数据
/* 将InputStream转成Reader */ BufferedReader in = new BufferedReader(new InputStreamReader( conn.getInputStream())); String inputLine; /* 图文件路径 */ String uriPic = ""; /* 一行一行读取 */ while ((inputLine = in.readLine()) != null) { uriPic += inputLine; }
URLConnection 获取图片
URL aryURI = new URL(myImageURL[position]); URLConnection conn = aryURI.openConnection(); conn.connect(); InputStream is = conn.getInputStream(); Bitmap bm = BitmapFactory.decodeStream(is); is.close(); imageView.setImageBitmap(bm);
注:URL可以直接InputStream is = URL.openStream();
XML 的应用
URL url = new URL(ConstData.queryString+cityParamString); SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newSAXParser(); XMLReader xr = sp.getXMLReader(); myHandler gwh = new myHandler(); xr.setContentHandler(gwh); InputStreamReader isr =new InputStreamReader(url.openStream(),"GBK"); InputSource is=new InputSource(isr); xr.parse(is);
向服务器上传文件
private void uploadFile() { String end = "\r\n"; String twoHyphens = "--"; String boundary = "*****"; try { URL url =new URL(actionUrl); HttpURLConnection con=(HttpURLConnection)url.openConnection(); /* 允许Input、Output,不使用Cache */ con.setDoInput(true); con.setDoOutput(true); con.setUseCaches(false); /* 设置传送的method=POST */ con.setRequestMethod("POST"); /* setRequestProperty */ con.setRequestProperty("Connection", "Keep-Alive"); con.setRequestProperty("Charset", "UTF-8"); con.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary); /* 设置DataOutputStream */ DataOutputStream ds = new DataOutputStream(con.getOutputStream()); ds.writeBytes(twoHyphens + boundary + end); ds.writeBytes("Content-Disposition: form-data; " + "name=\"file1\";filename=\"" + newName +"\"" + end); ds.writeBytes(end); /* 取得文件的FileInputStream */ FileInputStream fStream = new FileInputStream(uploadFile); /* 设置每次写入1024bytes */ int bufferSize = 1024; byte[] buffer = new byte[bufferSize]; int length = -1; /* 从文件读取数据至缓冲区 */ while((length = fStream.read(buffer)) != -1) { /* 将资料写入DataOutputStream中 */ ds.write(buffer, 0, length); } ds.writeBytes(end); ds.writeBytes(twoHyphens + boundary + twoHyphens + end); /* close streams */ fStream.close(); ds.flush(); /* 取得Response内容 */ InputStream is = con.getInputStream(); int ch; StringBuffer b =new StringBuffer(); while( ( ch = is.read() ) != -1 ) { b.append( (char)ch ); } /* 将Response显示于Dialog */ showDialog(b.toString().trim()); /* 关闭DataOutputStream */ ds.close(); } catch(Exception e) { showDialog(""+e); } }
DefaultHttpClient
用户登录验证
/* 账号:david */ /* 密码:1234 */ String uriAPI = "http://www.dubblogs.cc:8751/Android/Test/API/TestLogin/index.php"; String strRet = ""; try { DefaultHttpClient httpclient = new DefaultHttpClient(); HttpResponse response; HttpPost httpost = new HttpPost(uriAPI); List <NameValuePair> nvps = new ArrayList <NameValuePair>(); nvps.add(new BasicNameValuePair("uid", strUID)); nvps.add(new BasicNameValuePair("upw", strUPW)); httpost.setEntity(new UrlEncodedFormEntity(nvps, HTTP.UTF_8)); response = httpclient.execute(httpost); HttpEntity entity = response.getEntity(); //entity = response.getEntity(); Log.d(TAG, "HTTP POST getStatusLine: " + response.getStatusLine()); /* HTML POST response BODY */ strRet = EntityUtils.toString(entity); Log.i(TAG, strRet); strRet = strRet.trim().toLowerCase(); List<Cookie> cookies = httpclient.getCookieStore().getCookies(); if (entity != null) { entity.consumeContent(); } Log.d(TAG, "HTTP POST Initialize of cookies."); cookies = httpclient.getCookieStore().getCookies(); if (cookies.isEmpty()) { Log.d(TAG, "HTTP POST Cookie not found."); Log.i(TAG, entity.toString()); } else { for (int i = 0; i < cookies.size(); i++) { Log.d(TAG, "HTTP POST Found Cookie: " + cookies.get(i).toString()); } } if(strRet.equals("y")) { Log.i("TEST", "YES"); return true; } else { Log.i("TEST", "NO"); return false; } } catch(Exception e) { e.printStackTrace(); return false; }
未完待续
发表评论
-
android快速入门指南
2010-08-12 09:52 5216为了参加 ” 首届 ... -
android 应用类APP开发小结——android Google map 小应用
2010-07-31 19:21 7817首届Google暑期大学生博客分享大赛——2010 Andri ... -
android游戏开发全解
2010-07-28 14:14 402首届Google暑期大学生博客分享大赛——2010 Andri ... -
首届Google暑期大学生博客分享大赛——2010 Andriod篇
2010-07-28 13:53 199基于android平台地理定位的信息服务系统设计与开发 项目主 ... -
android imagebutton
2010-05-16 16:30 1372自己懒的些。就转了一篇。这篇还算全 http://blog.c ... -
android mapview 学习总结
2010-04-21 10:53 3099mapview 和其他控件一起显示(原文http://lord ... -
android 多层布局就这么简单
2010-04-17 12:59 4165效果图 要实现以上功能其实很简单。只要将布局比方说R ... -
环境配置
2010-04-13 20:20 1142windows: ubuntu: eclipse adt: ... -
selector
2010-04-09 09:25 1788<selector android:id=" ... -
android游戏音效
2010-04-05 18:45 4049背景音循环有间隔问题 getCurrentPosition() ... -
android 线程更新view及数据传送
2010-04-05 13:35 3462很多新手在启动新线程更新view时会出现 “Only the ... -
android ui imagebutton
2010-04-05 10:07 2032drawable/imagebutton.xml & ... -
android图形图像
2010-03-29 11:43 2942一、 android.graphics.Matr ... -
android动画总结
2010-03-29 11:41 1531逐帧动画(frame-by-frame animation), ... -
Android应用及应用管理简介
2010-03-27 15:51 3178转至http://space.itpub.net/21 ... -
LunarLander and Snake 游戏更新线程总结
2010-03-26 12:40 1837snake:是通过send和receive MSG方法来实现 ... -
学习资源
2010-03-26 11:01 868http://android.tgbus.com/Androi ... -
一些记号贴(不完整仅入入门)
2010-03-26 10:26 874Intent的常见用法 原帖 http://rayleung. ... -
更新游戏画面时线程的问题
2010-03-26 10:18 1300作者daytodayme http://www.iteye.c ... -
android开发——小细节笔记
2010-03-25 13:36 3032全屏去状态栏 Window window = getW ...
相关推荐
总结起来,Android应用程序在进行网络通信前,需要检查网络连接状态并适当地处理无网络的情况。这包括申请权限、使用`ConnectivityManager`检测网络状态、创建并显示提示对话框,以及使用`Intent`引导用户进入设置...
总结来说,Android网络连接检查涉及多个层次,包括基本的网络连接状态检测、网络类型的判断,以及在不同Android版本下的适应性处理。同时,根据应用需求,还可以结合`BroadcastReceiver`、`WorkManager`或`Job...
总结来说,获取Android设备的网络连接状态主要涉及到`ConnectivityManager`和`NetworkInfo`这两个关键类。通过它们提供的API,我们可以轻松地检查设备的网络状态,并据此做出相应的业务逻辑决策。在实际项目中,还...
总结起来,获取Android网络连接信息是Android开发中一个基础但关键的部分。通过`ConnectivityManager`和`NetworkInfo`类,开发者能够全面了解设备的网络状况,从而更好地控制和优化应用程序的网络行为。在实际开发中...
总结,Android中的网络状态管理和检测是通过BroadcastReceiver监听网络变化,ConnectivityManager查询网络连接类型,以及TelephonyManager获取网络制式来实现的。NetUtil工具类的引入则为开发者提供了一种简洁的接口...
1. **Android网络连接状态检查基础** 在Android中,我们通常通过`ConnectivityManager`系统服务来检查网络连接状态。`ConnectivityManager`提供了网络连接的信息,包括移动网络、Wi-Fi等。首先,我们需要在...
在Android中,数据连接主要包括三个部分:UI层、MobileDataService层以及底层的网络服务。其中,UI层主要负责接收用户的操作指令,并将这些指令传递给MobileDataService层;MobileDataService层则负责处理来自UI层的...
在Android平台上,开发一款应用程序来处理Wi-Fi连接是一项常见的任务,尤其对于那些需要稳定网络连接的App来说。本文将深入探讨“Android Wi-Fi连接demo”所涉及的关键知识点,包括Wi-Fi模块的使用、接口封装、密码...
这在某些场景下,比如在需要更高带宽或者更稳定的网络连接时,就显得尤为重要。文中提到的是在企业桌面IP电话这样的嵌入式设备上添加以太网连接功能,这类设备与普通Android设备相比有其特殊性。 3. Android开源...
根据提供的文件信息,本文将详细解析如何在Android应用中检测网络连接是否可用,并对相关代码进行深入解读。网络连接状态的检测是许多Android应用程序的基本需求之一,尤其对于那些依赖于互联网服务的应用来说更是...
总结来说,Android连接C# SQL Server的过程涉及Android客户端的网络请求、C# Web服务接口设计和SQL Server数据库操作。理解并掌握这些技术,能够帮助开发者构建起客户端和服务器之间的桥梁,实现数据的高效交互。
在Android应用开发中,网络连接是必不可少的一部分,用于获取服务器数据、更新应用内容或与远程服务交互。在本文中,我们将深入探讨`HttpURLConnection`,它是Android系统中用于HTTP通信的一种标准API。`...
1. HttpURLConnection:这是Android SDK内置的网络连接类,可以实现基本的HTTP请求。使用HttpURLConnection,你需要创建URL对象,打开连接,设置请求方法(GET或POST),设置请求头,写入请求体(如果为POST),然后...
总结来说,Android应用中使用腾讯定位服务并判断网络连接,主要涉及以下步骤: 1. 添加权限声明 2. 引入腾讯定位SDK 3. 初始化定位服务和设置监听器 4. 检查网络连接状态 5. 设置定位模式 6. 实时监控定位状态 7. ...
3. 使用KeepAlive机制在设备休眠时保持网络连接。 4. 使用ConnectionPool管理多个连接,提高效率。 5. 考虑使用NIO(非阻塞I/O)或Netty等高性能网络库。 总结,"自用Android长连接"项目涉及到的知识点主要包括...
在Android平台上进行网络...总结起来,Android网络编程是通过Java网络库与远程服务器进行通信的过程,涉及请求构建、数据交换和错误处理等多个环节。了解并掌握这些基础知识对于开发功能丰富的Android应用至关重要。
总结起来,`Android-MinaSocket` 是一个基于Apache Mina的Android长连接库,它提供了稳定、高效的网络通信功能,适用于需要实时数据交互的Android应用。通过使用这个库,开发者可以专注于业务逻辑,而无需过多关心...
在Android系统应用开发中,网络通信是至关重要的一个环节,特别是在构建交互性强的应用时。...通过这样的实践,学生不仅能够了解Android网络通信的原理,还能掌握实际应用中的关键技术和最佳实践。
总结来说,创建一个连接多个BLE设备的Android应用涉及到蓝牙适配器的管理、设备扫描、连接建立、服务发现、数据接收等多个步骤。在实际开发中,还需考虑性能优化、错误处理和用户体验等因素。通过学习和实践这些知识...
### Android客户端连接PC服务端知识点解析 在当前的互联网应用中,移动设备与服务器之间的通信极为常见。Android作为主流的移动操作系统之一,在实现与PC端或其他服务器的数据交互方面有着广泛的应用场景。本篇将...