成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁技術文章
文章詳情頁

Android的簡單前后端交互(okHttp+springboot+mysql)

瀏覽:162日期:2022-09-18 18:52:31
前言

前陣子發現了個有意思又好用的框架——okHttp。由于課程設計需要,無意間發現了這個框架,打算利用此框架與后端交互,可以參考前后端分離的項目,把android當做前端,springboot當做后端,以下是二者的簡單交互。

okHttp說明

(1)android網絡框架之OKhttp

一個處理網絡請求的開源項目,是安卓端最火熱的輕量級框架,由移動支付Square公司貢獻(該公司還貢獻了Picasso)

用于替代HttpUrlConnection和Apache HttpClient

(2)okHttp優勢

允許連接到同一個主機地址的所有請求,提高請求效率

共享Socket,減少對服務器的請求次數

通過連接池,減少了請求延遲

緩存響應數據來減少重復的網絡請求

減少了對數據流量的消耗

自動處理GZip壓縮

(3)OKhttp的功能

get,post請求

文件的上傳下載

加載圖片(內部會圖片大小自動壓縮)

支持請求回調,直接返回對象、對象集合

支持session的保持

android前端

邏輯控制:LoginActivity.java

import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import com.campus.book.R;import com.campus.book.entity.User;import com.campus.book.util.http.OKHttpUtil;import com.google.gson.Gson;public class LoginActivity extends AppCompatActivity {//這個url可以通過cmd中輸入 ipconfig IPv4 地址即為本地電腦的地址 8081為后端的端口號 private String baseUrl='http://192.168.xxx.1:8081'; private TextView tv=null; EditText userId = null; EditText pwd = null ; Button login=null; private Button registry=null; @Override protected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_login);setTitle('登錄');tv=findViewById(R.id.tv);login = (Button)findViewById(R.id.login);registry = (Button)findViewById(R.id.registry);userId=(EditText) findViewById(R.id.userId);pwd=findViewById(R.id.pwd);login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {String id = userId.getText().toString();String password=pwd.getText().toString();User user=new User(id,password);Gson gson=new Gson();String json=gson.toJson(user);String args[]=new String[]{'user','login'};String res= OKHttpUtil.postSyncRequest(baseUrl,json,args);Log.d('同步:',res);res= OKHttpUtil.postAsyncRequest(baseUrl,json,args);Log.d('異步:',res); }});registry.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {String args[]=new String[]{'user','getUser','123'};String res= OKHttpUtil.getSyncRequest(baseUrl,args);System.out.println('同步:'+res);String args1[]=new String[]{'user','getUser','123'}; res= OKHttpUtil.getAsyncRequest(baseUrl,args1);System.out.println('異步:'+res); }}); }}

布局方式:activity_login.xml

<?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:orientation='vertical' android:layout_width='match_parent' android:layout_height='match_parent' tools:context='.activity.LoginActivity'><TextView android:layout_width='match_parent' android:layout_height='wrap_content' android: android:text='內容:'/> <FrameLayoutandroid:layout_width='wrap_content'android:layout_height='wrap_content'><ImageView android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:background='@drawable/login' /><!--@drawable/login改成相應的背景圖--><TableLayout android:layout_width='350dp' android:layout_height='match_parent' android:stretchColumns='*' android:layout_marginBottom='150sp' android:layout_gravity='center' > <TableRow android:layout_height='match_parent'><EditText android: android:layout_column='0' android:layout_span='2' android:hint='請輸入手機號' android:textColorHint='#FFFFFF' android:textColor='#FFFFFF' android:textCursorDrawable='@drawable/cursor_color' android:textSize='15sp' /> </TableRow> <TableRow android:layout_height='match_parent' ><EditText android: android:inputType='textPassword' android:layout_column='0' android:layout_span='2' android:hint='請輸入密碼' android:textColorHint='#FFFFFF' android:textColor='#FFFFFF' android:textCursorDrawable='@drawable/cursor_color' android:textSize='15sp' /> </TableRow> <TableRow android:layout_height='match_parent'><Button android: android:layout_height='wrap_content' android:textColor='#FFFFFF' android:background='#000000' android:layout_margin='8dp' android:textSize='15sp' android:text='登錄' /><Button android: android:layout_width='wrap_content' android:layout_height='wrap_content' android:textColor='#FFFFFF' android:background='#000000' android:layout_margin='8dp' android:textSize='15sp' android:text='注冊' /> </TableRow></TableLayout> </FrameLayout></LinearLayout>

其中,cursor_color.xml在drawable中。

<?xml version='1.0' encoding='utf-8'?><shape xmlns:android='http://schemas.android.com/apk/res/android' android:shape='rectangle' > <size android: /> <solid android:color='@android:color/black' /></shape>springboot+mysql后端

(1)數據庫

表user

Android的簡單前后端交互(okHttp+springboot+mysql)

(2)springboot中的controller層

如何搭建springboot工程就不再贅述了(如有需要,可留言,后續可發搭建教程),可自行參考其他文章。

@RestController@RequestMapping('//user')public class UserController {@Autowiredprivate UserService userService;//Gson gson= JsonBean.getGson(); static Gson gson=new GsonBuilder().serializeNulls().create();@GetMapping('/list')public List<User> list() {return this.userService.list();}@PostMapping('/login')public User login(String json){User result=null;User user=null;User user1=null;try{user=gson.fromJson(json,User.class);}catch (Exception e){e.printStackTrace();}user1=userService.getById(user.getUserId());if(user1!=null){//存在該賬戶if(user1.getPassword().equals(user.getPassword())){//密碼正確result=user1;}else{//密碼錯誤}}else{//不存在該賬戶}return result;}@GetMapping('/getUser/{id}')public User getUser(@PathVariable('id') Serializable id){User user=userService.getById(id);if(user!=null){//存在}else{//不存在}return user;}}

運行(交互)效果

Android的簡單前后端交互(okHttp+springboot+mysql)

(1)點擊“登錄”按鈕,發起post請求

android端

Android的簡單前后端交互(okHttp+springboot+mysql)

后端

Android的簡單前后端交互(okHttp+springboot+mysql)

(2)點擊“注冊”按鈕發起get請求

android端

Android的簡單前后端交互(okHttp+springboot+mysql)

后端

Android的簡單前后端交互(okHttp+springboot+mysql)

這樣就達到了前后端分離的效果,是不是很神奇!可以愉快的和小組成員分開進行開發啦!

在Android端中用到了個人結合需要編寫的okHttp的工具類,可參考上篇文章:okHttp的get和post請求的簡單封裝與使用

到此這篇關于Android的簡單前后端交互(okHttp+springboot+mysql)的文章就介紹到這了,更多相關Android 前后端交互內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Spring
相關文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
日韩欧美一区在线观看| 亚洲欧美韩国综合色| 国产精品视频九色porn| 成人精品视频一区| 91精品国产综合久久久蜜臀图片| 亚洲777理论| 亚洲欧洲日本国产| 国产精品狼人久久影院观看方式| 成人av网站大全| 日韩亚洲欧美在线观看| 久久99精品久久久久久久久久久久| 男人的天堂亚洲在线| 悠悠色在线精品| 国产精品入口66mio| 亚洲免费在线电影| 一区在线电影| 国产精品传媒入口麻豆| 欧美视频导航| 中文字幕精品综合| 欧美日本韩国在线| 国产精品久久久久精k8| 欧美日韩在线一二三| 国产精品视频看| 亚洲电影av| 一区二区三区在线观看欧美| 夜夜精品视频| 亚洲成人av电影在线| 色综合久久久久| 奇米色一区二区| 在线这里只有精品| 免费成人av在线| 欧美日韩www| 国产伦精品一区二区三区免费迷| 6080国产精品一区二区| 丁香啪啪综合成人亚洲小说 | 国产主播一区二区| 欧美日韩一区二区三区视频| 国模无码大尺度一区二区三区| 91精品国产综合久久久久久 | 国产成人亚洲综合色影视| 欧美一区二区三区男人的天堂| 日本在线播放一区二区三区| 欧日韩精品视频| 国产精品一二一区| 精品国产污网站| 欧美日韩精品免费看| 中文字幕一区不卡| 国产一区成人| 精品一二三四区| www一区二区| 欧美日韩综合网| 亚洲免费观看高清完整版在线观看| 国产精品日韩欧美一区二区| 日日夜夜精品视频天天综合网| 色婷婷亚洲精品| 国产九色sp调教91| 久久嫩草精品久久久精品| 国内外成人免费视频| 亚洲高清视频的网址| 可以免费看不卡的av网站| 久久精品理论片| 欧美成人福利视频| 国产主播精品| 午夜不卡av在线| 欧美一区二区三区四区视频| 99九九99九九九视频精品| 国产精品超碰97尤物18| 久久国产精品亚洲va麻豆| 精品一区二区三区久久| 久久久久久久久久久久电影 | 国产午夜久久| 午夜精品在线看| 91麻豆精品国产91久久久久久久久 | 一区二区三区精密机械公司| 欧美亚洲一区二区在线观看| 粉嫩久久99精品久久久久久夜 | 亚洲视频狠狠干| 欧美亚洲国产一区在线观看网站| 国产91精品精华液一区二区三区 | 日本欧美韩国一区三区| 精品国内片67194| 亚洲成人中文| 日韩av高清在线观看| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲视频在线二区| 免费人成黄页网站在线一区二区| 日韩欧美一级二级三级久久久| 国产精品igao视频网网址不卡日韩| 亚洲成人tv网| 精品国产一二三| 翔田千里一区二区| 国产精品一区二区久激情瑜伽| 国产精品国产三级国产aⅴ原创 | 色狠狠一区二区| 国产精品亚洲一区二区三区在线 | 国产精品精品国产色婷婷| 一本色道久久综合狠狠躁的推荐| 成人精品国产免费网站| 亚洲激情图片qvod| 欧美电影在线免费观看| 亚洲无玛一区| 精品一区二区三区影院在线午夜| 中文字幕一区二区在线播放 | 欧美午夜不卡影院在线观看完整版免费| 午夜欧美在线一二页| 欧美一卡二卡在线| 亚洲欧洲另类| 激情综合色综合久久综合| 中文字幕欧美日韩一区| 色屁屁一区二区| 欧美日韩精品免费看| 天堂va蜜桃一区二区三区漫画版| 欧美一级日韩一级| 日韩网站在线| 国产乱理伦片在线观看夜一区| 欧美高清在线视频| 欧美色图片你懂的| 伊人成人网在线看| 国产乱码精品一区二区三区av | 久久久久久久久久看片| 麻豆精品91| 91丨porny丨国产| 人人超碰91尤物精品国产| 久久久99精品久久| 久久综合一区二区三区| 97国产一区二区| 久久精品999| 亚洲欧洲成人精品av97| 91精品欧美福利在线观看| 夜夜爽av福利精品导航| 成人涩涩免费视频| 首页国产丝袜综合| 国产日韩精品一区二区三区| 在线免费观看不卡av| 午夜精品剧场| 激情文学综合丁香| 亚洲最大的成人av| 国产亚洲一本大道中文在线| 色狠狠桃花综合| 1000部精品久久久久久久久| 国产一区二区精品久久91| 依依成人精品视频| 久久综合网色—综合色88| 久久一区激情| 狠狠色综合网站久久久久久久| 国产乱码精品一区二区三区五月婷 | 夜夜嗨网站十八久久| 国产不卡免费视频| 日韩高清电影一区| 亚洲欧洲精品天堂一级| 欧美大片在线观看一区二区| 在线免费观看日本欧美| 美女精品在线| 在线国产欧美| 91在线精品秘密一区二区| 久久国产尿小便嘘嘘| 亚洲图片欧美色图| 欧美激情一区二区三区全黄 | 欧美日韩国产一二三| 日本大香伊一区二区三区| 黄色在线一区| 91网站最新网址| 国产成人在线免费| 久久99精品久久久久| 亚洲丶国产丶欧美一区二区三区| 中文字幕电影一区| 日韩欧美一区电影| 在线视频你懂得一区二区三区| 夜夜嗨av一区二区三区网站四季av| 影音先锋久久久| 91首页免费视频| 不卡的电视剧免费网站有什么| 国产在线看一区| 蜜臀av性久久久久蜜臀aⅴ流畅| 亚洲一区二区三区影院| 国产精品久久久久久久久图文区 | xnxx国产精品| 91精品国产品国语在线不卡 | 国产亚洲欧美在线| 日韩欧美久久久| 6080yy午夜一二三区久久| 欧美精品vⅰdeose4hd| 在线精品观看国产| 色婷婷av一区二区三区大白胸 | 国产精品免费人成网站| 久久久久久久国产精品影院| 欧美va日韩va| 精品免费99久久| 精品裸体舞一区二区三区| 日韩一区二区三区四区五区六区 | 亚洲日本国产| 国内精品福利| 国产综合精品一区| 色综合天天综合在线视频| www..com久久爱| 91女厕偷拍女厕偷拍高清| av中文字幕在线不卡| 成人91在线观看| 成人av在线播放网址| 成人激情av网|