- 浏览: 248578 次
- 性别:
- 来自: 湖南
最新评论
-
KANGOD:
android:overScrollMode="ne ...
去掉ScrollVIew拉到尽头时再拉的阴影效果 -
yangsongjing:
comsci 写道非常感谢.....希望大家的代码和文档都能够 ...
java DES 加密解密 算法 -
comsci:
非常感谢.....
希望大家的代码和文档都能够用一种简单的方 ...
java DES 加密解密 算法 -
yangsongjing:
不过2.3以下的版本没这个方法怎么解决啊?
去掉android scrollview滚动到顶部继续滚会出现一个渐变的颜色块 -
yangsongjing:
setOverScrollMode(View.OVER_SCR ...
去掉android scrollview滚动到顶部继续滚会出现一个渐变的颜色块
客户端代码:
package com.icss.test_HttpClient;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.HttpRequestRetryHandler;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.AbstractHttpClient;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HttpContext;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends Activity {
private EditText name;
private EditText password,view;
private Button submit;
private DefaultHttpClient client;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
name=(EditText)findViewById(R.id.name);
password=(EditText)findViewById(R.id.password);
submit=(Button)findViewById(R.id.submit);
view=(EditText)findViewById(R.id.view);
submit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String op="login";
String n=name.getText().toString();
String p=password.getText().toString();
/**
* 1.通过DefaultHttpClient来创建一个DefaultHttpClient对象
* 2.请求方式,post/get->HttpPost/HttpGet这两个类
* HttpPost post=new HttpPost("http://192.168.100.36:8080/news/news.do");
* 3.传参
* 都可用,setParams(HttpParams params);post特有的带参方法,post对象.setEntity()
* 注意UrlEncodedFormEntity类,里面传得参都是键值对,所以一般都用list
*/
client =new DefaultHttpClient();
HttpPost post=new HttpPost("http://192.168.100.36:8080/news/news.do");
List<BasicNameValuePair> list=new ArrayList<BasicNameValuePair>();
list.add(new BasicNameValuePair("op","login"));
list.add(new BasicNameValuePair("name",n));
list.add(new BasicNameValuePair("password",p));
try {
post.setEntity(new UrlEncodedFormEntity(list, "utf-8"));
HttpResponse response = client.execute(post);//请求并相应
if(response.getStatusLine().getStatusCode()==200){
//流 response.getEntity().getContent();获取流
InputStream inputstream=response.getEntity().getContent();
byte [] data=FileuUtil.getFile(inputstream);
String s=new String(data,"utf-8");//将字节数组转换成字符串
Toast.makeText(MainActivity.this, s.toString(), 10000).show();
}else{
Toast.makeText(MainActivity.this, "登录失败", Toast.LENGTH_LONG).show();
}
} catch (Exception e) {
e.printStackTrace();
}
}
});
// HttpRequestRetryHandler myRetryHandler = new HttpRequestRetryHandler() {
//
// @Override
// public boolean retryRequest(IOException exception,
// int executionCount, HttpContext context) {
// //如果重连次数太多,则放弃重新连接
// if (executionCount >= 5) {
// return false;
// }else{
// return true;
// }
// }};
// ((AbstractHttpClient) client).setHttpRequestRetryHandler(myRetryHandler);
//
}
}
package com.icss.test_HttpClient;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
public class FileuUtil {
//从输入流中读取数据,返回成自己数组
public static byte[] getFile(InputStream inputStream) throws IOException{
ByteArrayOutputStream baos=new ByteArrayOutputStream();//缓存
byte[] buffer=new byte[1024];
int length=-1;
while((length=inputStream.read(buffer))!=-1){
baos.write(buffer,0,length); //将数据缓存到内存中
}
inputStream.close();
return baos.toByteArray();//这里就返回一个byte[]
}
}
服务器端:
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class NewsServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String op =request.getParameter("op");
System.out.println("登录成功");
if(op!=null&&op.equals("login")){
login(request,response);
}else if(op!=null&&op.equals("list")){
list(request,response);
}
}
//传参:
private void list(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
if(request.getSession().getAttribute("user")!=null){
System.out.println("list方法中的name:"+request.getParameter("pname"));
System.out.println("list方法中的pass:"+request.getParameter("ppass"));
request.getRequestDispatcher("list.jsp").forward(request, response);
}else{
request.setAttribute("msg", "你还没有登录,请你先登录!");
request.getRequestDispatcher("error.jsp").forward(request, response);
}
}
private void login(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String name=request.getParameter("name");
String password=request.getParameter("password");
// request.setAttribute("name", name);
// request.setAttribute("pass", password);
if(name.equals("a")&&password.equals("a")){
request.getSession().setAttribute("user", name);//
request.getRequestDispatcher("news.do?op=list").forward(request, response);
}else{
request.setAttribute("msg", "用户名或密码错误!");
request.getRequestDispatcher("error.jsp").forward(request, response);
}
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
}
权限自己查看文档配置就好
发表评论
-
获取sha1
2018-07-18 16:03 670keytool -list -v -keystore /Use ... -
获取手机通话记录
2017-11-30 17:28 0/** * 读取数据 * * @ ... -
安卓打包加固自动化
2017-06-03 15:10 0惠农安卓打包后远程加固(阿里服务)支持工具: 由于远程调用阿里 ... -
阿里百川HotFix接入指南
2017-04-11 14:46 1560阿里百川HotFix接入指南 1.首先需要成为阿里开放平台的开 ... -
android 6.0权限
2016-08-29 08:44 624从Android 6.0开始, 用户需要在运行时请求权限, 本 ... -
2016 的一些android新技术
2016-08-04 16:31 422转:2016你需要了解Android有以下新兴的技术与框架,有 ... -
安卓应用每次从后台切换到前台都会启动欢迎界面的问题
2016-07-15 09:18 2805问题描述: 应用安装后,通过安装界面的打开按钮打开应用,每当应 ... -
android性能分析工具整理
2016-03-28 22:57 717原文链接:http://www.jians ... -
android 技术经验归纳
2016-03-28 22:54 5141.android基于java,java的抽象封装要会用,并且 ... -
android面试提问
2015-11-16 11:54 0一。登录过程中需要取消登录 怎么中断连接 1)如果用httpc ... -
android 集成百度地图路线规划
2015-05-26 11:21 8811.创建应用 包名需和应用一致 2.还需要填写安全码 = sh ... -
android 手机判断是否在充电 如断电自动打电话提醒功能
2015-05-18 11:14 3330public class MainActivity exten ... -
ANDROID应用安全防御
2015-04-02 10:06 1279Android应用的安全隐患包括三个方面:代码安全、数据安全和 ... -
Fragment加入Pagerview效果
2015-04-01 14:50 490转自 http://www.eoeandroid.com/t ... -
android性能优化
2015-03-30 10:59 23981.采用硬件加速,在androidmanifest.xml ... -
设计模式记忆方法(转)
2015-03-11 10:20 869设计模式的分类 创建型。 情景记忆:两个人在聊天。 ... -
android 数据库版本升级
2015-03-03 16:41 737数据库升级的意义 我 ... -
java 23种设计模式示例代码集合
2015-02-09 09:40 710策略模式,建造者模式,简单工厂模式,单例模式,抽象工厂模式 ... -
scrollview里面套listview 滑动事件问题
2014-08-08 15:43 863里面的listview放这个就行了。 package com ... -
int 和byte数组之间的转换
2014-08-06 17:52 927public byte[] intToByte(int i ...
相关推荐
在Android应用开发中,手机客户端与服务器之间的通信是至关重要的,而Socket通信提供了一种可靠的、基于连接的数据传输方式。本文将深入探讨Android客户端如何利用Socket进行与服务器的交互。 一、Socket基础知识 ...
安卓手机客户端连接服务器工具
**基于SSL/TLS协议的FTP客户端和服务器端** 在当今的网络环境中,数据安全尤为重要,尤其是在文件传输过程中。FTP(File Transfer Protocol)虽然方便,但其明文传输的特性使得数据容易被窃取或篡改。为了解决这个...
在本文中,我们将深入探讨如何使用Android Studio开发客户端应用程序,以连接到运行在Delphi XE上的REST DataSnap服务器。REST(Representational State Transfer)是一种轻量级的、基于HTTP的架构风格,常用于...
总结起来,"手机远程监控客户端和服务器端.rar"提供了Android平台上远程监控系统的完整源代码,涵盖了客户端UI设计、网络连接、数据传输和服务器端的视频处理等多个重要环节。通过深入学习和理解这些源代码,开发者...
1. **Android客户端**:Android是Google开发的开源移动操作系统,用于智能手机和平板电脑。在本示例中,Android客户端负责用户界面、数据获取和显示。它使用HTTP或HTTPS协议通过网络与服务器进行通信。Android SDK...
本项目是基于Android平台的手机监控系统,它利用了Java Media Framework (JMF) 实现视频流处理,为用户提供了一套完整的客户端和服务器端解决方案。下面我们将深入探讨这个系统的组成部分和相关知识点。 首先,我们...
该设计主要包括了客户端与服务器端的建立连接、数据传输等关键步骤,并通过中间件实现了客户端对MySQL数据库的操作。 #### 设计背景与目标 随着移动互联网的发展,Android平台因其开放性受到了广泛的关注。为了更...
WirelessOrder系统是一个轻量级的解决方案,主要由Android客户端应用和服务器端接口组成,实现了用户通过手机端进行菜品浏览、选择、下单和支付等功能。该系统适合初学者进行学习和实践,有助于理解Android应用程序...
易语言服务器端可能使用了网络通信模块,如TCP/IP协议栈,来接收和响应来自E4A客户端的连接请求。服务器可能还包含了状态检查功能,通过某种机制判断程序是否已经启动并运行,这通常通过检查进程是否存在或者特定...
- `MySocketServer`可能对应服务器端的核心服务代码,负责监听和处理客户端的Socket连接。 4. **安全性和优化**: - **安全性**:在实际应用中,应考虑使用SSL/TLS来加密Socket通信,防止数据在传输过程中被窃取...
android studio Socket客户端服务器通信 TCP/IP通信android studio Socket客户端服务器通信 TCP/IP通信android studio Socket客户端服务器通信 TCP/IP通信
6. 当通信完成后,客户端和服务器关闭套接字连接。 在C++中,编写客户端和服务器程序时,需要关注以下关键点: - 网络协议:选择合适的通信协议,如HTTP、FTP、TCP或UDP,取决于应用需求。 - 错误处理:确保对网络...
手机客户端C/S(Client/Server)结构聊天室是一种常见的移动通信应用设计模式,它涉及客户端应用程序和服务器端程序之间的交互。在这个系统中,手机不仅作为用户界面的展示设备,还扮演了服务器的角色,处理来自其他...
MQTT客户端是连接到MQTT服务器(也称为代理)的设备或应用程序,可以是传感器、智能手机、PC或其他任何具有网络连接能力的设备。客户端可以是发布者或订阅者,或者同时具备这两种角色。 1. **发布者**:发布者负责...
手机客户端调试对于开发和维护MQTT应用至关重要,特别是对于那些在移动设备上运行的应用。MyMQTT_v1.0_apkpure.com.apk是一款专为安卓用户设计的MQTT调试工具,允许用户通过安卓手机快速连接到MQTT服务器。以下是...
- 客户端-服务器模型:在Android应用中,客户端通常指的是运行在用户手机上的应用,而服务器则负责处理请求和提供数据。 - HTTP/HTTPS协议:Android客户端与服务器最常用的通信协议,HTTP用于传输数据,HTTPS则...
在这个项目中,"testsocket"可能是一个测试用例,用于验证服务器和客户端之间的连接和数据传输功能。 5. **端口号**:在TCP/IP协议中,每个连接都有一个唯一的端口号,用于区分不同的服务。服务器需要监听一个特定...
Socket允许客户端和服务器之间建立连接,进行双向通信,实现消息的发送和接收。 在聊天应用中,数据通常以JSON(JavaScript Object Notation)格式在网络间传输,因为JSON轻量级、易于读写,并且支持多种语言解析。...
该程序是一个完整的解决方案,用于实现Android手机访问服务器进行登录操作,涵盖了客户端应用、服务器端接口以及Mysql数据库的集成。以下是对每个组成部分的详细说明: **Android客户端**:Android客户端是用户与...