欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

包含android通過(guò)php連接mysql的詞條

如何連接android和php mysql數(shù)據(jù)庫(kù)

1. 通過(guò)?MySQL在windows下的配置?中介紹第二種方法,在服務(wù)器機(jī)器上配置php和mysql環(huán)境,譬如我的服務(wù)器機(jī)器ip為:10.141.249.1362. 新建在test數(shù)據(jù)庫(kù)下新建一個(gè)teacher表,表的內(nèi)容如下:

成都創(chuàng)新互聯(lián)專(zhuān)注于酉陽(yáng)土家族苗族網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供酉陽(yáng)土家族苗族營(yíng)銷(xiāo)型網(wǎng)站建設(shè),酉陽(yáng)土家族苗族網(wǎng)站制作、酉陽(yáng)土家族苗族網(wǎng)頁(yè)設(shè)計(jì)、酉陽(yáng)土家族苗族網(wǎng)站官網(wǎng)定制、微信小程序服務(wù),打造酉陽(yáng)土家族苗族網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供酉陽(yáng)土家族苗族網(wǎng)站排名全網(wǎng)營(yíng)銷(xiāo)落地服務(wù)。

3. 在服務(wù)器機(jī)器上的phpnow安裝目錄E:\PHPnow-1.5.5\htdocs下新建一個(gè)test.php文件,文件內(nèi)容如下:

?php

$link=mysql_connect("127.0.0.1","root","123456");

mysql_query("SET NAMES utf8");

mysql_select_db("test",$link);

$sql=mysql_query("select * from teacher ",$link);

while($row=mysql_fetch_assoc($sql))

$output[]=$row;

print(json_encode($output));

mysql_close();

?

4. 新建一個(gè)Android Java Project

需要修改的是一下三個(gè)文件:AndroidTestActivity.java、main.xml、AndroidManifest.xml

//AndroidTestActivity.java

package

com.knight.android.test;//根據(jù)實(shí)際的工程需要,修改包的名稱(chēng)

import

java.io.BufferedReader;

import

java.io.InputStream;

import

java.io.InputStreamReader;

import

java.util.ArrayList;

import

org.apache.http.HttpEntity;

import

org.apache.http.HttpResponse;

import

org.apache.http.NameValuePair;

import

org.apache.http.client.HttpClient;

import

org.apache.http.client.methods.HttpGet;

import

org.apache.http.impl.client.DefaultHttpClient;

import

org.json.JSONArray;

import

org.json.JSONException;

import

org.json.JSONObject;

import

android.app.Activity;

import

android.net.ParseException;

import

android.os.Bundle;

import

android.util.Log;

import

android.view.View;

import

android.widget.Button;

import

android.widget.EditText;

public

class

AndroidTestActivity

extends

Activity {

JSONArray jArray;

String result

= null;

InputStream is

= null;

StringBuilder sb

= null;

@Override

public

void

onCreate(Bundle

savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

Button b1 = (Button) findViewById(R.id.button1);

b1.setOnClickListener(new

Button.OnClickListener()

{

@Override

public

void

onClick(View v)

{

//

TODO

Auto-generated

method stub

EditText tv = (EditText) findViewById(R.id.editView);

ArrayListNameValuePair nameValuePairs = newArrayListNameValuePair();

//

http get

try

{

HttpClient httpclient = new

DefaultHttpClient();

HttpGet httpget = new

HttpGet(

"");

HttpResponse response = httpclient.execute(httpget);

HttpEntity entity = response.getEntity();

is

=

entity.getContent();

} catch

(Exception e)

{

Log.e("log_tag", "Error

in http connection" + e.toString());

}

//

convert response to string

try

{

BufferedReader reader = new

BufferedReader(

new

InputStreamReader(is, "iso-8859-1"), 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());

}

//

paring data

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");

}

} catch

(JSONException e1)

{

//

Toast.makeText(getBaseContext(), "No City Found"

//

,Toast.LENGTH_LONG).show();

} catch

(ParseException e1)

{

e1.printStackTrace();

}

}

});

}

}

layout/main.xml

?xml version="1.0" encoding="utf-8"?

LinearLayout

xmlns:android=""

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical"

Button

? android:id="@+id/button1"

? android:layout_width="wrap_content"

? android:layout_height="wrap_content"

? android:text="click" /

EditText

? android:id="@+id/editView"

? android:layout_width="wrap_content"

? android:layout_height="wrap_content"

? android:text="HI "

? android:textSize="30dip" /

/LinearLayout

AndroidManifest.xml

?xml version="1.0" encoding="utf-8"?

manifest

xmlns:android=""

package="com.knight.android.test"

android:versionCode="1"

android:versionName="1.0"

application

? android:icon="@drawable/ic_launcher"

? android:label="@string/app_name"

? activity

? ? ?

