资讯专栏INFORMATION COLUMN

Android+Struts2实现简单的前后台交互--Android网络编程

AaronYuan / 693人阅读

摘要:下面测试截图,基本过程就是点击按钮向服务器端发送请求,后台收到请求后给出返回的数据,前台只需要显示服务端数据就可以了。哎,本人还是学生狗呢网站做的不好多多提点意见和建议吧,别骂我就好嘿嘿以后什么的还得多向大家学习

1、下面测试截图,基本过程就是:点击按钮向服务器端发送请求,后台收到请求后给出返回的数据,前台只需要显示服务端数据就可以了。例子很简单能但引发很多思考,博主学了杂七杂八的,这又在来想杂学Android了?……其实是想多了解一下其他东西,毕竟博主还在上大学呀!多学点没什么不好……

2、客户端(Android)关键代码 MainActivity.java:
 1 package thonlon.example.cn.sendgetdemo;
 2 
 3 import android.inputmethodservice.KeyboardView;
 4 import android.support.v7.app.AppCompatActivity;
 5 import android.os.Bundle;
 6 import android.view.View;
 7 import android.widget.Button;
 8 import android.widget.ScrollView;
 9 import android.widget.TextView;
10 
11 import java.io.IOException;
12 
13 import okhttp3.Call;
14 import okhttp3.Callback;
15 import okhttp3.OkHttpClient;
16 import okhttp3.Request;
17 import okhttp3.Response;
18 
19 public class MainActivity extends AppCompatActivity {
20 
21     private TextView tv;
22     private String mBaseUrl = "http://192.168.43.218:8080/OkHttpGetServer/";
23     @Override
24     protected void onCreate(Bundle savedInstanceState) {
25         super.onCreate(savedInstanceState);
26         setContentView(R.layout.activity_main);
27     }
28 
29     public void doGet(View view) {
30         //拿到okHttpClient对象
31         OkHttpClient okHttpClient = new OkHttpClient();
32         //构造Request
33         Request request = new Request.Builder().get()
34                 .url(mBaseUrl+"login?username=Thanlon&password=123").build();
35 //        将Request封装成Call
36 //        执行Call
37         okHttpClient.newCall(request).enqueue(new Callback() {
38             @Override
39             public void onFailure(Call call, IOException e) {
40                 e.printStackTrace();
41             }
42 
43             @Override
44             public void onResponse(Call call, Response response) throws IOException {
45                 String res = response.body().string();
46                 showResultInfo(res);
47             }
48         });
49     }
50 
51     private void showResultInfo(final String resultInfo) {
52         tv = (TextView) findViewById(R.id.tv);
53         runOnUiThread(new Runnable() {
54             @Override
55             public void run() {
56                 tv.setText(resultInfo);
57             }
58         });
59     }
60 }

 activity_main.xml:(布局也发了,做个参考)




    
3、服务器端主要代码 UserLoginAction.java:(Servlet自然也可以,这里借助了strut2框架)
 1 package com.okhttp;
 2 
 3 import java.io.IOException;
 4 import java.io.PrintWriter;
 5 
 6 import javax.security.auth.message.callback.PrivateKeyCallback.Request;
 7 import javax.servlet.http.HttpServletResponse;
 8 
 9 import org.apache.struts2.ServletActionContext;
10 
11 import com.opensymphony.xwork2.ActionSupport;
12 
13 public class UserLoginAction extends ActionSupport {
14 
15     private String username;
16     private String password;
17 
18     public String login() throws IOException {
19 //        System.out.println(username+ "," + password);
20         HttpServletResponse response = ServletActionContext.getResponse();
21         response.setCharacterEncoding("utf-8");  //防止服务端发送到到客户端的数据出现中文乱码
22         PrintWriter pw = response.getWriter();
23         pw.write("下面是服务器端返回的数据:nn");
24         pw.write("您提交的用户名是:"+username);
25         pw.flush();
26         return null;
27     }
28 
29     public String getUsername() {
30         return username;
31     }
32 
33     public void setUsername(String username) {
34         this.username = username;
35     }
36 
37     public String getPassword() {
38         return password;
39     }
40 
41     public void setPassword(String password) {
42         this.password = password;
43     }
44 }
 struts.xml:
 1 
 2 
 5 
 6     
 7         
 8         
 9     
10 
附:个人网站www.nxl123.cn(后台采用Python Flask框架搭建,2019年1月1日将升级完成并正式启用。哎,本人还是学生狗呢!网站做的不好多多提点意见和建议吧,别骂我就好!嘿嘿……以后SEO什么的还得多向大家学习……)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/3022.html

相关文章

  • 终于,我还是下决心学Java后台

    摘要:我没有什么本事,人也丑,也不会忽悠,只能硬着头皮学习了。最近计划学习后台,因为最近接了私活的问题,好多都要后台和前端一起做。 我没有什么本事,人也丑,也不会忽悠,只能硬着头皮学习了。最近计划学习Java后台,因为最近接了私活的问题,好多都要Java后台和前端一起做。平常我在做什么,当然是忙着赚钱了 除了敲代码,你还有什么副业吗?接了活自己还要找开发Java后台开发的,为什么我自己不会呢...

    Zoom 评论0 收藏0
  • 终于,我还是下决心学Java后台

    摘要:我没有什么本事,人也丑,也不会忽悠,只能硬着头皮学习了。最近计划学习后台,因为最近接了私活的问题,好多都要后台和前端一起做。 我没有什么本事,人也丑,也不会忽悠,只能硬着头皮学习了。最近计划学习Java后台,因为最近接了私活的问题,好多都要Java后台和前端一起做。平常我在做什么,当然是忙着赚钱了 除了敲代码,你还有什么副业吗?接了活自己还要找开发Java后台开发的,为什么我自己不会呢...

    BlackHole1 评论0 收藏0
  • 终于,我还是下决心学Java后台

    摘要:我没有什么本事,人也丑,也不会忽悠,只能硬着头皮学习了。最近计划学习后台,因为最近接了私活的问题,好多都要后台和前端一起做。 我没有什么本事,人也丑,也不会忽悠,只能硬着头皮学习了。最近计划学习Java后台,因为最近接了私活的问题,好多都要Java后台和前端一起做。平常我在做什么,当然是忙着赚钱了 除了敲代码,你还有什么副业吗?接了活自己还要找开发Java后台开发的,为什么我自己不会呢...

    Null 评论0 收藏0
  • android + php 后台开发

    摘要:安卓与服务器的数据交互在我们进行开发的时候,避免不了的要进行登录注册,个人信息获取,数据交互等等这一系列的操作。而与之间的数值传递是通过数据类型。创建对象并添加数据。第五步就是进行数据的解析,获取后台返回的数据。android+php 安卓与服务器的数据交互 在我们进行android开发的时候,避免不了的要进行登录注册,个人信息获取,数据交互等等这一系列的操作。这样就需要进行android端...

    warkiz 评论0 收藏0
  • Android与Node.jshttp数据交互

    摘要:而利用传递数据无疑是网络数据交互里最简单,最便捷的方式。由于正在学习和,这里就先介绍和的框架编写的后台之间利用传递数据进行数据交互。 个人觉得网络数据交互对于任何技术来说都是最好玩的部分,不管是web前端还是Android,因为我觉得当一个应用程序具有和互联网上的资源交互的功能时才真正可以开始做些好玩的事。而利用http传递Json数据无疑是网络数据交互里最简单,最便捷的方式。 由于正...

    Harriet666 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<