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

您的位置:首頁技術(shù)文章
文章詳情頁

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

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

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

okHttp說明

(1)android網(wǎng)絡(luò)框架之OKhttp

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

用于替代HttpUrlConnection和Apache HttpClient

(2)okHttp優(yōu)勢

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

共享Socket,減少對服務(wù)器的請求次數(shù)

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

緩存響應數(shù)據(jù)來減少重復的網(wǎng)絡(luò)請求

減少了對數(shù)據(jù)流量的消耗

自動處理GZip壓縮

(3)OKhttp的功能

get,post請求

文件的上傳下載

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

支持請求回調(diào),直接返回對象、對象集合

支持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='內(nèi)容:'/> <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)數(shù)據(jù)庫

表user

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

(2)springboot中的controller層

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

@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)點擊“登錄”按鈕,發(fā)起post請求

android端

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

后端

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

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

android端

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

后端

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

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

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

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

標簽: Spring
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
天堂а√在线最新版中文在线| 日韩网站中文字幕| re久久精品视频| 成人免费电影网址| 国产综合色区在线观看| 国产精品白丝一区二区三区| 国产女人18毛片水真多18精品| 国产日韩欧美一区二区三区在线观看| 国产免费播放一区二区| 久久伊人久久| 在线中文字幕播放| 亚洲网站视频| 丝袜美腿亚洲色图| 亚洲精品高潮| 国产精品久久免费视频| 国产在线一区不卡| 久久精品中文| 久久午夜精品| 国产调教一区二区三区| 久久一区欧美| 超级白嫩亚洲国产第一| 1024精品一区二区三区| 免费欧美在线视频| 国产欧美二区| 香蕉成人av| 日韩亚洲国产欧美| 欧美日韩精品一区二区三区在线观看| 久久丁香四色| 亚洲91视频| 亚洲精品成人一区| 精品日韩一区| 欧美va天堂| 婷婷综合一区| 国产精品99一区二区三| 黄页网站一区| 日韩精品久久久久久| 精品一区不卡| 蜜臀av免费一区二区三区| 亚洲毛片一区| 久久精品一区二区国产| 久久九九电影| 亚洲精品三级| 福利一区视频| 蜜桃av一区| 成人国产精品| 亚洲日产av中文字幕| 精品国产日韩欧美精品国产欧美日韩一区二区三区 | 亚洲福利免费| 少妇精品在线| 日本免费一区二区三区四区| 亚洲一区国产一区| 麻豆精品99| 一区二区自拍| 国产欧美日韩影院| 久久精品观看| 国产日韩高清一区二区三区在线| 日韩av在线中文字幕| 久久av在线| 成人污污视频| 久热re这里精品视频在线6| 国产精品videosex极品| 欧美va亚洲va日韩∨a综合色| 欧美一区91| 欧美特黄一级大片| 欧美亚洲一区二区三区| 免费av一区二区三区四区| 91精品美女| 欧美特黄视频| 国产一区国产二区国产三区 | 1000部精品久久久久久久久| 日韩精品中文字幕一区二区| 欧美成人基地 | 国产欧美一区二区三区国产幕精品| 日韩精品首页| 国产精品天天看天天狠| 91高清一区| 粉嫩av一区二区三区四区五区| 喷白浆一区二区| 亚洲天堂一区二区| 日韩av网站免费在线| 婷婷精品视频| 国产粉嫩在线观看| 国产欧美久久一区二区三区| 亚洲色诱最新| 久久91导航| 国产一区调教| 日韩成人一级| 中文精品电影| 五月婷婷亚洲| 999精品一区| 久久精品国产一区二区| 日韩av中文字幕一区二区三区| 怡红院精品视频在线观看极品| 日韩免费一区| 国产精品18| 日韩精品成人| 中文不卡在线| 国产亚洲永久域名| 日韩国产网站| 国产a亚洲精品| 国产精品美女午夜爽爽| 青青国产精品| 日韩在线麻豆| 日韩一区精品视频| 亚洲一区二区三区高清| 一区二区三区国产在线| 日韩专区欧美专区| 欧美亚洲三级| 日韩精品一区第一页| 欧美国产日韩电影| 97久久超碰| 久久中文字幕av| 日韩有吗在线观看| 久久电影一区| 国产亚洲精品美女久久 | 日本不卡一二三区黄网| 女主播福利一区| 香蕉精品久久| 亚洲成人一区| 在线亚洲人成| 91亚洲国产高清| 亚洲黄色网址| 在线天堂资源www在线污| 日韩欧美精品| 欧美手机在线| 日韩视频二区| 免费视频久久| 亚洲精品一级二级三级| 日韩国产在线观看一区| 亚洲+小说+欧美+激情+另类| 午夜性色一区二区三区免费视频| 亚洲欧美专区| 日韩高清电影免费| 国产精品一级| 大香伊人久久精品一区二区 | 日本免费一区二区三区四区| 欧洲av不卡| 国精品一区二区三区| 美女久久久久| 久久夜色精品| 久久精品97| 久久97久久97精品免视看秋霞| 国产91欧美| 久久精品一区二区不卡| 狠狠爱www人成狠狠爱综合网| 亚洲欧美久久久| 日韩一区二区三区精品视频第3页| 欧美日韩视频免费看| 国产精品亚洲综合色区韩国| 国产精品久久观看| 日本午夜大片a在线观看| 精品中文字幕一区二区三区| 福利在线免费视频| 国产国产精品| 日韩精品一页| 亚洲激精日韩激精欧美精品| 偷拍亚洲精品| 日韩精品免费视频一区二区三区| 欧美日韩 国产精品| 激情综合网站| 国产欧美一区| 国产一区二区精品| 亚洲三级网址| xxxxx性欧美特大| 三上悠亚国产精品一区二区三区| 老司机免费视频一区二区| 欧美xxxx中国| 婷婷精品在线| 久久人人精品| 伊人久久亚洲| 日韩欧美字幕| 久久国产麻豆精品| 影视先锋久久| 国产精品网站在线看| 久久国产中文字幕| 日本不卡高清视频| 在线一区视频观看| 亚洲三级精品| 精品欧美视频| 69堂精品视频在线播放| 亚洲中午字幕| 亚洲www啪成人一区二区| 欧美日韩99| 欧洲激情综合| 国产欧美日本| 三级欧美在线一区| 午夜亚洲福利| 视频一区中文字幕精品| 亚洲一区欧美二区| 性欧美69xoxoxoxo| 久久美女精品| 国产精品115| 蜜桃视频在线观看一区| 精品一区二区三区视频在线播放 | 亚洲字幕久久| 天堂资源在线亚洲| 麻豆国产欧美日韩综合精品二区| 欧美日韩国产欧| 亚洲另类黄色| 91欧美极品|