android:name=".AndroidTestActivity"

? ? ? android:label="@string/app_name"

? ? ? intent-filter

? ? ? ? ? action

android:name="android.intent.action.MAIN" /

? ? ? ? ? category

android:name="android.intent.category.LAUNCHER" /

? ? ? /intent-filter

? /activity

/application

!-- 授權(quán)訪問(wèn)網(wǎng)絡(luò) --

uses-permission android:name="android.permission.INTERNET"/

/manifest

5. 運(yùn)行結(jié)果如下圖:

點(diǎn)擊click以后,Android會(huì)向服務(wù)器發(fā)送一個(gè)Http

Get請(qǐng)求,服務(wù)器從mysql中讀取數(shù)據(jù)后,傳送給Android客戶(hù)端,客戶(hù)端編碼數(shù)據(jù)包,然后返回如下結(jié)果

注意:

(1)AndroidManifest.xml中不能出現(xiàn)uses-sdk android:minSdkVersion="15"

/這種屬性,否則Android客戶(hù)端無(wú)法連接到遠(yuǎn)程服務(wù)器

(2)如果在本機(jī)搭建mysql和php環(huán)境,以上程序(AndroidTestActivity.java)中紅色部分應(yīng)更改為:HttpGet httpget = new

HttpGet();127.0.0.1表示手機(jī)的本機(jī)ip,因?yàn)槌绦蜃罱K是在手機(jī)上跑的

(3)如果讀者自定義的工程,需要修改一下幾個(gè)地方:

第一個(gè)是?AndroidTestActivity.java

程序里面的package名稱(chēng)package

com.knight.android.test;這個(gè)根據(jù)讀者自己定義的包要做出相應(yīng)的修改(綠色部分)

第二個(gè)是修改 AndroidManifest.xml里面第三行的package=" com.knight.android.test",要保持綠色部分和第一條中的綠色部分相對(duì)應(yīng)

第三點(diǎn)是修改AndroidManifest.xml里面activity下面的 android:name=". AndroidTestActivity",將綠色部分修改為 AndroidTestActivity.java的紅色部分(也就是類(lèi)名)

(4)在MySQL中把編碼設(shè)置成utf8_unicode_ci,在瀏覽器中輸入:localhost/test.php,如果中文出現(xiàn)亂碼,可以把輸出的內(nèi)容復(fù)制到,如果在這里能顯示正常,則說(shuō)明實(shí)際上是的對(duì)的,因?yàn)闉g覽器輸出的是json編碼

android studio關(guān)于android可以鏈接使用PHP的數(shù)據(jù)庫(kù)MySQL的方法,急!!!

Android

Studio怎么連接mysql數(shù)據(jù)庫(kù),建議使用mysql的客戶(hù)端查連接,或者使用java程序去連接,mysql安裝后就會(huì)自動(dòng)一個(gè)客戶(hù)端,這個(gè)就可以連接數(shù)據(jù)庫(kù)的。

android

studio是開(kāi)發(fā)android應(yīng)用的,寫(xiě)不了jsp,如果你要寫(xiě)java

web

jsp這種,建議使用IDEA或者用eclipse

IDE(開(kāi)發(fā)工具)。

如何將Android連接PHP的MySQL

客戶(hù)端一般不會(huì)直接連接服務(wù)器的數(shù)據(jù)庫(kù),這樣子服務(wù)器太不安全了。通常是用服務(wù)器端語(yǔ)言(PHP)寫(xiě)出與數(shù)據(jù)庫(kù)(MySQL)交互的接口,然后客戶(hù)端(Android)通過(guò)接口進(jìn)行數(shù)據(jù)的讀寫(xiě)。

怎么連接android和php mysql數(shù)據(jù)庫(kù)

我們先來(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ù)操作,我們稱(chēng)它為“創(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)稱(chēng)。WAMP是一個(gè)一鍵安裝的軟件,它為開(kāi)發(fā)PHP,MySQL Web應(yīng)用程序提供一個(gè)環(huán)境。安裝這款軟件你相當(dāng)于安裝了Apache,MySQL和PHP。或者,你也可以使用 XAMP 。

2. 安裝和使用WAMP Server

在瀏覽器中輸入 來(lái)測(cè)試你的服務(wù)器是否安裝成功。同樣的,也可以打開(kāi) 來(lái)檢驗(yàn)phpmyadmin是否安裝成功。

3. 創(chuàng)建和運(yùn)行PHP項(xiàng)目

現(xiàn)在,你已經(jīng)有一個(gè)能開(kāi)發(fā)PHP和MYSQL項(xiàng)目的環(huán)境了。打開(kāi)安裝WAMP Server的文件夾(在我的電腦中,是C:\wamp\),打開(kāi)www文件夾,為你的項(xiàng)目創(chuàng)建一個(gè)新的文件夾。你必須把項(xiàng)目中所有的文件放到這個(gè)文件夾中。

