android註冊mysql(android註冊和登錄實現)

本文目錄一覽:

如何在Android Studio上利用雲資料庫Mysql實現在線登錄註冊?

首先得會android開發和service後台開發。給你個思路:

服務端部署好連接資料庫寫登錄註冊介面app端畫登錄註冊頁面調用對應的介面獲得登錄註冊信息

Android+jsp+mysql實現註冊登錄功能。

這個還是你自己寫吧,以前做的東西都刪了,,一下子找不到,這個很好實現的

web端也就是你說的JSP 接收兩個參數username,password 返回一個JSON字元串,或都xml

看你的喜好,和編號習慣,返回內容自己按需要來,主要就是true或false,

android 這邊解析返回值判斷是否認證成功,成功則跳轉activity

俺是菜鳥,俺想做一個俺android的登陸註冊功能,利用socket通信,資料庫是mysql。

給段用xml傳輸的代碼你看看吧。

客戶端

package com.example.xword;

import java.io.BufferedInputStream;import java.io.ByteArrayOutputStream;

import java.io.FileInputStream;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.HttpURLConnection;

import java.net.URL;

import java.util.HashMap;

import javax.xml.parsers.DocumentBuilder;import javax.xml.parsers.DocumentBuilderFactory;

import org.apache.http.util.ByteArrayBuffer;import org.w3c.dom.Document;

import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

import com.data.User;

import android.os.AsyncTask;import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.util.Base64;

import android.view.Menu;

import android.view.MenuItem;

import android.view.View;

import android.widget.Button;

import android.widget.EditText;

import android.widget.Toast;

import android.support.v4.app.NavUtils;

public class UserLoginActivity extends Activity {

EditText uname; EditText upass;

Button loginbut;

User user;

@Override public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_user_login);

uname = (EditText) findViewById(R.id.uname); upass = (EditText) findViewById(R.id.password);

loginbut = (Button) findViewById(R.id.loginbut);

loginbut.setOnClickListener(new View.OnClickListener() {

public void onClick(View v) { // TODO Auto-generated method stub

String username = uname.getText().toString();

String userpass = upass.getText().toString();

// Toast.makeText(UserLoginActivity.this, “��ϲ”,

// Toast.LENGTH_LONG).show();

LoginTask task = new LoginTask();

task.execute(username, userpass);

}

});

}

public class LoginTask extends AsyncTaskString, Integer, String {

@Override protected String doInBackground(String… params) {

// TODO Auto-generated method stub

StringBuffer sbuf = new StringBuffer(); sbuf.append(“?xml version=\”1.0\” encoding=\”UTF-8\”?\n”);

sbuf.append(“ulogin\n”);

sbuf.append(“username” + params[0] + “/username\n”);

sbuf.append(“password” + params[1] + “/password”);

// sbuf.append(“image”+imgString+”/image”);

sbuf.append(“/ulogin”);

String dataString = sbuf.toString();

try {

URL url = new URL( “”);

HttpURLConnection con = (HttpURLConnection) url

.openConnection();

con.setDoOutput(true); OutputStream os = con.getOutputStream();

os.write(dataString.getBytes());

int code = con.getResponseCode();

if (HttpURLConnection.HTTP_OK == code) {

// byte buf[]=new byte[1024]; InputStream is = con.getInputStream();

// int c=is.read(buf, 0, buf.length);

// String result=new String(buf,0,c);

System.out.println(“0”); DocumentBuilderFactory dbf = DocumentBuilderFactory

.newInstance();

try {

DocumentBuilder builder = dbf.newDocumentBuilder();

Document doc = builder.parse(is);

// root university

// Element root = doc.getDocumentElement();

// System.err.println(root.getAttribute(“name”));

// all college node

NodeList info = doc.getElementsByTagName(“userid”);

Node node = info.item(0); String nodeValue = node.getTextContent();

if (info == null)

return “LOGINFAIL”;

if (“fail”.equals(nodeValue)) {

return “LOGINFAIL”;

} else { user.setUser_id(Integer.parseInt(nodeValue));

return “LOGINSUCCESS”;

}

} catch (Exception e) { e.printStackTrace();

return “LOGINFAIL”;

}

// //////////////////////////////////////////}

} else { return “LOGINFAIL”;

}

} catch (Exception ex) { ex.printStackTrace();

return “LOGINFAIL”;

}

}

@Override protected void onPostExecute(String result) {

// TODO Auto-generated method stub

super.onPostExecute(result);

if (“LOGINSUCCESS”.equals(result)) {

Toast.makeText(UserLoginActivity.this, “登陸成功”, Toast.LENGTH_LONG).show();

Intent intent = new Intent();

intent.setClass(UserLoginActivity.this, MainActivity.class);

startActivity(intent);

UserLoginActivity.this.finish();

} else if (“LOGINFAIL”.equals(result)) {

Toast.makeText(UserLoginActivity.this, “登錄失敗,請檢查用戶名密碼”, Toast.LENGTH_LONG).show();

}

}

}

