移动端向服务端提交数据——实现简单登录
生活随笔
收集整理的這篇文章主要介紹了
移动端向服务端提交数据——实现简单登录
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
移動端通過網絡連接與服務端進行數據交互,在App開發中占有很大比重,可以說服務端是移動端的“后勤部隊”,服務端可以向移動端源源不斷的更新“新鮮的血液”,使得移動端在應用市場上不那么輕易地“倒下”。
服務器端:
新建一個WEB工程
在src中新建一個servlet
移動端:
新建android 工程
頁面布局
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:paddingBottom="@dimen/activity_vertical_margin"android:paddingLeft="@dimen/activity_horizontal_margin"android:paddingRight="@dimen/activity_horizontal_margin"android:paddingTop="@dimen/activity_vertical_margin"android:orientation="vertical"tools:context=".MainActivity" ><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="賬號" /><EditText android:id="@+id/edt_username"android:layout_width="match_parent"android:layout_height="wrap_content"/><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:text="密碼" /><EditText android:id="@+id/edt_password"android:layout_width="match_parent"android:layout_height="wrap_content"/><Button android:id="@+id/btn_submit_get"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="GET提交"/><Button android:id="@+id/btn_submit_post"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="POST提交"/></LinearLayout>
NetUils.class
package com.example.Utils;import java.io.ByteArrayOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL;import android.media.MediaRecorder.OutputFormat;public class NetUilts {/** 用post方式登錄* @param username* @param password* @return 登錄狀態* */public static String loginofPost(String username,String password){HttpURLConnection conn=null;try {URL url=new URL("http://192.168.1.106:8080/server_login/servlet/login");conn=(HttpURLConnection) url.openConnection();conn.setRequestMethod("POST");//設置請求方式conn.setConnectTimeout(10000);//設置連接超時時間conn.setReadTimeout(5000);//設置讀取超時時間//POST請求的參數OutputStream out=conn.getOutputStream();//獲得輸出流對象,用于向服務器寫數據String data="username="+username+"&"+"password="+password;out.write(data.getBytes());//向服務器寫數據;out.close();//關閉輸出流conn.connect();//開始連接int responseCode=conn.getResponseCode();//獲取響應嗎if(responseCode==200){//訪問成功InputStream is=conn.getInputStream();//得到InputStream輸入流String state=getstateFromInputstream(is);return state;}else{//訪問失敗}} catch (Exception e) {e.printStackTrace();}finally{if(conn!=null){//如果conn不等于空,則關閉連接conn.disconnect();}}return null;}/** 使用GET的方式登錄* @param username* @param password* @return 登錄狀態* */public static String loginOfGet(String username,String password){HttpURLConnection conn=null;try {String data="username="+username+"&"+"password="+password;URL url=new URL("http://192.168.1.106:8080/server_login/servlet/login?"+data);conn=(HttpURLConnection) url.openConnection();conn.setRequestMethod("GET");//設置請求方式conn.setConnectTimeout(10000);//設置連接超時時間conn.setReadTimeout(5000);//設置讀取超時時間conn.connect();//開始連接int responseCode=conn.getResponseCode();//獲取響應嗎if(responseCode==200){//訪問成功InputStream is=conn.getInputStream();//得到InputStream輸入流String state=getstateFromInputstream(is);return state;}else{//訪問失敗}} catch (Exception e) {e.printStackTrace();}finally{if(conn!=null){//如果conn不等于空,則關閉連接conn.disconnect();}}return null;}private static String getstateFromInputstream(InputStream is) throws IOException {ByteArrayOutputStream baos=new ByteArrayOutputStream();//定義一個緩存流byte[] buffer=new byte[1024];//定義一個數組,用于讀取isint len=-1;while((len =is.read(buffer)) != -1){//將字節寫入緩存baos.write(buffer,0,len);}is.close();//關閉輸入流String state =baos.toString();//將緩存流中的數據轉換成字符串 // String state=new String (baos.toByteArray(),"GBK");//把流中的數據轉換成字符串,采用的是GBkbaos.close();return state;} }
最后在AndroidManifest中添加權限 <uses-permission android:name="android.permission.INTERNET"/>
如有不妥之處,請予以指正,謝謝!
總結
以上是生活随笔為你收集整理的移动端向服务端提交数据——实现简单登录的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决客户端从服务器请求数据乱码问题
- 下一篇: android 判断是否有网络连接,判断