Maison  >  Article  >  base de données  >  利用简易Tomcat服务器结合MysqL实现Android手机注册与登录(客户_MySQL

利用简易Tomcat服务器结合MysqL实现Android手机注册与登录(客户_MySQL

WBOY
WBOYoriginal
2016-06-01 13:11:272252parcourir

AndroidTomcat

package com.example.java4androidmysql;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.conn.params.ConnManagerParams;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import org.apache.http.params.BasicHttpParams;import org.apache.http.params.HttpConnectionParams;import org.apache.http.params.HttpParams;import org.apache.http.protocol.HTTP;import org.apache.http.util.EntityUtils;import android.os.AsyncTask;import android.os.Bundle;import android.app.Activity;import android.content.Intent;import android.view.Menu;import android.view.View;import android.view.Window;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class MainActivity extends Activity {	public static final String URL = "http://192.168.2.1:8080/JavaRegisterMysql/login";		public static String res="";    public static String name = "";    public static String code = "";    public static String phone =" ";    public static String chose="0";	Button connectButton=null;	Button registerButton=null;	EditText noteUser=null;	EditText notePassword=null;			@Override	protected void onCreate(Bundle savedInstanceState) {		super.onCreate(savedInstanceState);		requestWindowFeature(Window.FEATURE_NO_TITLE);		setContentView(R.layout.activity_main);						connectButton=(Button)findViewById(R.id.btnConnect);		registerButton=(Button)findViewById(R.id.btnRegister);        noteUser=(EditText)findViewById(R.id.editUserName);        notePassword=(EditText)findViewById(R.id.editPassword);        //////注意类Class DriverManager Statement ResultSet                        connectButton.setOnClickListener(new View.OnClickListener() {						public void onClick(View v) {									        			            Toast.makeText(MainActivity.this, "正在登录", Toast.LENGTH_SHORT).show();			            name = noteUser.getText().toString().trim();			            code = notePassword.getText().toString().trim();    			            chose="1";			            new SubmitAsyncTask().execute(URL);			            			            Toast.makeText(MainActivity.this, "res = "+res, Toast.LENGTH_SHORT).show();			            if(res.equals("2")){			            	Toast.makeText(MainActivity.this, "登录成功", Toast.LENGTH_SHORT).show();			    			//Intent intent=new Intent();			    			//intent.setClass(MainActivity.this, WriteNote.class);			    			//MainActivity.this.startActivity(intent);			            }else if(res.equals("1")){			            	Toast.makeText(MainActivity.this, "用户名或密码错误", Toast.LENGTH_SHORT).show();			            }else if(res.equals("3")){			            	Toast.makeText(MainActivity.this, "注册失败", Toast.LENGTH_SHORT).show();			            }else if(res.equals("4")){			            	Toast.makeText(MainActivity.this, "注册成功", Toast.LENGTH_SHORT).show();			            }else if(res.equals("-1")){			            	Toast.makeText(MainActivity.this, "网络异常", Toast.LENGTH_SHORT).show();			            }					}				});        noteUser.setText("ab");        notePassword.setText("123456");        		registerButton.setOnClickListener(new View.OnClickListener() {						public void onClick(View v) {									            						Intent intent=new Intent();						intent.setClass(MainActivity.this, Register.class);						MainActivity.this.startActivity(intent);			                									}				});	    	}			@Override	public boolean onCreateOptionsMenu(Menu menu) {		// Inflate the menu; this adds items to the action bar if it is present.		getMenuInflater().inflate(R.menu.main, menu);		return true;	}			}

以上为手机主界面函数调用

package com.example.java4androidmysql;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.Window;import android.widget.Button;import android.widget.EditText;import android.widget.Toast;public class Register extends Activity{	public static final String URL = "http://192.168.2.1:8080/JavaRegisterMysql/login";	Button backButton=null;	Button registerButton=null;	EditText user=null;	EditText password=null;	EditText phone=null;	@Override	protected void onCreate(Bundle savedInstanceState) {		// TODO Auto-generated method stub		super.onCreate(savedInstanceState);		requestWindowFeature(Window.FEATURE_NO_TITLE);		setContentView(R.layout.register);				backButton=(Button)findViewById(R.id.btnBack);		registerButton=(Button)findViewById(R.id.btnRegister);        user=(EditText)findViewById(R.id.editUserName);        password=(EditText)findViewById(R.id.editPassword);        phone=(EditText)findViewById(R.id.editPhone);        //////注意类Class DriverManager Statement ResultSet                        registerButton.setOnClickListener(new View.OnClickListener() {						public void onClick(View v) {									            			            MainActivity.name = user.getText().toString().trim();			            MainActivity.code = password.getText().toString().trim();			            MainActivity.phone = phone.getText().toString().trim();			            MainActivity.chose="2";			            			            new SubmitAsyncTask().execute(URL);			         			            Toast.makeText(Register.this, "res = "+MainActivity.res, Toast.LENGTH_SHORT).show();			            if(MainActivity.res.equals("2")){			            	Toast.makeText(Register.this, "登录成功", Toast.LENGTH_SHORT).show();			    			//Intent intent=new Intent();			    			//intent.setClass(MainActivity.this, WriteNote.class);			    			//MainActivity.this.startActivity(intent);			            }else if(MainActivity.res.equals("1")){			            	Toast.makeText(Register.this, "用户名或密码错误", Toast.LENGTH_SHORT).show();			            }else if(MainActivity.res.equals("3")){			            	Toast.makeText(Register.this, "注册失败", Toast.LENGTH_SHORT).show();			            }else if(MainActivity.res.equals("4")){			            	Toast.makeText(Register.this, "注册成功", Toast.LENGTH_SHORT).show();			            }else if(MainActivity.res.equals("-1")){			            	Toast.makeText(Register.this, "网络异常", Toast.LENGTH_SHORT).show();			            }			                									}				});        user.setText("gjw");        password.setText("123");        phone.setText("13570236302");	}}

以上为注册界面

package com.example.java4androidmysql;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.ArrayList;import java.util.List;import org.apache.http.HttpResponse;import org.apache.http.HttpStatus;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpPost;import org.apache.http.conn.params.ConnManagerParams;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import org.apache.http.params.BasicHttpParams;import org.apache.http.params.HttpConnectionParams;import org.apache.http.params.HttpParams;import org.apache.http.protocol.HTTP;import org.apache.http.util.EntityUtils;import android.os.AsyncTask;public class SubmitAsyncTask extends AsyncTask<String, Integer, String>{    String info = "";    protected String doInBackground(String... params) {        // TODO Auto-generated method stub        String url = params[0];        String reps = "";                    reps = doPost(url);        return reps;    }    protected void onPostExecute(String result) {        // TODO Auto-generated method stub        MainActivity.res = result.trim();        super.onPostExecute(result);    }     /** * 用Post方式跟服务器传递数据 * @param url * @return */private String doPost(String url){    String responseStr = "";    try {    	//发送post类型请求        HttpPost httpRequest = new HttpPost(url);        HttpParams params = new BasicHttpParams();        ConnManagerParams.setTimeout(params, 1000); //从连接池中获取连接的超时时间        HttpConnectionParams.setConnectionTimeout(params, 3000);//通过网络与服务器建立连接的超时时间        HttpConnectionParams.setSoTimeout(params, 5000);//读响应数据的超时时间        httpRequest.setParams(params);                //下面开始跟服务器传递数据,使用BasicNameValuePair        List<BasicNameValuePair> paramsList = new ArrayList<BasicNameValuePair>();                paramsList.add(new BasicNameValuePair("NAME", MainActivity.name));        paramsList.add(new BasicNameValuePair("CODE", MainActivity.code));        paramsList.add(new BasicNameValuePair("PHONE", MainActivity.phone));        paramsList.add(new BasicNameValuePair("CHOSE", MainActivity.chose));                UrlEncodedFormEntity mUrlEncodeFormEntity = new UrlEncodedFormEntity(paramsList, HTTP.UTF_8);        httpRequest.setEntity(mUrlEncodeFormEntity);                ////////////////////////////////////////////////        HttpClient httpClient = new DefaultHttpClient();        HttpResponse httpResponse = httpClient.execute(httpRequest);        final int ret = httpResponse.getStatusLine().getStatusCode();        if(ret == HttpStatus.SC_OK){            responseStr = EntityUtils.toString(httpResponse.getEntity(), HTTP.UTF_8);        }else{            responseStr = "-1";        }        } catch (UnsupportedEncodingException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (ClientProtocolException e) {            // TODO Auto-generated catch block            e.printStackTrace();        } catch (IOException e) {            // TODO Auto-generated catch block            e.printStackTrace();        }         return responseStr;	}}

以上为接口类,但写得可能有些不对(如返回变量那里是上次调用的),略忙,等再改一下。

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical"    android:background="@drawable/ab" >    <TextView        android:id="@+id/FRppt01"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/Title"         android:textSize="15pt"        android:textColor="#FFFFFF"        android:textStyle="bold"        android:layout_marginTop="40dp"        android:gravity="center_horizontal"        android:padding="3dip"/>       	<EditText        android:id="@+id/editUserName"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:hint="输入用户名"/>		<EditText        android:id="@+id/editPassword"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:hint="输入密码"/>    	      <TableLayout             android:layout_width="fill_parent"            android:layout_height="fill_parent">            <TableRow>			    <Button			        android:id="@+id/btnConnect"			        android:layout_width="fill_parent"			        android:layout_height="wrap_content"			        android:text="登录"			        android:layout_marginTop="260dp"			       			        android:layout_weight="1" />			    <Button			        android:id="@+id/btnRegister"			        android:layout_width="fill_parent"			        android:layout_height="wrap_content"			        android:text="注册" 			        android:layout_marginTop="260dp"			       			        android:layout_weight="1"/>"		    </TableRow>	     </TableLayout></LinearLayout>

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical"    android:background="@drawable/ab" >    <TextView        android:id="@+id/FRppt01"        android:layout_width="fill_parent"        android:layout_height="wrap_content"        android:text="@string/RegisterPage"         android:textSize="15pt"        android:textColor="#FFFFFF"        android:textStyle="bold"        android:layout_marginTop="40dp"        android:gravity="center_horizontal"        android:padding="3dip"/>        <TableLayout		android:layout_below="@id/FRppt01" 		android:layout_width="fill_parent"		android:layout_height="wrap_content"		android:stretchColumns="1"		android:layout_marginLeft="10dip"		android:layout_marginRight="10dip"		>		<TableRow 		    android:layout_width="fill_parent"		    android:layout_height="wrap_content"		    android:layout_marginBottom="5dip">    		    <TextView 		        android:id="@+id/textUserName"		        android:layout_width="wrap_content"		        android:layout_height="wrap_content"		        android:textSize="12pt"		        android:layout_weight="1"		        android:layout_below="@id/FRppt01"		        android:text="@string/userName"/>"			<EditText		        android:id="@+id/editUserName"		        android:layout_width="fill_parent"		        android:layout_height="wrap_content"		        android:layout_weight="1"		        />		</TableRow>		<TableRow 		    android:layout_width="fill_parent"		    android:layout_height="wrap_content"		    android:layout_marginBottom="5dip">			<TextView 		        android:id="@+id/textPassword"		        android:layout_width="wrap_content"		        android:layout_height="wrap_content"		        android:layout_weight="1"		        android:textSize="12pt"		        android:text="@string/passWord"/>			<EditText		        android:id="@+id/editPassword"		        android:layout_width="fill_parent"		        android:layout_height="wrap_content"		        android:layout_weight="1"		        />		</TableRow>		<TableRow 		    android:layout_width="fill_parent"		    android:layout_height="wrap_content"		    android:layout_marginBottom="5dip">		    				<TextView 		        android:id="@+id/textPhone"		        android:layout_width="wrap_content"		        android:layout_height="wrap_content"		        android:layout_weight="1"		        android:textSize="12pt"		        android:text="@string/phone"/>			<EditText		        android:id="@+id/editPhone"		        android:layout_width="fill_parent"		        android:layout_height="wrap_content"		        android:layout_weight="1"		        		        />		</TableRow>	</TableLayout>		      <TableLayout             android:layout_width="fill_parent"            android:layout_height="fill_parent"            >          <TableRow>              <Button                  android:id="@+id/btnBack"                  android:layout_width="fill_parent"                  android:layout_height="wrap_content"                  android:layout_marginTop="260dp"                  android:layout_weight="1"                  android:text="@string/Back" />              <Button                  android:id="@+id/btnRegister"                  android:layout_width="fill_parent"                  android:layout_height="wrap_content"                  android:layout_marginTop="260dp"                  android:layout_weight="1"                  android:text="@string/Register" />          </TableRow>	     </TableLayout></RelativeLayout>

以上两段代码为布局文件代码。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn