后台开发1、2、3

第10章 后台
作为app 提供数据,业务管理。
1.创建工程springBoot
1.1下载开发IntellijIdE:百度;
1.2配置环境:jdk maven
1.3创建project :选择springIntiazer ;官网:创建工程;
2.创建工程结构
1.entriy:
2.controller
3.service
4.common
5.dao
3.测试接口工具
postman:
4.Android 客户端
1.创建http通信工具类
package com.imau.studentcms; import com.alibaba.fastjson.JSON; import com.google.gson.Gson; import java.io.BufferedReader; import java.io.DataOutputStream; import java.io.InputStream; import java.io.InputStreamReader;
import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; public class MyHttpUtil { private static final int TIME_OUT=5000; private static URL url; private static HttpURLConnection connection; private static InputStream inputStream; public static void doGet(final String urlStr,final HttpCallbackListener listener){ new Thread(new Runnable() { @Override public void run() { try {StringBuffer data=new StringBuffer(); String line; //1.构建请求地址 url=new URL(urlStr); //2.建立连接 connection= (HttpURLConnection) url.openConnection(); //3.设置请求信息 connection.setConnectTimeout(TIME_OUT); connection.setRequestMethod(“GET”); //4.判断请求连接状态 if(connection.getResponseCode()==200) { //5.处理响应内容 inputStream=connection.getInputStream(); InputStreamReader isr=new InputStreamReader(inputStream,“utf-8”); BufferedReader reader=new BufferedReader(isr); while((line=reader.readLine())!=null) { data.append(line); }//6.数据返回:写一个接口回调接口,消息通知 if(listener!=null){ listener.onFinsh(data.toString()); }
} }catch (Exception e){ e.printStackTrace(); }finally { if(connection!=null){ connection.disconnect(); } } } }).start(); }public static void doPost(final String urlStr,final HashMap<String, Object> params, final HttpCallbackListener listener){ new Thread(new Runnable() { @Override public void run() { try {StringBuffer data=new StringBuffer(); //1.参数转换json String strEntity = JSON.toJSONString(params); String line; //1.构建请求地址 url=new URL(urlStr); //2.建立连接 connection= (HttpURLConnection) url.openConnection(); //3.设置请求信息 connection.setConnectTimeout(TIME_OUT); connection.setRequestMethod(“POST”); connection.setRequestProperty(“Content-Type”, “application/json”);//使用的是json请求类型 connection.setRequestProperty(“Content-Length”, strEntity.length()+""); connection.setDoInput(true); connection.setDoOutput(true); //将参数写入到后台 connection.getOutputStream().write(strEntity.getBytes()); //4.判断请求连接状态 if(connection.getResponseCode()==200) { //5.处理响应内容 inputStream=connection.getInputStream(); InputStreamReader isr=new InputStreamReader(inputStream,“utf-8”);
2.两个Activity
登录activity
BufferedReader reader=new BufferedReader(isr); while((line=reader.readLine())!=null) { data.append(line); }//6.数据返回:写一个接口回调接口,消息通知 if(listener!=null){ listener.onFinsh(data.toString()); } } }catch (Exception e){ e.printStackTrace(); }finally { if(connection!=null){ connection.disconnect(); } } } }).start(); }public interface HttpCallbackListener{ //写一个成功回调方法 public void onFinsh(String response); //失败回调方法 } }

2.两个Activity
登录activity

package com.imau.studentcms; import androidx.annotation.NonNull; import androidx.appcompat.app.AppCompatActivity; import android.content.Intent; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.view.View; import android.widget.EditText; import android.widget.Toast; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.google.gson.JsonArray;
import com.google.gson.JsonObject; import java.util.HashMap; public class MainActivity extends AppCompatActivity { private EditText uname; private EditText upass; private Handler handler=new Handler(){ @Override public void handleMessage(@NonNull Message msg) { super.handleMessage(msg); if((Integer) msg.obj10000){ Intent intent=new Intent(MainActivity.this,Main2Activity.class); startActivity(intent); }else{Toast.makeText(MainActivity.this,“用户名密码错误,重新输 入”,Toast.LENGTH_LONG).show(); } } };
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); uname=findViewById(R.id.name); upass=findViewById(R.id.pass); }//登录按钮事件方法 public void login(View view){ //1.获取输入用户名密码 String name=uname.getText().toString(); String pass=upass.getText().toString(); //2.验证输入… if("".equals(name)||name
null){ Toast.makeText(MainActivity.this,“请输入用户 名”,Toast.LENGTH_LONG).show(); uname.setFocusable(true); }else if("".equals(pass)||passnull){
学生管理主界面
Toast.makeText(MainActivity.this,“请输入密 码”,Toast.LENGTH_LONG).show(); upass.setFocusable(true); }else{//3.请求后台:用户名 密码查询用户名 HashMap<String,Object> params=new HashMap<>(); params.put(“uname”,name); params.put(“upass”,pass); //访问地址:本地的电脑:localhost 10.0.2.2 MyHttpUtil.doPost(“http://10.0.2.2:8008/user/login”, params,new MyHttpUtil.HttpCallbackListener() { @Override public void onFinsh(String response) { System.out.println(response); //4.解析后台数据: //普通json串解析; //定义一个服务后台一致的实体类;对象解析 JSONObject obj =JSON.parseObject(response); int code= obj.getInteger(“code”); //发送消息 Message message=new Message(); //判断 if(code
10000){ message.what=1; message.obj=10000; }else{message.what=1; message.obj=10001; }handler.sendMessage(message); } }); } } }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值