Android-向服务器提交数据(GET-POST-AsyncHttpClient)

android上传图片到服务器(使用base64字节流的形式通过 AsyncHttpClient框架传输) 前端 andoid  activity用到的函数   AsyncHttpClient  是一个框架提供的库  可以异步传输,使用时需下载android-async-http-1.4.4.jar包导入到项目中 下载地址:http://loopj.com/android-async-http public static void reg(final Context cont,Bitmap p 阅读详情


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
    android:layout_height="match_parent" android:orientation="vertical">

    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入账号"
        android:id="@+id/et_main_uname"/>
    <EditText
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入密码"
        android:id="@+id/et_main_upass"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登录(get)"
        android:onClick="loginGet"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登录(post)"
        android:onClick="loginPost"/>
    <Button
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="登录(AsyncHttpClient)"
        android:onClick="loginAsyncHttpClient"
        />
</LinearLayout>

在Activity里面提交数据,在点击事件里面,我们只能获取输入框的值,而其他的操作我们就需要写到子线程中去,POST提交数据,点击事件和GET的一样,只是在参数的地方,我们需要多添加一个类型,为了区分在doInBackground方法里面,我们需要先判断是哪种类型的提交方式,然后把POST方法里多出来的那两个头部内容添加进去,再把内容提交服务器,就可以了,还有一种第三方网络请求框架AsyncHttpClient我们先把android-async-http-1.4.4.jar下到本地,然后拷到项目里,因为HttpClient有导致一些小问题,所以我们需要在Gradle的版本前添加一句useLibrary 'org.apache.http.legacy'在点击事件里面写提交数据,在httpClient.post方法里面,带来地址,和参数,还有一个Handler,然后重写Handler的两个方法即可。

package com.zking.administrator.g160628_android32_commitdata;

import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

import com.loopj.android.http.AsyncHttpClient;
import com.loopj.android.http.RequestParams;
import com.loopj.android.http.TextHttpResponseHandler;

import org.apache.http.Header;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class MainActivity extends AppCompatActivity {

    private EditText et_main_uname;
    private EditText et_main_upass;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        et_main_uname = (EditText) findViewById(R.id.et_main_uname);
        et_main_upass = (EditText) findViewById(R.id.et_main_upass);
    }
    //get方法
    public void loginGet(View view){
       //账号
        String uname=et_main_uname.getText().toString();
        //密码
        String upass=et_main_upass.getText().toString();
        //路径(Android端要调用.do/servlet)
        String path="http://193.168.3.70:8080/Web_server/login.do";
        new MyGetTask().execute(uname,upass,path);//execute中的object是一个可变数组
    }
    /**
     * 一般我们都不支持用get提交
     */
    class MyGetTask extends AsyncTask{

        @Override
        protected Object doInBackground(Object[] params) {
            String uname=params[0].toString();
            String upass=params[1].toString();
            String path=params[2].toString();
            //把账号密码提交到服务器
            try {
                URL url=new URL(path+"?uname="+uname+"&upass="+upass);
                HttpURLConnection connection= (HttpURLConnection) url.openConnection();
                //设置请求方式
                connection.setRequestMethod("Get");
                //超时
                connection.setConnectTimeout(5000);
                //判断结果码
                if(connection.getResponseCode()==200){
                    InputStream is=connection.getInputStream();
                    BufferedReader br=new BufferedReader(new InputStreamReader(is));
                    String s=br.readLine();
                    return s;
                }
            } catch (MalformedURLException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }
            return null;
        }

        @Override
        protected void onPostExecute(Object o) {
            super.onPostExecute(o);
            String s= (String) o;
            Toast.makeText(MainActivity.this, s, Toast.LENGTH_SHORT).show();
        }

        //post方法
        public void loginPost(View view){
            //账号
            String uname=et_main_uname.getText().toString();
            //密码
            String upass=et_main_upass.getText().toString();
            //路径(Android端要调用.do/servlet)
            String path="http://193.168.3.70:8080/Web_server/login.do";
            new MyPostTask().execute(uname,upass,path);//execute中的object是一个可变数组
        }

        class MyPostTask extends AsyncTask{

            @Override
            protected Object doInBackground(Object[] params) {
                String uname=params[0].toString();
                String upass=params[1].toString();
                String path=params[2].toString();
                //把账号密码提交到服务器
                try {
                    URL url=new URL(path);
                    HttpURLConnection connection= (HttpURLConnection) url.openConnection();
                    //设置请求方式
                    connection.setRequestMethod("POST");
                    //超时时间
                    connection.setConnectTimeout(5000);
                    //字符串拼接
                    String s="uname="+uname+"&upass="+upass;
                    //添加请求头(做Java程序要知道如何给Android程序员去写接口文档)
                    connection.setRequestProperty("Content-Length",s.length()+"");
                    connection.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
                    connection.setDoOutput(true);//允许对外输出数据
                    OutputStream os=connection.getOutputStream();//写
                    os.write(s.getBytes());
                    //判断结果码
                    if(connection.getResponseCode()==200){
                        InputStream is=connection.getInputStream();
                        BufferedReader br=new BufferedReader(new InputStreamReader(is));
                        String str=br.readLine();
                        return str;
                    }
                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                return null;
            }

            @Override
            protected void onPostExecute(Object o) {
                super.onPostExecute(o);
                String str= (String) o;
                Toast.makeText(MainActivity.this, str, Toast.LENGTH_SHORT).show();
            }
        }

        //AsyncHttpClient第三方
        public void loginAsyncHttpClient(View view){
            String uname=et_main_uname.getText().toString();
            String upass=et_main_upass.getText().toString();
            String path="http://193.168.3.70:8080/Web_server/login.do";

            AsyncHttpClient ahc=new AsyncHttpClient();
            RequestParams params=new RequestParams();
            params.put("uname",uname);
            params.put("upass",upass);
            ahc.post(MainActivity.this,path,params,new TextHttpResponseHandler(){
                @Override
                public void onFailure(int statusCode, Header[] headers, String responseBody, Throwable error) {
                    super.onFailure(statusCode, headers, responseBody, error);
                }

                @Override
                public void onSuccess(int statusCode, Header[] headers, String responseBody) {
                    super.onSuccess(statusCode, headers, responseBody);
                    Toast.makeText(MainActivity.this, responseBody, Toast.LENGTH_SHORT).show();
                }
            });
        }
    }
}




