實現原理就是android客戶端發送請求,傳給伺服器登入的用戶名密碼,伺服器收到這些,連接到資料庫查詢,如果用戶名和密碼匹配正確,就輸出字元串返回給客戶端。可以看看下面的方法。
android前端如何與php後台進行交互
http://www.apkbus.com/blog-822715-71980.html
B. 就是一個用PHP代碼寫的程序已經完成了,就差封裝打包了,能打成安卓的包嗎
首先,是不可以的。php和安卓區別很大,php是一門腳本語言,屬於後端語言,主要用作web伺服器端開發。
想要做安卓的包,有很多辦法:
學習android開發。
學習web前端開發,這也是我推薦的。
前端開發app,現在有許多途徑。
比較快捷的是mui。
其次是uni-app,前提是要學一下vue.js。
載是weex,flutter,react native等等。
這些都可以直接打包成android程序,有的還可以打包成ios等等。
需要樓主自己去深究了。
C. 含有php的模板網站能打包成Android或者ios的app嗎
能,安卓可以直接用,但是打包成ios的只能越獄用,還是要提交蘋果審核才能上架,我之前用.net網站打包過,你網上搜下,這種幫你把網站生成app的很多
D. 現在的PHP語言可以開發Android系統嗎
可是可以,不過很少有人這么干。
android只是一個系統,就好像windows一樣,只要有平台支持的話,用什麼開發都可以,關鍵的是你的應用是什麼應用,編譯性的php肯定幹不了。是需要有第三方的支持的
再補充一個php開發的android應用的例子
http://apps.hi..com/share/detail/22853471
E. android與php交互的問題
1 加入許可權:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
2、啟動一個新線程
android4.0開始不允許直接在ui線程直接操作httpClient
3 、注意url:http://10.0.2.2/testAndroid.php
(不要填寫:127.0.0.1 這個是本機電腦的,模擬器有自己的默認ip)
4、通過handler將數據從新線程中傳送出來
步驟:
1 創建一個httpClient 對象
2 使用post發送數據 創建一個HttpPost對象
3 設置請求參數用setEntity()
4 調用httpClient對象的execute() 發送請求,返回一個HttpResponse
5 調用HttpResponse的getEntity() 方法可以獲取HttpEntity 對象
F. PHP獲取安卓apk包里的apk簽名
所需工具:aapt,Android SDK中的工具,只有一個exe,可以直接運行。
keytool,JDK中的工具,需要安裝JDK環境。
需要提供目標應用的apk
1、獲取包名
例如:aapt.exe mp badging C:\Users\Administrator\Desktop\demo-apk-1.0.1.8791.apk > C:\Users\Administrator\Desktop\1.txt
獲取到的包名是com.pakgname.swbg
2、獲取簽名
SHA1: 56:BD:02:6B:9D:53:D7:F5:32:B2:BC:BD:BB:34:5B:F1:CD:EF:7F:C0
這里藉助github開源的類apkparser
在項目composer.json中執行下面命令或修改composer.json引入即可
方法二適用於沒有java環境的情況下,一般linux都會有openssl環境。
原理:通過分析方法一中,發現apk包解壓之後,裡面會有.rsa簽名證書,此證書是一個符合pki體系的x509證書,通過openssl命令即可查看信息。
G. 怎麼連接android和php mysql資料庫
如何連接android和php mysql資料庫
我們先來看一個簡單的Android app例子(這里是一個商品存貨清單項目),在Android程序中,我們可以訪問(call)PHP腳本來執行簡單的CRUD操作(創建,讀取,更新,刪除)。為了使你對它的體系結構有一個大概的了解,這里先說一下它是怎麼工作的。首先你的Android項目訪問(call)PHP腳本來執行一條數據操作,我們稱它為「創建」。然後PHP腳本連接MySQL資料庫來執行這個操作。這樣,數據從Android程序流向PHP腳本,最終存儲在MySQL資料庫中。
好了,讓我們來深入的看一下。
請注意:這里提供的代碼只是為了使你能簡單的連接Android項目和PHP,MySQL。你不能把它作為一個標准或者安全編程實踐。在生產環境中,理想情況下你需要避免使用任何可能造成潛在注入漏洞的代碼(比如MYSQL注入)。MYSQL注入是一個很大的話題,不可能用單獨的一篇文章來說清楚,並且它也不在本文討論的范圍內,所以本文不以討論。
1. 什麼是WAMP Server
WAMP是Windows,Apache,MySQL和PHP,Perl,Python的簡稱。WAMP是一個一鍵安裝的軟體,它為開發PHP,MySQL Web應用程序提供一個環境。安裝這款軟體你相當於安裝了Apache,MySQL和PHP。或者,你也可以使用XAMP。
2. 安裝和使用WAMP Server
你可以從http://www.wampserver.com/en/下載WAMP,安裝完成之後,可以從開始->所有程序->WampServer->StartWampServer運行該程序。
在瀏覽器中輸入http://localhost/來測試你的伺服器是否安裝成功。同樣的,也可以打開http://localhost/phpmyadmin來檢驗phpmyadmin是否安裝成功。
3. 創建和運行PHP項目
現在,你已經有一個能開發PHP和MYSQL項目的環境了。打開安裝WAMP Server的文件夾(在我的電腦中,是C:\wamp\),打開www文件夾,為你的項目創建一個新的文件夾。你必須把項目中所有的文件放到這個文件夾中。
新建一個名為android_connect的文件夾,並新建一個php文件,命名為test.php,嘗試輸入一些簡單的php代碼(如下所示)。輸入下面的代碼後,打開http://localhost/android_connect/test.php,你會在瀏覽器中看到「Welcome,I am connecting Android to PHP,MySQL」(如果沒有正確輸入,請檢查WAMP配置是否正確)
test.php
4. 打開MainScreenActivity.java為main_screen.xml文件里的兩個按鈕添加點擊事件
MainScreenActivity.java
7. 添加一個新產品(寫入)
創建一個新的view和activity來向MySQL資料庫添加新產品。
新建一個簡單的表單,創建提供輸入產品名稱,價格和描述的EditText
add_proct.xml
8. 新建一個Activity來處理向MySQL資料庫插入新產品。
新建名為NewProctActivity.java的文件,輸入以下代碼。在下面的代碼中
首先,從EditText獲得用戶輸入的產品數據,格式化成基本參數格式
然後,向create_proct.php發送請求,通過HTTP POST創建一個新的產品
最後,從create_proct.php獲取json返回值,如果success值為1,新得到的列表中就加入了新增的產品。
NewProctActivity.java
11. JSONParser類
我用一個JSONParser類從URL獲得JSON格式的數據。這個類支持兩種http請求,GET和POST方法從URL獲取JSON數據
JSONParser.java
packagecom.example.androidhive; importjava.io.BufferedReader; importjava.io.IOException; importjava.io.InputStream; importjava.io.InputStreamReader; importjava.io.UnsupportedEncodingException; importjava.util.List; importorg.apache.http.HttpEntity; importorg.apache.http.HttpResponse; importorg.apache.http.NameValuePair; importorg.apache.http.client.ClientProtocolException; importorg.apache.http.client.entity.UrlEncodedFormEntity; importorg.apache.http.client.methods.HttpGet; importorg.apache.http.client.methods.HttpPost; importorg.apache.http.client.utils.URLEncodedUtils; importorg.apache.http.impl.client.DefaultHttpClient; importorg.json.JSONException; importorg.json.JSONObject; importandroid.util.Log; publicclassJSONParser { staticInputStream is = null; staticJSONObject jObj = null; staticString json = ""; // constructor publicJSONParser() { } // function get json from url // by making HTTP POST or GET mehtod publicJSONObject makeHttpRequest(String url, String method, List<NameValuePair> params) { // Making HTTP request try{ // check for request method if(method == "POST"){ // request method is POST // defaultHttpClient DefaultHttpClient httpClient = newDefaultHttpClient(); HttpPost httpPost = newHttpPost(url); httpPost.setEntity(newUrlEncodedFormEntity(params)); HttpResponse httpResponse = httpClient.execute(httpPost); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); }elseif(method == "GET"){ // request method is GET DefaultHttpClient httpClient = newDefaultHttpClient(); String paramString = URLEncodedUtils.format(params, "utf-8"); url += "?"+ paramString; HttpGet httpGet = newHttpGet(url); HttpResponse httpResponse = httpClient.execute(httpGet); HttpEntity httpEntity = httpResponse.getEntity(); is = httpEntity.getContent(); } } catch(UnsupportedEncodingException e) { e.printStackTrace(); } catch(ClientProtocolException e) { e.printStackTrace(); } catch(IOException e) { e.printStackTrace(); } try{ BufferedReader reader = newBufferedReader(newInputStreamReader( is, "iso-8859-1"), 8); StringBuilder sb = newStringBuilder(); String line = null; while((line = reader.readLine()) != null) { sb.append(line + "\n"); } is.close(); json = sb.toString(); } catch(Exception e) { Log.e("Buffer Error", "Error converting result "+ e.toString()); } // try parse the string to a JSON object try{ jObj = newJSONObject(json); } catch(JSONException e) { Log.e("JSON Parser", "Error parsing data "+ e.toString()); } // return JSON String returnjObj; } }
到這里,本教程就結束了。
H. 通過PHP怎樣取到android系統下apk應用的包名,版本號等信息
應用場景:1、在界面中顯示應用程序的版本號;2、用戶啟動該應用,後台判斷該應用是否是最新版本。上述情景都需要在程序中自動獲取到應用的版本號。思路簡介:在Android中,應用程序的版本號是在AndroidManifest.xml文件中進行配置的