新建一個(gè)名為android_connect的文件夾,并新建一個(gè)php文件,命名為test.php,嘗試輸入一些簡(jiǎn)單的php代碼(如下所示)。輸入下面的代碼后,打開(kāi) ,你會(huì)在瀏覽器中看到“Welcome,I am connecting Android to PHP,MySQL”(如果沒(méi)有正確輸入,請(qǐng)檢查WAMP配置是否正確)

test.php

?php

echo"Welcome, I am connecting Android to PHP, MySQL";

?

4. 創(chuàng)建MySQL數(shù)據(jù)庫(kù)和表

在本教程中,我創(chuàng)建了一個(gè)簡(jiǎn)單的只有一張表的數(shù)據(jù)庫(kù)。我會(huì)用這個(gè)表來(lái)執(zhí)行一些示例操作。現(xiàn)在,請(qǐng)?jiān)跒g覽器中輸入 ,并打開(kāi) phpmyadmin。 你可以用PhpMyAdmin工具創(chuàng)建數(shù)據(jù)庫(kù)和表。

創(chuàng)建數(shù)據(jù)庫(kù)和表:數(shù)據(jù)庫(kù)名:androidhive,表:product

CREATE DATABASE androidhive;

CREATE TABLE products(

pid int(11) primary key auto_increment,

name varchar(100) not null,

price decimal(10,2) not null,

description text,

created_at timestamp defaultnow(),

updated_at timestamp

);

5. 用PHP連接MySQL數(shù)據(jù)庫(kù)

現(xiàn)在,真正的服務(wù)器端編程開(kāi)始了。新建一個(gè)PHP類(lèi)來(lái)連接MYSQL數(shù)據(jù)庫(kù)。這個(gè)類(lèi)的主要功能是打開(kāi)數(shù)據(jù)庫(kù)連接和在不需要時(shí)關(guān)閉數(shù)據(jù)庫(kù)連接。

新建兩個(gè)文件 db_config.php,db_connect.php

db_config.php-------- 存儲(chǔ)數(shù)據(jù)庫(kù)連接變量

db_connect.php------- 連接數(shù)據(jù)庫(kù)的類(lèi)文件

db_config.php

?php

/*

* All database connection variables

*/

define('DB_USER', "root"); // db user

define('DB_PASSWORD', ""); // db password (mention your db password here)

define('DB_DATABASE', "androidhive"); // database name

define('DB_SERVER', "localhost"); // db server

db_connect.php

?php

/**

* A class file to connect to database

*/

classDB_CONNECT {

// constructor

function__construct() {

// connecting to database

$this-connect();

}

// destructor

function__destruct() {

// closing db connection

$this-close();

}

/**

* Function to connect with database

*/

functionconnect() {

// import database connection variables

require_once__DIR__ . '/db_config.php';

// Connecting to mysql database

$con= mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD) ordie(mysql_error());

// Selecing database

$db= mysql_select_db(DB_DATABASE) ordie(mysql_error()) ordie(mysql_error());

// returing connection cursor

return$con;

}

/**

* Function to close db connection

*/

functionclose() {

// closing db connection

mysql_close();

}

}

?

怎么調(diào)用 :當(dāng)你想連接MySQl數(shù)據(jù)庫(kù)或者執(zhí)行某些操作時(shí),可以這樣使用db_connect.php

$db= newDB_CONNECT(); // creating class object(will open database connection)

6. 使用PHP執(zhí)行基本CRUD操作

在這部分,我將講述使用PHP對(duì)MySQL數(shù)據(jù)庫(kù)執(zhí)行基本CRUD(創(chuàng)建,讀取,更新,刪除)操作。

如果你是PHP和MySQL新手,我建議你可以先學(xué)習(xí) PHP 和 SQL 基礎(chǔ)知識(shí)。

6. a)在MYSQL中新建一行(創(chuàng)建一行新的產(chǎn)品)

在你的PHP項(xiàng)目中新建一個(gè)php文件,命名為create_product.php,并輸入以下代碼。該文件主要實(shí)現(xiàn)在products表中插入一個(gè)新的產(chǎn)品。

在下面的代碼我使用POST來(lái)讀取產(chǎn)品數(shù)據(jù)并把他們存儲(chǔ)在products表中。

最后我會(huì)輸出一些JSON返回值,以便返回給客戶(hù)端(Android項(xiàng)目)

新聞名稱(chēng):包含android通過(guò)php連接mysql的詞條
標(biāo)題網(wǎng)址:http://chinadenli.net/article41/dsephed.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)動(dòng)態(tài)網(wǎng)站ChatGPT網(wǎng)站導(dǎo)航網(wǎng)站設(shè)計(jì)面包屑導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管