SAP HR模块配置假期日历和缺勤类型 SAP的HR模块。业务顾问在实施时一般会配置未来10年的假期日历,到期后再进行配置。同时,增加请假类型(缺勤信息类型)。记录这一过程。 阅读详情

相关推荐

详细了解sklearn中的CountVectorizer

CountVectorizer 是 scikit-learn(一个流行的 Python 机器学习库)中的一个文本特征提取类,其核心功能是将一系列原始文本(如句子、文档)转换为基于词频(word count)的数值矩阵。它基于词袋模型(Bag of Words, BoW)思想,忽略文本的语法结构和词序,仅关注词汇在文本中出现的频率,从而将文本转化为机器可理解的数字形式。文本 1:"I love machine learning"

2302_76568160的博客 1118

在android中使用Get方式提交数据

在前面的博客中分别介绍了在浏览器中使用Get和Post两种方式发送数据到Tomcat服务器,这篇博客将介绍在android中使用Get方式向服务器发送数据,其中服务器端用的就是前面篇博客中介绍的那个服务器,所以这篇博客主要介绍android客户端实现方式 在介绍实现代码前,先看一下我们要实现的效果,要实现的效果就是当输入正确的用户名和密码后会用吐司

meishadevs的个人博客 1382

本地部署gradle

在部署CAS构建执行包时,如果按照CAS的官方命令gradlew clean build,如果系统没安装过gradle,这个步骤将会从网上下载gradle,但是进度非常慢,耗时很长。为了更快地完成项目构建,我们可以直接在本地部署好gradle,节省一点时间。

益添的博客 779

android中用get和post方式向服务器提交请求

通过get和post方式向服务器发送请求首先说一下get和post的区别get请求方式是将提交的参数拼接在url地址后面,例如http://www.baidu.com/index.jsp?num=23&amp;jjj=888;但是这种形式对于那种比较隐私的参数是不适合的,而且参数的大小也是有限制的,一般是1K左右吧,对于上传文件就不是很适合。post请求方式是将参数放在消息体内将其发送到服务器,所...

weixin_34112181的博客 308

fMRI原始数据分割的笔记

好记性不如烂笔头_fMRI小白入门笔记

ZY_brain的博客 2896

UG NX二次开发(Python)-API函数介绍与应用实例(三)-UFLayer类操作

