okhttp實現註冊登入功能(與伺服器端)
請求方式:POST
引數 :username,password
URL : http://**************/register?(這個我就不貼上來了)
返回值:{status:400, msg:"註冊失敗", data:null}{status:200, msg:"註冊成功", data:null}
首先,註冊功能的實現思路是,將EditText文字框內使用者輸入的數值取出,接著通過post方法將取出的值傳送到伺服器端對應的引數上,然後伺服器會進行判斷,將返回值反饋給客戶端,我這裡伺服器上返回的是一串簡單的json格式字串,我們在將獲取的返回json字串進行解析,通過判斷status值來給出提示是否註冊成功(200表示成功,400表示失敗);簡單的json字串解析可通過gson來解析。
需要獲得聯網許可權,在AndroidMainfest中配置
<uses-permission android:name="android.permission.INTERNET" />在build.gradle(app)檔案中新增okhttp和gson :
compile 'com.squareup.okhttp3:okhttp:3.9.0' compile 'com.google.code.gson:gson:2.8.2'將這些配置好了,直接看下面程式碼即可
UserBeanl類
- publicclass UserBean {
- private String status;
- private String msg;
- private String data;
- public String getStatus() {
- return status;
- }
- publicvoid setStatus(String status) {
- this.status = status;
- }
- public String getMsg() {
- return msg;
- }
- publicvoid setMsg(String msg) {
- this
- }
- public String getData() {
- return data;
- }
- publicvoid setData(String data) {
- this.data = data;
- }
- }
- publicclass RegisterActivity extends AppCompatActivity{
- private EditText name;
- private EditText pwd;
- private String name1,pwd1;
- private Button reg;
- private List<UserBean>list;
- final OkHttpClient client = new OkHttpClient();
- private Handler mHandler = new Handler(){
- @Override
- publicvoid handleMessage(Message msg){
- if(msg.what==1){
- String ReturnMessage = (String) msg.obj;
- Log.i("獲取的返回資訊",ReturnMessage);
- final UserBean userBean = new Gson().fromJson(ReturnMessage, UserBean.class);
- final String AA = userBean.getMsg();
- /***
- * 在此處可以通過獲取到的Msg值來判斷
- * 給出使用者提示註冊成功 與否,以及判斷是否使用者名稱已經存在
- */
- Log.i("MSGhahahha", AA);
- }
- }
- };
- @Override
- protectedvoid onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- /**
- * 初始化
- */
- name = (EditText) findViewById(R.id.name);
- pwd = (EditText) findViewById(R.id.pwd);
- reg = (Button) findViewById(R.id.register);
- reg.setOnClickListener(new View.OnClickListener() {
- @Override
- publicvoid onClick(View v) {
- //獲取相關引數
- name1=name.getText().toString().trim();
- pwd1=pwd.getText().toString().trim();
- //通過okhttp發起post請求
- postRequest(name1,pwd1);
- }
- });
- }
- /**
- * post請求後臺
- * @param username
- * @param password
- */
- privatevoid postRequest(String username,String password) {
- //建立請求表單,新增上傳伺服器的引數
- RequestBody formBody = new FormBody.Builder()
- .add("username",name1)
- .add("password",pwd1)
- .build();
- //發起請求
- final Request request = new Request.Builder()
- .url("http://**************/login?")
- .post(formBody)
- .build();
- //新建一個執行緒,用於得到伺服器響應的引數
- new Thread(new Runnable() {
- @Override
- publicvoid run() {
- Response response = null;
- try {
- //回撥
- response = client.newCall(request).execute();
- if (response.isSuccessful()) {
- //將伺服器響應的引數response.body().string())傳送到hanlder中,並更新ui
- mHandler.obtainMessage(1, response.body().string()).sendToTarget();
- } else {
- thrownew IOException("Unexpected code:" + response);
- }
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }).start();
- }
- }
下面試佈局程式碼
- <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
- xmlns:tools="http://schemas.android.com/tools"
- android:orientation="vertical"
- android:layout_width="match_parent"
-
相關推薦
okhttp實現註冊登入功能(與伺服器端)
請求方式:POST引數 :username,passwordURL : http://**************/register?(這個我就不貼上來了)返回值:{status:400, msg:"註冊失敗", data:null}{status:200, msg:"註冊
java 實現簡單的銀行登入註冊退出功能(未儲存資料)
RegisterAndLogin.java:package bao1;import java.util.Scanner;import java.util.regex.Pattern;import bao1.Login;public class RegisterAndLogi
cocos creator android studio 實現遊戲微信登入功能(官方接入方式)
一:cocos creator端js呼叫java程式碼實現微信登入功能:JS部分 廢話不多說直接上程式碼: wechatLogin : function(){ jsb.reflection.callStaticMethod("org/cocos2dx/javascri
【struts2+hibernate+spring專案實戰】實現使用者登入功能(ssh)
一、概述 從今天才開始有時間來總結總結以前自己練習的一些東西,希望總結出來對以後可以更加便捷的來學習,也希望可以幫助到正需要這些東西的同行人,一起學習,共同進步。 二、 登入功能總結 2.1、登入功能概述 這個技術主要是運用Struts2+hib
ajax 註冊登入功能(格式判斷、資料庫資訊判斷)
註冊判斷效果 HTML 登錄檔單關鍵程式碼 <div class="title-line"> <span class="tit">註冊</span> </div>
Struts2+Mybatis整合實現註冊登入功能
1.要實現框架之間的整合,第一 2.接下來先配置Struts2的核心控制器web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://j
vue實現復制功能(項目使用)
pre container audio all 自己 內容 erro con app 安裝依賴 npm install --save vue-clipboard2 用法: import Vue import VueClipboard from ‘vue-
資料結構-順序表的實現以及一些功能(c語言版本)
#define MAXSIZE 100 //MAXSIZE為線性表可能的最大長度 #include<stdio.h> typedef int ElemType; typedef struct { ElemType data[MAXSIZE]; int length
一分鐘實現內網穿透(ngrok伺服器搭建)
簡單來說內網穿透的目的是:讓外網能訪問你本地的應用,例如在外網開啟你本地http://127.0.0.1指向的Web站點。 最近公司的花生殼到期了,要續費,發現價格一直在漲,都是5年以上的老使用者,旗艦版都沒有實現內網完全穿透,打算自己動手替換這個服務,中間走
關於JS實現使用者登入驗證(部分程式碼簡寫)
上個星期上課時,吳亮老師說,用JS實現下驗證,因回家耽誤了4天,現在把寫好的程式碼Pia上來~~~ function getFocus() //設定使用者名稱文字框獲取焦點 { document.getElementById("txtusername")
android中 程式碼實現截圖功能(靜態+動態視訊)
分享下靜態截圖的功能程式碼: public class ScreenShot { // 獲取指定Activity的截圖,儲存到png檔案 static Bitmap takeScreenShot(Activity activity) { L
Jedis實現Publish/Subscribe功能(釋出和訂閱)
Redis為我們提供了publish/subscribe(釋出/訂閱)功能。我們可以對某個channel(頻道)進行subscribe(訂閱),當有人在這個channel上publish(釋出)訊息時,redis就會通知我們,這樣我們可以收到別人釋出的訊息。 作為Java的redis客戶端,Jedis提
在Sublime Text 3上實現python互動功能(SublimeREPL外掛安裝)
原本python IDLE 3.6寫程式碼好好的,不知為何,莫名其妙地經常出現IndentationError:unexpected indent的錯誤,用Sublime Text 3開啟,發現的確又是縮排對齊的問題。網上搜索了半天,沒有解決方案,問題依舊。於是想轉用Subl
網站自動登入功能(安全-程式碼簡潔)的設計
參考:http://blog.csdn.net/ivon2008/article/details/39899477 網站的自動登入一直都是有利於提高使用者體驗的功能,如果設計不好,也非常容易洩漏使用者的賬戶資訊。 比較常見的功能實現方案是將使用者的登
javaEE之jsp+JavaBean實現登入+註冊+留言功能(外掛資料庫)
javaEE之jsp+JavaBean實現登入+註冊+留言功能(外掛資料庫) 實現效果 #UserBean.java package nmx; public class UserBean { private String username; private Stri
Android用SharedPreferences儲存資料實現註冊和登入功能(首次安裝預設開啟註冊,記住密碼)
註冊介面xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
jsp實現登入註冊(與資料庫對接)
最近做了一些影象處理的內容,閒暇時間搞了下jsp,終於把至少兩個月之前的程式碼的bug找出來了... 具體內容我在之前一篇博文有介紹,主要是增加了資料庫的部分。其實一樣處理,獲得輸入的使用者名稱,密碼,然後判斷是否需要在當前頁面用javascipt處理下(比如註冊肯定是需要
Unity與Android交互-Unity接入高德地圖實現定位以及搜索周邊的功能(使用Android Studio)詳細操作
nac mcc 以及 分享 pack create lis red 效果 剛進公司給安排的任務就是Unity接入高德地圖,算是踩了不少坑總算做出來了,抽點時間寫個博客記錄一下 廢話不多說 先上效果圖 獲取定位並根據手機朝向顯示周邊信息 使用的Unity
C#.網路程式設計 Socket基礎(一)Socket TCP協議 實現端到端(伺服器與客戶端)簡單字串通訊
簡介: 本章節主要討論了Socket的入門知識,還未針對Socket的難點問題(比如TCP的無訊息邊界問題)展開討論,往後在其他章節中進行研究。 注意點: 伺服器(比如臺式電腦)的IP為1.1.1.2,那麼客戶端(其他裝置,比如手機,Ipad)連線的一定是
C#.網路程式設計 Socket基礎(三) 基於WinForm系統Socket TCP協議 實現端到端(伺服器與客戶端).txt.word.png等不同型別檔案傳輸
一、簡介: 前面的兩篇介紹了字串傳輸、圖片傳輸: 其實,本文針對Socket基礎(二)進一步完成,以便可以進行多種檔案傳輸。 二、基於不同的流(檔案流、記憶體流、網路等)讀寫。 1、圖片傳輸 方法一:(在客戶端用檔案流傳送(即將圖片寫到檔案流去,以便傳送),