本文目錄一覽:
- 1、安卓能不能外掛php
- 2、如何連接android和php mysql資料庫
- 3、PHP可以寫安卓端嗎
- 4、安卓手機如何變成php伺服器
- 5、安卓上傳的圖片,PHP伺服器怎麼接收
- 6、安卓怎麼搭建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