日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

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

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

瀏覽:198日期: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
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美专区在线| 日韩中文字幕亚洲一区二区va在线| 日韩精品久久理论片| 亚洲丝袜美腿一区| 婷婷精品久久久久久久久久不卡| 综合激情在线| 日韩精品久久理论片| 久久国产尿小便嘘嘘| 国产精品天堂蜜av在线播放| 美女精品一区二区| 亚洲天堂1区| 一本色道精品久久一区二区三区| 99riav国产精品| 亚洲欧洲专区| 91精品日本| 精品色999| 岛国av在线网站| 亚洲一级黄色| 爽好多水快深点欧美视频| 亚洲精品福利| 久久天堂影院| 欧美亚洲在线日韩| 中文字幕一区二区三区在线视频| 欧美综合社区国产| 精品福利久久久| 久久国产小视频| 一区二区三区网站| 久久av导航| 久久理论电影| 日韩国产欧美三级| 国产欧洲在线| 欧美日韩激情| 亚洲精品少妇| 91视频精品| 免费视频一区二区| 精品亚洲成人| 国产精品丝袜xxxxxxx| 国产欧美高清| 欧美日韩精品一区二区视频| 日韩精选在线| 亚洲最新无码中文字幕久久| 亚洲一区区二区| 国产精品亚洲片在线播放| 蜜臀国产一区| 日本精品另类| av一区在线| 国产精品美女久久久浪潮软件| 欧美日韩夜夜| 99tv成人| 久久国产精品免费一区二区三区| 少妇精品导航| 日韩午夜视频在线| 香蕉成人av| 777久久精品| 五月天久久久| 麻豆国产欧美一区二区三区 | 日本三级亚洲精品| 欧美片第1页| 日韩精品欧美精品| 国精品产品一区| 一区二区三区四区在线观看国产日韩| 91日韩欧美| 亚洲精品成人一区| 99成人在线视频| 国产精品久久久久久久久久白浆 | 亚洲精品网址| 国产精品99精品一区二区三区∴| 91高清一区| 国产一区丝袜| 青青草精品视频| av不卡在线| 亚洲人成在线网站| 欧美精品不卡| 国产婷婷精品| 久久久久久黄| 高清在线一区| 国产欧美一级| 亚洲精品在线a| 精品在线99| 97精品国产福利一区二区三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 肉色欧美久久久久久久免费看 | 国产一区日韩| 久久精品xxxxx| 蜜桃av一区二区在线观看| 91精品啪在线观看国产18| 欧美日韩精品一区二区三区视频| 国产一区二区高清| 亚洲小说欧美另类婷婷| 丰满少妇一区| 国产精品成人一区二区网站软件| 蜜桃av一区二区三区电影| 中文字幕系列一区| 捆绑调教美女网站视频一区| 日韩精品一区二区三区免费视频| 99在线|亚洲一区二区| 亚洲午夜av| 在线一区视频观看| 中文字幕在线视频久| 国产精品.xx视频.xxtv| 欧美日韩一区自拍| 亚洲色图综合| 一区二区三区网站| 久久亚洲欧洲| 中文一区一区三区免费在线观| 亚洲一区中文| 久久成人精品| 黄色日韩精品| 亚洲免费激情| 亚洲一区二区成人| 久久午夜精品一区二区| 视频一区二区不卡| 视频一区二区三区在线| 免费成人av在线播放| 蜜臀91精品一区二区三区| 日韩影院在线观看| 三级欧美韩日大片在线看| 久久国产高清| 免费视频一区二区| 亚洲影视一区二区三区| 亚洲欧美网站在线观看| 综合精品一区| 日韩在线麻豆| 69堂免费精品视频在线播放| 69堂免费精品视频在线播放| 欧美一区激情| 国产精品成人自拍| 精品日韩一区| 岛国av在线播放| 亚洲www啪成人一区二区| 91精品国产91久久久久久黑人| 高清不卡亚洲| 99热精品久久| 亚洲免费一区二区| 亚洲精选久久| 国产欧美一区二区三区米奇| 捆绑调教美女网站视频一区 | 久久午夜精品一区二区| 日韩在线网址| 国产精品jk白丝蜜臀av小说| 成人午夜在线| 亚洲无线一线二线三线区别av| 日韩视频在线一区二区三区 | 国产高潮在线| 免费久久精品| 日韩中文字幕| 精品国产一区二区三区噜噜噜| 蜜桃av.网站在线观看| 免费观看不卡av| 日韩精品一级二级| 国产精品99精品一区二区三区∴| 91麻豆国产自产在线观看亚洲| 99热精品久久| 蜜桃久久久久久| 国产精品综合| 久久久久国产精品一区三寸| 免播放器亚洲| 国产精品亚洲综合久久| 中文在线а√天堂| 免费欧美日韩| 久久av免费| 国产91久久精品一区二区| 亚洲三级在线| 国产一区二区三区不卡av| 成人看片网站| 婷婷视频一区二区三区| 国产一区二区三区视频在线| 欧美精品一卡| 国产精品久久久久久模特| 91精品精品| 日韩精品久久久久久| 91综合网人人| 亚洲久草在线| 精品国产精品国产偷麻豆| 婷婷成人基地| 国产精品网站在线看| 激情欧美亚洲| 国产精品主播| 不卡在线一区| 国产亚洲高清一区| 欧美日韩精品一区二区视频| 国产日韩中文在线中文字幕| 欧美一级精品| 麻豆一区在线| 在线精品观看| 亚洲91视频| 国产九一精品| 国产精品试看| 97精品国产福利一区二区三区| 视频在线观看一区| 日韩欧美三级| 国产日产一区| 黄色av日韩| 国产videos久久| 综合五月婷婷| 欧美a级片一区| 色婷婷综合网| 欧美日韩一区二区三区四区在线观看| 1024精品一区二区三区| 麻豆免费精品视频|