当前位置:首页 » 安卓系统 » android注册php

android注册php

发布时间: 2022-07-05 18:35:31

A. 怎么用php实现手机注册和手机验证

在网络找个短信服务提供商,大概0.5分一条,这种稳定些。30秒以内收到。验证就和验证码一样处理了。

B. android与php交互的问题

1 加入权限:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
2、启动一个新线程
android4.0开始不允许直接在ui线程直接操作httpClient
3 、注意url:http://10.0.2.2/testAndroid.php
(不要填写:127.0.0.1 这个是本机电脑的,模拟器有自己的默认ip)
4、通过handler将数据从新线程中传送出来
步骤:
1 创建一个httpClient 对象
2 使用post发送数据 创建一个HttpPost对象
3 设置请求参数用setEntity()
4 调用httpClient对象的execute() 发送请求,返回一个HttpResponse
5 调用HttpResponse的getEntity() 方法可以获取HttpEntity 对象

C. 安卓怎么搭建php环境

如果纯粹是安卓系统上运行php项目可以下载安装KSWEB;该应用内置了apache/nigux+php+mysql+编辑器。如果是纯环境搭建目前安卓好像还没有;建议做项目还是用电脑,不然就是在安卓手机上安装linux系统。再不然就是你自己去开发一套了

D. android服务端使用php可以吗

本人php新手,前段时间用php为公司做了app的服务端,纯靠看文档自学,谈一点经验,顺便求大神指点。android和php交互 android和java交互都是一样的,android写出接口 通过http请求 php接收到请求之后 服务器做处理 返回值 android接收到再显示出来即可 原理其实是和html和php交互一样的

E. 俺是菜鸟,俺想做一个俺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();
}
}
}

F. androidstudio怎么开发php

目前android stuido是针对android程序开发的一款定制型ide,所以支持php的程度相当于记事本的开发,所以php建议使用eclipse ,zend等进行开发

G. 请问手机怎么搭建php环境

不建议在手机上搭建环境。
非要搭建的话,可以看下这个文章。使用almp,参考资料:http://www.chinaz.com/web/2013/0722/310467.shtml

安卓手机上搭建php环境后期支持肯定不好,肯定不利于扩展。php扩展肯定不支持。

H. 安卓模拟器php怎么回事不能安装

这款模拟器太坑爹,限制重复安装,需清理注册列表及缓存文档文件夹。或重做系统。

bluestacks app player版本不一,最新版BlueStacks(PC版)V 0.7.14.901
软件大小:108.82MB
BlueStacks先把游戏安装程序APK下载到电脑
BlueStacks模拟器开启状态下,在下载好的APK上点鼠标右键,选择打开方式为BlueStacks,开始安装应用程序
BlueStacks这个模拟器对系统和电脑配置要求都很挑剔,有时安装成功未必可以运行软件应用,能否成功还是要看电脑配置和版本兼容性
也可以安装九百万安卓模拟器或安卓SDK版

I. android客户端的php服务器怎么搭建,php服务器又是如何处理android客户端发送的消息,本人小白一个请指导

个人理解,就是andorid应用调用服务器端的PHP文件,PHP文件向服务器传送消息。
android代码:
public class DoAddInformation extends Activity {
private ListView listView;
JSONArray jArray;
String result = null;
InputStream is = null;
StringBuilder sb = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_do_add_information);

Intent intent = getIntent();
String value = intent.getStringExtra("name");
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
listView = new ListView(this);
listView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_expandable_list_item_1, getData(value)));
setContentView(listView);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.do_add_information, menu);
return true;
}

// 读取数据方法
private List<String> getData(String name) {
Toast.makeText(DoAddInformation.this, name, Toast.LENGTH_LONG).show();
// 网络操作

List<String> data = new ArrayList<String>();
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("name", name));
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(
"远程连接的网址+网页");
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
//----
} catch (Exception e) {
Log.e("log_tag", "Error in http connection" + e.toString());
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "utf-8"), 8);
sb = new StringBuilder();
sb.append(reader.readLine() + "\n");

String line = "0";
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
result = sb.toString();
} catch (Exception e) {
Log.e("log_tag", "Error converting result " + e.toString());
}
int ct_id;
String ct_name;
try {
jArray = new JSONArray(result);
JSONObject json_data = null;
for (int i = 0; i < jArray.length(); i++) {
json_data = jArray.getJSONObject(i);
ct_id = json_data.getInt("id");
ct_name = json_data.getString("name");
// tv.append(ct_name+" \n");
data.add(ct_name);
}
} catch (JSONException e1) {

} catch (ParseException e1) {
e1.printStackTrace();
}

return data;
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {

Intent intent = new Intent();
intent.setClass(DoAddInformation.this, MainActivity.class);
startActivity(intent);

}
return super.onKeyDown(keyCode, event);
}
PHP代码:
<?php
mysql_connect("地址","用户","密码");
mysql_query("SET NAMES utf8");
mysql_select_db("024b12");

//$sql=mysql_query("INSERT INTO test (id,name)VALUES (NULL , name='".$_REQUEST['name']."' )");

$count=mysql_query("select * from test ");
while($row=mysql_fetch_assoc($count))
{
$output[]=$row;
//echo $row['name'].'<br>';
}
print(json_encode($output));

mysql_close();
?>

J. 安卓手机是不是必须得获取root权限了才可以搭建PHP环境谢谢!

是的。建议使用z4root工具。永久root

热点内容
java客户端程序 发布:2024-05-04 08:08:11 浏览:939
腾讯视频账号和密码哪里看 发布:2024-05-04 08:08:11 浏览:451
专网数据存储安全问题分析 发布:2024-05-04 07:33:28 浏览:131
如何获得打印机无线密码 发布:2024-05-04 06:44:59 浏览:418
上古诸神录哪里改密码 发布:2024-05-04 06:43:55 浏览:263
灌篮高手手游自动盖帽脚本 发布:2024-05-04 06:42:31 浏览:425
javajs引擎 发布:2024-05-04 06:37:33 浏览:798
javalist重复 发布:2024-05-04 06:19:27 浏览:511
max脚本管理 发布:2024-05-04 06:02:31 浏览:45
自行搭建服务器 发布:2024-05-04 06:01:12 浏览:126