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/n/129602.html

(0)
KCOGVKCOGV
上一篇 2024-10-03
下一篇 2024-10-03

相关推荐

  • 办公效率提升利器——WPS Office

    在现代社会中,高效率的工具对于我们的工作和学习至关重要。WPS Office是一款功能强大、易于使用、并且是免费的办公软件套件。它可以让用户轻松地处理各种办公任务,如处理文本、制作…

    编程 2024-10-04
  • Python 程序:打印范围内正数

    编写一个 Python 程序来打印一个范围或从 1 到 n 的正数。这个 Python 示例允许最小和最大数字,并打印该范围内的正数。 minimum = int(input(“E…

    编程 2024-10-03
  • CentOS查看防火墙开放端口

    一、CentOS查看防火墙状态 在Linux系统中,防火墙是非常重要的组成部分之一,负责保障系统的安全。在CentOS系统中,默认开启了iptables防火墙。如果要查看CentO…

    编程 2024-10-04
  • python学习笔记day26(Python第六章)

    本文目录一览: 1、python3.4学习笔记 3.x和2.x的区别,持续更新 2、零基础如何学python文档 3、python 学习,需要有哪些基础呢? 4、零基础学习pyth…

  • Python如何在文件系统中创建新的目录?

    一、使用os模块的mkdir函数创建新目录 在Python中,可以使用内置的os库来操作文件和目录。我们可以使用该模块中的mkdir函数来创建新目录。下面是示例代码: import…

    编程 2024-10-04
  • java学习c语言,c语言基础学java

    本文目录一览: 1、java和c语言关系大吗?学了c再学java会不会更简单? 2、学java需要学习c语言吗 3、学JAVA前一定要先学C语言吗? 4、学习java需要先学习C语…

    编程 2024-10-10
  • php培训真本事,php程序员培训

    本文目录一览: 1、北大青鸟设计培训:4个多月能学会PHP吗? 2、曲靖java培训学校告诉你学习PHP有哪些优势? 3、我来告诉你参加php培训班有用吗 4、大学生PHP培训课程…

    编程 2024-10-04
  • macbrewmysql详解及使用指南

    MySQL是世界上应用最广泛的开源关系型数据库管理系统,而macOS是苹果公司的操作系统,两者结合在一起可以为开发者提供强大的数据库管理工具。macOS提供了多种方式安装MySQL…

    编程 2024-10-14
  • cjs121o接触器(cjx112接触器)

    本文目录一览: 1、CJX2(LC1-D)25.01.M7交流接触器220V控制自锁怎么接线? 2、电机正反转控制 电箱接线请教 3、东方神起的详细资料 4、两个按钮开关一个热保护…

    编程 2024-10-03
  • 大陆省市区三级联动数据库 – 详细地址选择

    一、概述 大陆省市区三级联动数据库是一个存储了中国大陆所有省市区数据以及详细地址信息的数据库。 详细地址选择是指在表单中选择地址时,能够通过省市区三级联动方式展现出所有可选地址选项…

    编程 2024-10-04

发表回复

登录后才能评论