采用Python语言进行UG NX二次开发的帮助材料很少,采用录制的方法是一种比较容易实现的方式,但是使用UFun函数更容易上手,我们以后将逐渐的将Python-UFun的功能写进博客中,以便于有需要的人采纳和研究。本博客是为了入门需要,采用简单的创建长方体的功能来讲一下怎么使用Python语言开发。我们今天以移动长方体到某一个图层为例,讲一下UFLayer类中部分函数的使用。另外,我们长期提供UG NX二次开发的功能开发和咨询服务,有疑问可以私信博主或者在评论区讨论。

GimiGimmy 708

GET和POST提交数据方式的区别和使用

数据提交到服务器一般有两种方式,GET和POST。 GET的优点: 1.执行效率比POST高。 2.可以通过url传递数据,查找数据的时候就会体现到它的好处。 GET的缺点: 1.安全性很低,因为上传的数据都会显示在url上,所以一般用在上传无关紧要的数据上。 2.上传的数据量较小,一般不能超过4K.这也是因为url的长度而被限制的。POST优点: 1.安全性高,但是也不是很高,如果想

_ACME_的博客 1万+

操作系统实验一到实验九合集(哈工大李治军)

操作系统实验一到实验九合集(哈工大李治军) 有详细代码及注释,程序已在本地测试,均能跑通

leoabcd12的博客 5万+

android 实现get提交数据类型,Android中向服务器发送数据的Post和Get方法

