本文目錄一覽:
- 1、如何在Android Studio上利用雲資料庫Mysql實現在線登錄註冊?
- 2、Android+jsp+mysql實現註冊登錄功能。
- 3、俺是菜鳥,俺想做一個俺android的登陸註冊功能,利用socket通信,資料庫是mysql。
- 4、android-webservice-mysql實現登陸註冊代碼,webService是在vs中創建還是eclipse中創建?
- 5、Android 開發。。。如何連接到伺服器上的mysql資料庫
如何在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