php安卓伺服器
Ⅰ 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) {
.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();
?>
Ⅱ android服務端使用php可以嗎
本復人php新手,前段時制間用php為公司做了app的服務端,純靠看文檔自學,談一點經驗,順便求大神指點。android和php交互 android和java交互都是一樣的,android寫出介面 通過http請求 php接收到請求之後 伺服器做處理 返回值 android接收到再顯示出來即可 原理其實是和html和php交互一樣的
Ⅲ 如何選擇 Android 客戶端的後台伺服器,是 PHP 還是 Java web
php做前端,java做後端淘寶是個例子伺服器端前後分開是為了兩方面,雖然淘寶最開始並不版想這樣做。。。先說權下歷史,淘寶是最開始php全部,後來發現開銷太大,代碼效率不行,就直接把數據存儲啊,用戶通知啊就交給java實際上大部分網站都樂意採用這種前端php後端java或者C++這種形式,我是phpc++這種。優點,核心動作效率肯定高,c++java這種代碼效率奇高。比php腳本好很多。前端php,語法簡單,維護簡單,部署簡單,而且容易找到維護人員。總之就是開發快,維護成本低。大致了解了嗎?你說的h5+java實際上就是把java提到前台,不是不可以,維護和開發成本太高了啊。前端開發要經常搞,但是java做前台要調試、編譯部署還要重編譯。麻煩,人工開銷也大。不劃算如果是.net技術就更高成本了。光伺服器軟體一塊就要多少了。所以微軟的框架用的不多。國內外都不多,用.met的成本開發維護都麻煩。要氣硬體條件還苛刻。
Ⅳ 安卓手機如何變成php伺服器
直接給出PHP代碼實現。
對於這個文件,大家需要修改的便是命名空間。
namespace API\Controller;use Think\Controller;
至於為什麼,大家版需要了解下PHP的基權礎知識,和thinkPHP框架的開發流程就可以了,很快的。
Ⅳ PHP作為服務端,安卓作為客戶端進行socket通信,如何實現
通過請求返回數據啊!比如安卓可以通過URL請求頁面,然後PHP接到請求通知返數據給安卓,安卓接到數據之後在處理,就可以了!
Ⅵ php可以做安卓嗎
PHP目前來講是不可以做安卓系統的。
1,安卓系統底層的是JAVA語言內,而不是容PHP
2,PHP是弱類型語言,目前運用最多的是做網站,而不是做開發系統。
3,安卓系統要求要有虛擬機才能跑起來
4,PHP只需要伺服器就可以運作了
Ⅶ 安卓php伺服器~呢
php有一個函數叫json_encode,數據從伺服器中拿過來之後,我是直接添加進array裡面來進行操作的,android認的JSONObject的格式是兩層大括弧包著的array。 你將數據從資料庫中拿出來之後,組成associative array,用你的例子創建一個空array先~~ $arr = array(); $arr['test'] = 'json'; $arr['mode'] = 'single'; 這樣加進一個叫$arr的數組(中文是叫這個的吧。。。orz。。。。)之後,你用另一個array再把它裝進去,操作是 $arr2 = array('view' => $arr); 這樣我們要的那個主要的包含數據的數組$arr就有了一個名字,於是android解析的時候就可以區別了,php輸出的時候,要這樣輸出: echo json_encode($arr2); 於是就ok~~~會變成一個可以解析的JSONObject哦~~~~ 以上全部是我個人研究經驗。。。。也許有更簡單的方法,求高手指教~~~不過我們整個一個系統裡面凡是server和android軟體交互的數據我都是這么發過去的,表示JSONArray是更麻煩的東西,JSONObject神馬的,還是很簡單的哈~~~~~自己研究研究就出來了~~~
Ⅷ php 做安卓 伺服器 怎麼編寫代碼
php只能做服務端的數據處理,然後將數據用介面的方式,以json的數據形式給安卓客戶端程序調用。
test.php
<!--?php
classResponse{
constJSON=json;
/**
*按綜合方式輸出通信數據
*@paraminteger$code狀態碼
*@paramstring$message提示信息
*@paramarray$data數據
*@paramstring$type數據類型
*returnstring
*/
publicstaticfunctionshow($code,$message='',$data=array(),$type=self::JSON){
if(!is_numeric($code)){
return'';
}
$type=isset($_GET['format'])?$_GET['format']:self::JSON;
$result=array(
'code'=-->$code,
'message'=>$message,
'data'=>$data,
);
if($type=='json'){
self::json($code,$message,$data);
exit;
}elseif($type=='array'){
var_mp($result);
}elseif($type=='xml'){
self::xmlEncode($code,$message,$data);
exit;
}else{
//TODO
}
}
/**
*按json方式輸出通信數據
*@paraminteger$code狀態碼
*@paramstring$message提示信息
*@paramarray$data數據
*returnstring
*/
publicstaticfunctionjson($code,$message='',$data=array()){
if(!is_numeric($code)){
return'';
}
$result=array(
'code'=>$code,
'message'=>$message,
'data'=>$data
);
echojson_encode($result);
exit;
}
/**
*按xml方式輸出通信數據
*@paraminteger$code狀態碼
*@paramstring$message提示信息
*@paramarray$data數據
*returnstring
*/
publicstaticfunctionxmlEncode($code,$message,$data=array()){
if(!is_numeric($code)){
return'';
}
$result=array(
'code'=>$code,
'message'=>$message,
'data'=>$data,
);
header(Content-Type:text/xml);
$xml=<!--?xmlversion='1.0'encoding='UTF-8'?-->
;
$xml.=<root>
;
$xml.=self::xmlToEncode($result);
$xml.=</root>;
echo$xml;
}
($data){
$xml=$attr=;
foreach($dataas$key=>$value){
if(is_numeric($key)){
$attr=id='{$key}';
$key=item;
}
$xml.=<{$key}{$attr}>;
$xml.=is_array($value)?self::xmlToEncode($value):$value;
$xml.=<!--{$key}-->
;
}
return$xml;
}
}
<!--?php
require_once('./test.php');
$data=array(
'id'=-->1,
'name'=>david
);
Response::show(200,'success',$data);
Ⅸ PHP可以寫安卓端嗎
你好php是伺服器端腳本語言,php不能操作Android底層。可以用來寫介面
但可以使用cordova + ionic+php(處理服務端請求及數據處理) 開發APP