@Override public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.activity_user_login, menu);

return true;

}

}

伺服器端(servlet)

package com.main;

import java.io.ByteArrayInputStream;import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.PrintWriter;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.Statement;

import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import javax.xml.parsers.ParserConfigurationException;

import javax.xml.parsers.SAXParserFactory;

import org.w3c.dom.Document;import org.w3c.dom.Node;

import org.w3c.dom.NodeList;

import org.xml.sax.Attributes;

import org.xml.sax.InputSource;

import org.xml.sax.SAXException;

import org.xml.sax.XMLReader;

import org.xml.sax.helpers.DefaultHandler;

/**

* Servlet implementation class LoginServlet

*/

public class LoginServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

/** * @see HttpServlet#HttpServlet()

*/

public LoginServlet() {

super();

// TODO Auto-generated constructor stub

}

/** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse

* response)

*/

protected void doGet(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doPost(request, response);

}

public class XMLHandler extends DefaultHandler { String username = “”;

String password = “”;

// String image=””;

StringBuffer temp = new StringBuffer();;

@Override public void characters(char[] ch, int start, int length)

throws SAXException {

// TODO Auto-generated method stub

temp.append(new String(ch, start, length));

}

@Override public void endElement(String uri, String localName, String qName)

throws SAXException {

// TODO Auto-generated method stub

// super.endElement(uri, localName, qName);

if (“username”.equals(qName)) {

username = temp.toString(); } else if (“password”.equals(qName)) {

password = temp.toString(); }

// }else if(“image”.equals(qName)){ // image=temp.toString();

// }

}

@Override public void startElement(String uri, String localName, String qName,

Attributes attributes) throws SAXException {

// TODO Auto-generated method stub

super.startElement(uri, localName, qName, attributes);

temp = new StringBuffer();

}

}

/** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse

* response)

*/

