android登陆注册
1. 如何在Android Studio上利用云数据库Mysql实现在线登录注册
首先得会android开发和service后台开发。给你个思路:
服务端部署好>连接数据库>写登录注册接口>app端画登录注册页面>调用对应的接口获得登录注册信息
2. 俺是菜鸟,俺想做一个俺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 AsyncTask<String, 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( "http://10.0.2.2:8080/androidserver/userlogin");
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 s=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=s.read(buf, 0, buf.length))!=-1){
// fos.write(buf,0,c);
// }
// fos.close(); // s.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("<userid>fail</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();
}
}
}
3. android如何实现 登陆以及注册
这个个人操作比较难完成,而且需要数据库的数据。
http://www.2cto.com/kf/201308/233461.html这个里面有完成登录以及注册的详细数据。
接着按照手机上给的提示输入数据即可完成。
4. 安卓市场如何注册账号
登入安卓市场himarket官网,在右上角有登陆/注册选项,点击注册按提示申请账号即可。
5. 怎样在Android 设备登陆
Android设备登录就是用安卓系统的手机或电脑登录就是了,Android开发中Android设备如何通过网络进行远程操作。首先需要把Android设备连接到电脑上,先要打开tcpip连接方式。
6. 安卓手机怎么注册ID号
英雄联盟手游账号注册教程
众所周知,拳头已经官宣了关于【英雄联盟手游】的公测日期。首批开启公测的地区为韩国,日本,菲律宾,新加坡,马来西亚,印度尼西亚,泰国等。由于时差,我们需要等到10-28日才可以通过以上地区的应用商店进行下载。
接下来,我们来说一说安卓手机和苹果手机想要玩《英雄联盟手游》需要具备的条件。
无论你是苹果设备还是安卓设备,都需要注册一个拳头账号。这个账号就是你的游戏账号,用于登陆游戏和保存你的角色和游戏进度。
首先我们在神鹿游戏公众号内发送【英雄联盟】,获取账号注册网址。进入网页后可以在右上角选择语言。
ps:必须访问国际版的英雄联盟官网。
ps:国外的网站访问比较慢,建议开启魔法。
随后在弹出的窗口中点击建立账号。
此时会弹出创建拳头账号的窗口,小伙伴们只需要依次输入你的邮箱,生日,昵称,密码即可完成你的注册。
大概这样~
最后完成注册,拳头会给你发送一封邮件代表你注册成功。教程到这里也就结束了,但千万别忘了关注我!
7. 关于安卓编程中实现登陆与注册的代码问题
下面是你给出的登录和注册的代码:
我用注释给你解释了一下
登录:
//调用网络接口,实现登陆指令
/*
*如果没猜错,flags是个标志,来判断是否成功登录和注册
*
*UserDataServiceHelper是一个类,其中关于服务器的交互应该在这里面实现的
*从下面代码中可以看出,其中它有两个方法:Login与Register
*
*UserDataWriteHelper是另外一个类,来实现数据存储的,将数据保存到数据库里的
*/
Booleanflags=UserDataServiceHelper.Login(Account,PassWord);
if(flags)
{
//保存登陆信息
UserDataWriteHelperuw=newUserDataWriteHelper(Main.this);
uw.SaveUserInfoInDB("xuwenbing",Account);
注册:
//调用网络接口,实现注册指令
Booleanflags=UserDataServiceHelper.Register(Account,PassWord,NiceName);
if(flags){
//保存注册信息
UserDataWriteHelperuw=newUserDataWriteHelper(Main.this);
uw.SaveUserInfoInDB("xuwenbing",Account);
按照包的名称,你服务端和客户端的判断是对的哦。
8. android 注册完成后怎样直接在登陆界面显示刚注册的账号 怎样记住上一次登录密码
显示刚注册的账号:startActivityForResult启动注册的Activity,然后在登录的Activity中的onActivityResult给显示出来。
记住上次密码:保存到SharedPreference或者数据库或者文件里面都行。
9. android登录注册
sql语句有问题 你那个user_name列应该是varchar类型的吧,图看不太清楚,单引号把等号右边的东西包起来
10. android studio登录注册
我们项目的前提是你已经将基本的运行环境及sdk都已经安装好了,读者可自行网络环境配置相关内容,本文不再赘述。右键点击new-->Mole,Mole相当于新建了一个项目。如图所示
选择Android Application,点击next
将My Mole 和app改成自己项目相应的名字,同时选择支持的Android版本
这一步我们选择Blank Activity,自己手动编写登录界面,而不依赖系统内置的Login Activity,一直点击next,最后点击finish就完成了项目的创建
在project下我们可以看到出现了我们刚才创建的login项目
展开res/layout,点击打开activity_main.xml文件,在这个文件里我们将完成登录界面的编写
这是初始的主界面,还没有经过我们编写的界面,Android Studio有一个很强大的预览功能,相当给力
我们将activity_main.xml的代码替换成如下代码:
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical"
android:stretchColumns="0,3">
<TableRow>
<TextView />
<TextView
android:text="账 号:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24px"
/>
<EditText
android:id="@+id/account"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="24px"
android:minWidth="220px"/>
<TextView />
</TableRow>
<TableRow android:layout_marginTop="20px">
<TextView />
<TextView
android:text="密 码:"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<EditText
android:id="@+id/pwd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="220px"
android:textSize="24px"
android:inputType="textPassword"/>
<TextView />
</TableRow>
<TableRow android:layout_marginTop="20px">
<TextView />
<Button
android:id="@+id/login"
android:text="登录"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/quit"
android:text="退出"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView />
</TableRow>
</TableLayout>
预览效果如图
10
使用Android 手机进行测试,大功告成