安卓伺服器php,安卓伺服器和蘋果伺服器

本文目錄一覽:

安卓能不能外掛php

回答:能掛

php能在手機上運行。但是需要你的手機具有PHP運行環境.

比如一款安卓手機上面的php運行環境軟體:anmpp。

ANMPP是Android NGINX MYSQL PGSQL PHP-FPM的縮寫

ANMPP 安裝說明:

需要root許可權

安裝anmpp.apk

進入anmpp.apk

使用anmpp gui的安裝功能(安裝時會提示使用的anmpp.zip路徑,根據cpu構架放置anmpp.zip到該路徑)

如果需要使用終端安裝,解壓anmpp.zip使用裡面的anmpp.sh安裝即可

如何連接android和php mysql資料庫

1. 通過 MySQL在windows下的配置 中介紹第二種方法,在伺服器機器上配置php和mysql環境,譬如我的伺服器機器ip為:10.141.249.1362. 新建在test資料庫下新建一個teacher表,表的內容如下:

3. 在伺服器機器上的phpnow安裝目錄E:\PHPnow-1.5.5\htdocs下新建一個test.php文件,文件內容如下:

?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. 新建一個Android Java Project

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

//AndroidTestActivity.java

package

com.knight.android.test;//根據實際的工程需要,修改包的名稱

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

  !– 授權訪問網路 —

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

/manifest

5. 運行結果如下圖:

點擊click以後,Android會向伺服器發送一個Http

Get請求,伺服器從mysql中讀取數據後,傳送給Android客戶端,客戶端編碼數據包,然後返回如下結果

注意:

(1)AndroidManifest.xml中不能出現uses-sdk android:minSdkVersion=”15″

/這種屬性,否則Android客戶端無法連接到遠程伺服器

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

HttpGet();127.0.0.1表示手機的本機ip,因為程序最終是在手機上跑的

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

第一個是 AndroidTestActivity.java

程序裡面的package名稱package

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

第二個是修改 AndroidManifest.xml裡面第三行的package=” com.knight.android.test”,要保持綠色部分和第一條中的綠色部分相對應

第三點是修改AndroidManifest.xml裡面activity下面的 android:name=”. AndroidTestActivity”,將綠色部分修改為 AndroidTestActivity.java的紅色部分(也就是類名)

(4)在MySQL中把編碼設置成utf8_unicode_ci,在瀏覽器中輸入:localhost/test.php,如果中文出現亂碼,可以把輸出的內容複製到,如果在這裡能顯示正常,則說明實際上是的對的,因為瀏覽器輸出的是json編碼

PHP可以寫安卓端嗎

你好php是伺服器端腳本語言,php不能操作Android底層。可以用來寫介面

但可以使用cordova + ionic+php(處理服務端請求及數據處理) 開發APP

安卓手機如何變成php伺服器

直接給出PHP代碼實現。

對於這個文件,大家需要修改的便是命名空間。

namespace API\Controller;use Think\Controller;

至於為什麼,大家需要了解下PHP的基礎知識,和thinkPHP框架的開發流程就可以了,很快的。

安卓上傳的圖片,PHP伺服器怎麼接收

print_r($_FILES);

print_r($_POST);

echo file_get_contents(‘php://input’);

$arr = $GLOBALS[“HTTP_RAW_POST_DATA”];

print_r($arr);

是不會看到什麼結果的

因為你似乎並沒用顯示返回數據的代碼,也不知道返回的數據格式是否符合要求(不合要求也可能不顯示)

但你這樣

file_put_contents(‘test.txt’, print_r($_FILES, 1));

file_put_contents(‘test.txt’, print_r($_POST, 1), FILE_APPEND);

file_put_contents(‘test.txt’, file_get_contents(‘php://input’), FILE_APPEND);

$arr = $GLOBALS[“HTTP_RAW_POST_DATA”];

file_put_contents(‘test.txt’, print_r($arr, 1), FILE_APPEND);

在 test.txt 中是一定有結果的

安卓怎麼搭建php環境?

如果純粹是安卓系統上運行php項目可以下載安裝KSWEB;該應用內置了apache/nigux+php+mysql+編輯器。如果是純環境搭建目前安卓好像還沒有;建議做項目還是用電腦,不然就是在安卓手機上安裝linux系統。再不然就是你自己去開發一套了

原創文章,作者:VAPN,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/145115.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
VAPN的頭像VAPN
上一篇 2024-10-26 11:55
下一篇 2024-10-26 11:55

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • 伺服器安裝Python的完整指南

    本文將為您提供伺服器安裝Python的完整指南。無論您是一位新手還是經驗豐富的開發者,您都可以通過本文輕鬆地完成Python的安裝過程。以下是本文的具體內容: 一、下載Python…

    編程 2025-04-29
  • STUN 伺服器

    STUN 伺服器是一個網路伺服器,可以協助網路設備(例如 VoIP 設備)解決 NAT 穿透、防火牆等問題,使得設備可以正常地進行數據傳輸。本文將從多個方面對 STUN 伺服器做詳…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 解決docker-compose 容器時間和伺服器時間不同步問題

    docker-compose是一種工具,能夠讓您使用YAML文件來定義和運行多個容器。然而,有時候容器的時間與伺服器時間不同步,導致一些不必要的錯誤和麻煩。以下是解決方法的詳細介紹…

    編程 2025-04-29
  • 如何使用JS判斷蘋果手機是劉海屏還是藥丸屏

    蘋果的全面屏不少人都有所耳聞,其中藥丸屏跟劉海屏是最顯著的兩種類型。本文將會介紹如何使用JS判斷當前設備屬於哪一種屏幕類型,並提供對應的代碼示例。 一、什麼是藥丸屏和劉海屏 劉海屏…

    編程 2025-04-29
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • 如何使用蘋果手機一鍵清空相冊

    想要一鍵清空蘋果手機相冊?不用擔心,這裡提供了一些易於操作的方法,讓你輕鬆搞定。 一、通過iCloud網站清空相冊 通過iCloud網站清空相冊是一個簡單易行的方法,你只需要在iC…

    編程 2025-04-28
  • 如何選擇MySQL伺服器文件許可權

    MySQL是一種流行的關係型資料庫管理系統。在安裝MySQL時,選擇正確的文件許可權是保證安全和性能的重要步驟。以下是一些指導您選擇正確許可權的建議。 一、許可權選擇 MySQL伺服器需…

    編程 2025-04-27
  • 蘋果筆記本電腦的電源鍵在哪裡

    電源鍵作為筆記本電腦開機的重要入口,對於新手來說可能會有一些不知道電源鍵位置的疑惑,下面我們來從多個方面對蘋果筆記本電腦的電源鍵位置做詳細的闡述。 一、電源鍵常見位置 蘋果筆記本電…

    編程 2025-04-27

發表回復

登錄後才能評論