protected void doPost(HttpServletRequest request,

HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

String username = “”; String password = “”;

XMLReader reader = null; try {

reader = SAXParserFactory.newInstance().newSAXParser()

.getXMLReader();

XMLHandler handler = new XMLHandler(); reader.setContentHandler(handler);

reader.parse(new InputSource(request.getInputStream()));

// System.out.println(handler.image);

// BASE64Decoder decoder=new BASE64Decoder();

// byte[] imgbuffer=decoder.decodeBuffer(handler.image);

// ByteArrayInputStream bais=new ByteArrayInputStream(imgbuffer); // String path=request.getRealPath(“/upload”);

// System.out.println(path); // FileOutputStream fos=new FileOutputStream(path+”/upload.png”);

// byte[] buf=new byte[1024];

// int c=0;

// while((c=bais.read(buf, 0, buf.length))!=-1){

// fos.write(buf,0,c);

// }

// fos.close(); // bais.close();

//PrintWriter out = response.getWriter();

try { Class.forName(“com.mysql.jdbc.Driver”); // 載入驅動

// Class.forName(“org.gjt.mm.mysql.Driver”);

System.out.println(“Success loading Mysql Driver!”);

} catch (Exception e) {

System.out.print(“Error loading Mysql Driver!”);

e.printStackTrace();

}

try {

Connection connect = DriverManager.getConnection(

“jdbc:mysql://localhost:3306/xword”, “root”, “123456”);

//填寫資料庫用戶名密碼等

System.out.println(“Success connect Mysql server!”);

Statement stmt = connect.createStatement();

System.out.println(“Step0”);

// ResultSet rs = stmt.executeQuery(“select * from user”);

String sqlstr;

ResultSet rs1;

sqlstr = “select*from user where(user_name='” + handler.username

+ “‘and user_password='” + handler.password + “‘)”;

rs1 = stmt.executeQuery(sqlstr);

System.out.println(“Step1”);

StringBuffer sbuf=new StringBuffer();

sbuf.append(“?xml version=\”1.0\” encoding=\”UTF-8\”?\n”);

sbuf.append(“ulogin\n”);

if (rs1.next()) {

sbuf.append(“userid”+rs1.getInt(1)+”/userid”);

}

else

{

sbuf.append(“useridfail/userid”);

}

sbuf.append(“/ulogin”);

String dataString=sbuf.toString();

System.out.println(“sbuf=” + sbuf);

response.getOutputStream().write(dataString.getBytes());

connect.close();

} catch (Exception e) {

// out.print(“FAIL”);

System.out.println(“stepfail”);

e.printStackTrace();

}

} catch (Exception e) { e.printStackTrace();

}

}

}

android-webservice-mysql實現登陸註冊代碼,webService是在vs中創建還是eclipse中創建?

在elipse中創建一個Web 工程, 重寫do get或者do post方法 ,接收android客戶端的數據。

這是我寫的一個簡單的註冊的伺服器端代碼:

public void doGet(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {

String name = request.getParameter(“name” );

String password = request.getParameter(“password”);

System.out.println(“用戶名:” + name + “||密碼:” + password );

//鏈接資料庫

try {

Class.forName(“com.mysql.jdbc.Driver”);

Connection con =(Connection) DriverManager

.getConnection(“jdbc:mysql://localhost:3306/musicdb?user=rootpassword=root”);

Statement sta = (Statement) con.createStatement();

//註冊 插入數據到資料庫

PreparedStatement psta = (PreparedStatement)con.prepareStatement(“insert into usertable values (? ,? )”);

psta.setString(1, name);

psta.setString(2, password);

psta.execute();

//列印資料庫中所有用戶名和密碼

ResultSet res = (ResultSet) sta.executeQuery(“select * from usertable”);

while(res.next()){

System.out.println(“yonghuming :” + res.getString(“name”));

System.out.println(“pass : ” + res.getString(“password”));

android 端

private String SERVER_URL = “”;

inname = (EditText) findViewById(R.id.addname);

inpassword = (EditText) findViewById(R.id.addpassword);

add_user = (Button) findViewById(R.id.add_user);

add_user.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View arg0) {

// TODO Auto-generated method stub

String mname = inname.getText().toString();

String mpass = inpassword.getText().toString();

MapString, String userinfo = new HashMapString, String();

userinfo.put(“name”, mname);

userinfo.put(“password”, mpass);

try {

register(SERVER_URL, userinfo);

} catch (Exception e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

});

//通過URL拼接的 用戶名和密碼 發送給服務端

private void register(String SERVER_URL, MapString, String param)

throws Exception {

StringBuilder sb = new StringBuilder(SERVER_URL);

sb.append(“?”);

for (Map.EntryString, String entry : param.entrySet()) {

sb.append(entry.getKey()).append(“=”).append(entry.getValue())

.append(“”);

}

sb.deleteCharAt(sb.length() – 1);

String newurl = sb.toString();

URL url = new URL(newurl);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod(“GET”);

conn.setConnectTimeout(5000);

if (conn.getResponseCode() == 200) {

Toast.makeText(MainActivity.this, “連接成功”, 1).show();

}

}

Android 開發。。。如何連接到伺服器上的mysql資料庫

1、打開Tableau軟體。

2、在連接中,找到紅框位置的MySQL,點擊開始連接Mysql。

3、在彈出的連接界面,輸入Mysql伺服器地址、埠、用戶名、密碼。

4、輸入完成後,點擊紅框位置 確認 進行連接。

5、此時已經連接到MySQL伺服器上,為了測試 我們點擊紅框位置 選擇資料庫查看一下。

原創文章,作者:KCOGV,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/129602.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
KCOGV的頭像KCOGV
上一篇 2024-10-03 23:26
下一篇 2024-10-03 23:26

相關推薦

  • 如何修改mysql的埠號

    本文將介紹如何修改mysql的埠號,方便開發者根據實際需求配置對應埠號。 一、為什麼需要修改mysql埠號 默認情況下,mysql使用的埠號是3306。在某些情況下,我們需…

    編程 2025-04-29
  • Python操作MySQL

    本文將從以下幾個方面對Python操作MySQL進行詳細闡述: 一、連接MySQL資料庫 在使用Python操作MySQL之前,我們需要先連接MySQL資料庫。在Python中,我…

    編程 2025-04-29
  • MySQL遞歸函數的用法

    本文將從多個方面對MySQL遞歸函數的用法做詳細的闡述,包括函數的定義、使用方法、示例及注意事項。 一、遞歸函數的定義 遞歸函數是指在函數內部調用自身的函數。MySQL提供了CRE…

    編程 2025-04-29
  • MySQL bigint與long的區別

    本文將從數據類型定義、存儲空間、數據範圍、計算效率、應用場景五個方面詳細闡述MySQL bigint與long的區別。 一、數據類型定義 bigint在MySQL中是一種有符號的整…

    編程 2025-04-28
  • Android ViewPager和ScrollView滑動衝突問題

    Android開發中,ViewPager和ScrollView是兩個常用的控制項。但是當它們同時使用時,可能會發生滑動衝突的問題。本文將從多個方面介紹解決Android ViewPa…

    編程 2025-04-28
  • MySQL左連接索引不生效問題解決

    在MySQL資料庫中,經常會使用左連接查詢操作,但是左連接查詢中索引不生效的情況也比較常見。本文將從多個方面探討MySQL左連接索引不生效問題,並給出相應的解決方法。 一、索引的作…

    編程 2025-04-28
  • Android如何點擊其他區域收起軟鍵盤

    在Android應用中,當輸入框獲取焦點彈出軟鍵盤後,我們希望能夠點擊其他區域使軟鍵盤消失,以提升用戶體驗。本篇文章將說明如何實現這一功能。 一、獲取焦點並顯示軟鍵盤 在Andro…

    編程 2025-04-28
  • CentOS 7在線安裝MySQL 8

    在本文中,我們將介紹如何在CentOS 7操作系統中在線安裝MySQL 8。我們會從安裝環境的準備開始,到安裝MySQL 8的過程進行詳細的闡述。 一、環境準備 在進行MySQL …

    編程 2025-04-27
  • 如何使用MySQL欄位去重

    本文將從多個方面為您詳細介紹如何使用MySQL欄位去重並給出相應的代碼示例。 一、SELECT DISTINCT語句去重 MySQL提供了SELECT DISTINCT語句,通過在…

    編程 2025-04-27
  • MySQL正則表達式替換

    MySQL正則表達式替換是指通過正則表達式對MySQL中的字元串進行替換。在文本處理方面,正則表達式是一種強大的工具,可以方便快捷地進行字元串處理和匹配。在MySQL中,可以使用正…

    編程 2025-04-27

發表回復

登錄後才能評論