下面是Post方法:NameValuePair na1=new BasicNameValuePair("email","123456@email");NameValuePair na2=new BasicNameValuePair("password","1");Listlist=new ArrayList();list.add(na1);list.add(na2);try {HttpEntity...

weixin_31999597的博客 269

【AI黑话日日新】什么是AI云原生?

云原生赋能AI:利用容器、微服务、Serverless、DevOps等云原生技术,解决AI应用(尤其是大模型)在部署、扩展、运维、成本控制方面的痛点,让AI服务具备高可用、高性能、易运维、易扩展的特性AI赋能云原生:将AI技术(如智能调度、异常检测、自动优化)融入云基础设施管理,使云平台具备自我感知、自我优化、自我修复的能力,从"被动响应"升级为"主动适配"其本质是实现从""(AI运行在云上)到""(为AI量身打造的云)的根本性转变。

专注:太空算力、AI infra、异构调度、大模型成本工程 627

AI驱动芯片设计的端到端验证:AI应用架构师的全流程指南

想象你要建造一座1000层的超级摩天大楼,每个房间都有独特的功能,管道、电路、电梯系统交织如迷宫。传统的检查方式是派1000个工程师逐层逐房手动检查,耗时十年且仍可能遗漏火灾隐患。这就是今天芯片设计面临的困境:7nm芯片含百亿晶体管,相当于百亿个"房间",传统验证方法(人工编写测试用例、随机仿真)已难以应对。本文的目的,是为AI应用架构师提供一份"AI驱动芯片验证导航图",范围涵盖从验证需求分析到芯片签核的全流程,包括AI模型如何融入传统验证工具链、数据如何驱动验证效率提升、以及端到端闭环系统的构建方法。

2501_92132293的博客 1240

Android Get,Post,AsyncHttpClient向服务器提交数据三种方式

上次我们研究了Android端怎样解析web端上传的网络数据,这次我们来一起研究研究Android网络数据之向服务器提交数据的三种方式(get+post+AsyncHttpClient),代码如下: 如下图这是主界面: activaty_login.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/re

Super_769的博客 679

强化学习(Q-learning、DQN) —— 理论、案例与交互式 GUI 实现

本文详细介绍了强化学习中基于值函数的 Q-learning 算法及深度强化学习的 DQN 方法,从基本理论、数学模型到算法流程均进行了全面阐述。通过迷宫导航、股票交易策略和机器人控制等典型案例,展示了强化学习在处理高维、非线性和时变问题中的强大适应性。为了帮助工程师和研究者更直观地理解强化学习的训练过程,本文还提供了一份基于 Python 与 PyQt6 实现的交互式 GUI 演示系统代码示例,用户可以在线调整参数,实时观察累计奖励和 Q 值的变化,从而更深入地理解算法收敛和策略演化的过程。

闲人编程的博客 1475

Android网络数据之向服务器提交数据的三种方式(get+post+AsyncHttpClient)

前几次研究了Android端怎样解析web端上传的网络数据,这次我们来一起研究研究Android网络数据之向服务器提交数据的三种方式(get+post+AsyncHttpClient)   首先先来看看Android端的测试页面截图:(两个编辑框,分别为用户名和密码框,如若输入的的用户名密码是admin 123 的话,就会吐司success,否则就会吐司fail,三种方式,分别为三个按钮

Perpetual1006的博客 769

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Android 向服务器提交数据(GET-POST-AsyncHttpClient)

Android 向服务器提交数据(GET-POST-AsyncHttpClient)

朝花偏不夕拾的博客 467

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

android之向服务器提交数据(GET,POST,AsyncHttpClient)

1.首先我们先用Eclipse创建一个简单的服务器 其login.jsp的代码如下: 登录界面 用户名: 密码: loginServlet.java的代码如下: package work0727; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletEx

YDCookie的博客 791

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Android-使用GET、POST、AsyncHttpClient向服务器提交数据

在Android中,提供了标准Java接口HttpURLConnection和Apache接口HttpClient,为客户端HTTP编程提供了丰富的支持 在HTTP通信中使用最多的就是GET和POST了,GET请求可以获取静态页面,也可以把参数放在URL字符串的后面,传递给服务器。 POST与GET的不同之处在于POST的参数不是放在URL字符串里面,而是放在HTTP请求数据中。而且当我们把请

糯叽叽的博客 4136

安卓 向服务器提交数据(方式:get、post、AsyncHttpClient )

之前写了篇如何接受解析服务器传过来的数据,今天就来讲一下如何向服务器提交数据。写了个小demo. 效果图如下:服务端:方法: @RequestMapping("dologin.xhtml") public String login(HttpServletRequest req){ String uname=req.getParameter("uname");

l_blackeagle的博客 403

Android之向服务器提交数据(POST,GET,AsyncHttpClient)

Android之向服务器提交数据(POST,GET,AsyncHttpClient)

qq_37332274的博客 481

Android Get,Post,AsyncHttpClient向服务器提交数据几种方式

activaty_login.xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id

vampire2777的博客 468

Android 向服务器提交数据(GET-POST-AsyncHttpClient)

登录的demo: 先在清单文件下配置权限 <uses-permission android:name="android.permission.INTERNET"></uses-permission> 布局文件:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.

snail_Long的博客 606

android 向服务器提交数据(get-post-AsyncHttpClient)

在Android中,提供了标准Java接口HttpURLConnection和Apache接口HttpClient,为客户端HTTP编程提供了丰富的支持。  在HTTP通信中使用最多的就是GET和POST了,GET请求可以获取静态页面,也可以把参数放在URL字符串的后面,传递给服务器。POST与GET的不同之处在于POST的参数不是放在URL字符串里面,而是放在HTTP请求数据中。下面代码实例:pu

cnhn_ghq的博客 517

Android向服务器提交数据(方式:get、post、AsyncHttpClient )

今天说下想服务器提交数据的方式: 服务端:方法: @RequestMapping("dologin.xhtml") public String login(HttpServletRequest req){ String uname=req.getParameter("uname"); String password=req.getParameter("pwd");

overturn的博客 420

32.Android端向web端(服务器)提交数据(GET-POST-AsyncHttpClient)

一.使用Eclipse的web服务端(先写web服务端Android端才能调) login.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 登录 登录页面 用户名: 密码: LoginServlet

_北冥有鱼_的博客 804

android向web传输数据

这次分享的内容属于网络编程,android端向服务器提交数据。 下面给大家介绍三种提交的方式:GET、POST以及第三方的AsyncHttpClient提交 现在给大家上一些比较简单的示例代码: web端: login.jsp: <%@ page language="java" contentType="text/html; charset=UTf-8" pageEncoding

qq_38446250的博客 1031

Android提交数据

Android后台提交数据到服务器,一种是post,一种是get。两种方式的区别有两点,1.get方法的路径需带参  2.post方法多了请求头部长度与类型 post与get属于原生态方法,还有使用 网络请求框架:AsyncHttpClient方法。今天用一个登录案例来比较一下,代码如下:                    public class MainActivity

Wwoo0的博客 588
上一篇: Android解析XML(PULL)与Android解析Json
下一篇: 使用Struts2开发程序的基本步骤
XHui_Lin
博客等级 码龄10年 27粉丝 62原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值