Android
創(chuàng)新互聯(lián)建站是專業(yè)的沈河網(wǎng)站建設(shè)公司,沈河接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行沈河網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!
Studio怎么連接mysql數(shù)據(jù)庫(kù),建議使用mysql的客戶端查連接,或者使用java程序去連接,mysql安裝后就會(huì)自動(dòng)一個(gè)客戶端,這個(gè)就可以連接數(shù)據(jù)庫(kù)的。
android
studio是開發(fā)android應(yīng)用的,寫不了jsp,如果你要寫java
web
jsp這種,建議使用IDEA或者用eclipse
IDE(開發(fā)工具)。
參考下面代碼及代碼中的注釋即可:
PHP代碼:
conn.php是連接MySQL數(shù)據(jù)庫(kù)的。代碼如下:
?php
$dbhost?=?"localhost:3306";?
$dbuser?=?"root";?//我的用戶名?
$dbpass?=?"";?//我的密碼?
$dbname?=?"testlogin";?//我的mysql庫(kù)名?
$cn?=?mysql_connect($dbhost,$dbuser,$dbpass)?or?die("connect?error");
@mysql_select_db($dbname)or?die("db?error");
mysql_query("set?names?'UTF-8'");
?
login.php代碼:
?php
include?("conn.php");//連接數(shù)據(jù)庫(kù)
$username=str_replace("?","",$_POST['name']);//接收客戶端發(fā)來(lái)的username;
$sql="select?*?from?users?where?name='$username'";
$query=mysql_query($sql);
$rs?=?mysql_fetch_array($query);
if(is_array($rs)){
if($_POST['pwd']==$rs['password']){
echo?"login?succeed";
}else{
echo?"error";
}
}
?
class?LoginHandler?implements?Runnable?{
@Override
public?void?run()?{
//?TODO?Auto-generated?method?stub
//get?username?and?password;
userName?=?user_name.getText().toString().trim();
password?=?pass_word.getText().toString().trim();
//連接到服務(wù)器的地址,我監(jiān)聽的是8080端口
String?connectURL="網(wǎng)站地址/text0/com.light.text/login.php/";
//填入用戶名密碼和連接地址
boolean?isLoginSucceed?=?gotoLogin(userName,?password,connectURL);
//判斷返回值是否為true,若是的話就跳到主頁(yè)。
if(isLoginSucceed){
Intent?intent?=?new?Intent();
intent.setClass(getApplicationContext(),?HomeActivity.class);
startActivity(intent);
proDialog.dismiss();
}else{
proDialog.dismiss();
//?Toast.makeText(ClientActivity.this,?"登入錯(cuò)誤",?Toast.LENGTH_LONG).show();
System.out.println("登入錯(cuò)誤");
}
}
}
//登入的方法,傳入用戶?密碼?和連接地址
private?boolean?gotoLogin(String?userName,?String?password,String?connectUrl)?{
String?result?=?null;?//用來(lái)取得返回的String;
boolean?isLoginSucceed?=?false;
//test
System.out.println("username:"+userName);
System.out.println("password:"+password);
//發(fā)送post請(qǐng)求
HttpPost?httpRequest?=?new?HttpPost(connectUrl);
//Post運(yùn)作傳送變數(shù)必須用NameValuePair[]陣列儲(chǔ)存
List?params?=?new?ArrayList();
params.add(new?BasicNameValuePair("name",userName));
params.add(new?BasicNameValuePair("pwd",password));
try{
//發(fā)出HTTP請(qǐng)求
httpRequest.setEntity(new?UrlEncodedFormEntity(params,HTTP.UTF_8));
//取得HTTP?response
HttpResponse?httpResponse=new?DefaultHttpClient().execute(httpRequest);
//若狀態(tài)碼為200則請(qǐng)求成功,取到返回?cái)?shù)據(jù)
if(httpResponse.getStatusLine().getStatusCode()==200){
//取出字符串
result=EntityUtils.toString(httpResponse.getEntity());
ystem.out.println("result=?"+result);
}
}catch(Exception?e){
e.printStackTrace();
}
//判斷返回的數(shù)據(jù)是否為php中成功登入是輸出的
if(result.equals("login?succeed")){
isLoginSucceed?=?true;
}
return?isLoginSucceed;
}
我們先來(lái)看一個(gè)簡(jiǎn)單的Android app例子(這里是一個(gè)商品存貨清單項(xiàng)目),在Android程序中,我們可以訪問(wèn)(call)PHP腳本來(lái)執(zhí)行簡(jiǎn)單的CRUD操作(創(chuàng)建,讀取,更新,刪除)。為了使你對(duì)它的體系結(jié)構(gòu)有一個(gè)大概的了解,這里先說(shuō)一下它是怎么工作的。首先你的Android項(xiàng)目訪問(wèn)(call)PHP腳本來(lái)執(zhí)行一條數(shù)據(jù)操作,我們稱它為“創(chuàng)建”。然后PHP腳本連接MySQL數(shù)據(jù)庫(kù)來(lái)執(zhí)行這個(gè)操作。這樣,數(shù)據(jù)從Android程序流向PHP腳本,最終存儲(chǔ)在MySQL數(shù)據(jù)庫(kù)中。
好了,讓我們來(lái)深入的看一下。
請(qǐng)注意:這里提供的代碼只是為了使你能簡(jiǎn)單的連接Android項(xiàng)目和PHP,MySQL。你不能把它作為一個(gè)標(biāo)準(zhǔn)或者安全編程實(shí)踐。在生產(chǎn)環(huán)境中,理想情況下你需要避免使用任何可能造成潛在注入漏洞的代碼(比如MYSQL注入)。MYSQL注入是一個(gè)很大的話題,不可能用單獨(dú)的一篇文章來(lái)說(shuō)清楚,并且它也不在本文討論的范圍內(nèi),所以本文不以討論。
1. 什么是WAMP Server
WAMP是Windows,Apache,MySQL和PHP,Perl,Python的簡(jiǎn)稱。WAMP是一個(gè)一鍵安裝的軟件,它為開發(fā)PHP,MySQL Web應(yīng)用程序提供一個(gè)環(huán)境。安裝這款軟件你相當(dāng)于安裝了Apache,MySQL和PHP。或者,你也可以使用 XAMP 。