當前位置:首頁 » 安卓系統 » 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

熱點內容
引流腳本什麼意思 發布:2024-04-23 17:16:49 瀏覽:395
江叔常用的密碼是多少 發布:2024-04-23 17:11:54 瀏覽:594
內存儲存公司股票 發布:2024-04-23 16:57:16 瀏覽:928
linuxrootkit 發布:2024-04-23 16:56:37 瀏覽:324
線索一這廁所的密碼是多少 發布:2024-04-23 16:48:44 瀏覽:573
河源中考成績查詢密碼是什麼 發布:2024-04-23 16:48:42 瀏覽:607
ipad解壓視頻文件 發布:2024-04-23 16:47:44 瀏覽:137
順序表是線性表的什麼存儲結構 發布:2024-04-23 16:32:28 瀏覽:454
腳本刷皮膚 發布:2024-04-23 16:12:25 瀏覽:858
共享一個ip伺服器 發布:2024-04-23 15:46:26 瀏覽:142