當前位置:首頁 » 安卓系統 » androidpost文件

androidpost文件

發布時間: 2022-08-19 05:01:49

㈠ android中Handler的post方法的作用是什麼

在工作線程中執行耗時任務,當任務完成時,會返回UI線程,一般是更新UI。這時有兩種方法可以達到目的。

一種是handler.sendMessage。發一個消息,再根據消息,執行相關任務代碼。

另一種是handler.post(r)。r是要執行的任務代碼。意思就是說r的代碼實際是在UI線程執行的。可以寫更新UI的代碼。

(1)androidpost文件擴展閱讀

一個APK文件結構為:

1、META-INF (註:Jar文件中常可以看到);

2、res (註:存放資源文件的目錄) ;

3、AndroidManifest.xml (註:程序全局配置文件) ;

4、classes.dex (註:Dalvik位元組碼);

5、resources.arsc (註:編譯後的二進制資源文件)。

Android在運行一個程序時首先需要UnZip,然後類似Symbian那樣直接執行安裝,和Windows Mobile中的PE文件有區別,這樣做對於程序的保密性和可靠性不是很高,通過dexmp命令可以反編譯,但這樣做符合發展規律,微軟的 Windows Gadgets或者說WPF也採用了這種構架方式。

在Android平台中dalvik vm的執行文件被打包為apk格式,最終運行時載入器會解壓然後獲取編譯後androidmanifest.xml文件中的permission分支相關的安全訪問,但仍然存在很多安全限制,如果你將apk文件傳到/system/app文件夾下會發現執行是不受限制的。

參考資料來源:網路-Android



㈡ android中get方式和post方式提交數據到伺服器的區別

get請求方式是將提交的參數拼接在url地址後面,例如http://www..com/index.jsp?num=23&jjj=888;
但是這種形式對於那種比較隱私的參數是不適合的,而且參數的大小也是有限制的,一般是1K左右吧,對於上傳文件
就不是很適合。

post請求方式是將參數放在消息體內將其發送到伺服器,所以對大小沒有限制,對於隱私的內容也比較合適。
如下Post請求

java web中怎樣取得Android通過post發送的json數據

一. JSON的數據格式 a) 按照最簡單的形式,可以用下面這樣的 JSON 表示名稱/值對: { "firstName": "Brett" } b) 可以創建包含多個名稱/值對的記錄,比如: { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance中國" } c) 可以創建值的數組 { "people": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance中國" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets中國" } ]} d) 當然,可以使用相同的語法表示多個值(每個值包含多個記錄): { "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance中國" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets中國" } ], "authors": [ { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" } ], "musicians": [ { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" } ] } 注意,在不同的主條目(programmers、authors 和 musicians)之間,記錄中實際的名稱/值對可以不一樣。JSON 是完全動態的,允許在 JSON 結構的中間改變表示數據的方式。 二. 在 JavaScript 中使用 JSON JSON 是 JavaScript 原生格式,這意味著在 JavaScript 中處理 JSON 數據不需要任何特殊的 API 或工具包。 二.一 將 JSON 數據賦值給變數 例如,可以創建一個新的 JavaScript 變數,然後將 JSON 格式的數據字元串直接賦值給它: var people = { "programmers": [ { "firstName": "Brett", "lastName":"McLaughlin", "email": "brett@newInstance中國" }, { "firstName": "Jason", "lastName":"Hunter", "email": "jason@servlets中國" } ], "authors": [ { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" }, { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" } ], "musicians": [ { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" } ] } 二.二 訪問數據 將這個數組放進 JavaScript 變數之後,就可以很輕松地訪問它。實際上,只需用點號表示法來表示數組元素。所以,要想訪問 programmers 列表的第一個條目的姓氏,只需在JavaScript 中使用下面這樣的代碼: people.programmers[0].lastName; 注意,數組索引是從零開始的。 二.三 修改 JSON 數據 正如訪問數據,可以按照同樣的方式修改數據: people.musicians[一].lastName = "Rachmaninov"; 二.四 轉換回字元串 a) 在 JavaScript 中這種轉換也很簡單: String newJSONtext = people.toJSONString(); b) 可以將任何 JavaScript 對象轉換為 JSON 文本。並非只能處理原來用 JSON 字元串賦值的變數。為了對名為 myObject 的對象進行轉換,只需執行相同形式的命令: String myObjectInJSON = myObject.toJSONString(); 說明:將轉換回的字元串作為Ajax調用的字元串,完成非同步傳輸。 小結:如果要處理大量 JavaScript 對象,那麼 JSON 幾乎肯定是一個好選擇,這樣就可以輕松地將數據轉換為可以在請求中發送給伺服器端程序的格式。 三. 伺服器端的 JSON 三.一 將 JSON 發給伺服器 a) 通過 GET 以名稱/值對發送 JSON 在 JSON 數據中會有空格和各種字元,Web 瀏覽器往往要嘗試對其繼續編譯。要確保這些字元不會在伺服器上(或者在將數據發送給伺服器的過程中)引起混亂,需要在JavaScript的escape()函數中做如下添加: var url = "organizePeople.php?people=" + escape(people.toJSONString()); request.open("GET", url, true); request.onreadystatechange = updatePage; request.send(null); b) 利用 POST 請求發送 JSON 數據 當決定使用 POST 請求將 JSON 數據發送給伺服器時,並不需要對代碼進行大量更改,如下所示: var url = "organizePeople.php?timeStamp=" + new Date().getTime(); request.open("POST", url, true); request.onreadystatechange = updatePage; request.setRequestHeader("Content-Type", "application/x-至美-form-urlencoded"); request.send(people.toJSONString()); 注意:賦值時格式必須是var msg=eval('(' + req.responseText + ')'); 三.二 在伺服器上解釋 JSON a) 處理 JSON 的兩步驟。 針對編寫伺服器端程序所用的語言,找到相應的 JSON 解析器/工具箱/幫助器 API。 使用 JSON 解析器/工具箱/幫助器 API 取得來自客戶機的請求數據並將數據轉變成腳本能理解的東西。 b) 尋找 JSON 解析器 尋找 JSON 解析器或工具箱最好的資源是 JSON 站點。如果使用的是 Java servlet,json.org 上的 org.json 包就是個不錯的選擇。在這種情況下,可以從 JSON Web 站點下載 json.zip 並將其中包含的源文件添加到項目構建目錄。編譯完這些文件後,一切就就緒了。對於所支持的其他語言,同樣可以使用相同的步驟;使用何種語言取決於您對該語言的中國程度,最好使用您所熟悉的語言。 c) 使用 JSON 解析器 一旦獲得了程序可用的資源,剩下的事就是找到合適的方法進行調用。如果在 servlet 中使用的是 org.json 包,則會使用如下代碼: public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { StringBuffer jb = new StringBuffer(); String line = null; try { BufferedReader reader = request.getReader(); while ((line = reader.readLine()) != null) jb.append(line); } catch (Exception e) { //report an error } try { JSONObject jsonObject = new JSONObject(jb.toString()); } catch (ParseException e) { // crash and burn throw new IOException("Error parsing JSON request string"); } // Work with the data using methods like... // int someInt = jsonObject.getInt("intParamName"); // String someString = jsonObject.getString("stringParamName"); // JSONObject nestedObj = jsonObject.getJSONObject("nestedObjName"); // JSONArray arr = jsonObject.getJSONArray("arrayParamName"); // etc...

㈣ android http post 請求怎麼寫,我返回的結果不正確

HTTP錯誤405 – 禁止訪問資源. 可能是server端有訪問設置.你可以問下做server的人. 或者換一個server做下測試,看到底是server的問題,還是你代碼的問題.

packagejusi.singporecameratest;

importorg.apache.http.HttpResponse;
importorg.apache.http.client.methods.HttpPost;
importorg.apache.http.entity.ByteArrayEntity;
importorg.apache.http.entity.StringEntity;
importorg.apache.http.impl.client.DefaultHttpClient;
importorg.apache.http.message.BasicHeader;
importorg.apache.http.protocol.HTTP;
importorg.apache.http.util.EntityUtils;
importorg.json.JSONObject;

importandroid.app.Activity;
importandroid.os.Bundle;
importandroid.widget.TextView;

{
privateTextViewtv;

/**.*/
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);

Stringurl="http://appschallenge.juzz4.com/api/login";
HttpPostrequest=newHttpPost(url);
request.setHeader("Content-Type","application/x-www-form-urlencoded");
//先封裝一個JSON對象
JSONObjectparam=newJSONObject();
try{
param.put("username","demo");
param.put("password","demo");
param.put("mechanism","plain");
//綁定到請求Entry
StringEntityse=newStringEntity(param.toString());
request.setEntity(se);

HttpResponsehttpResponse=newDefaultHttpClient().execute(request);
//得到應答的字元串,這也是一個JSON格式保存的數據
StringretSrc=EntityUtils.toString(httpResponse.getEntity());
//生成JSON對象
JSONObjectresult=newJSONObject(retSrc);
Stringtoken=(String)result.get("reason");
TextViewtv=newTextView(this);
tv.setText(token);
setContentView(tv);}
catch(Exceptione){
}
}
}

㈤ android中post請求怎麼傳輸內容

一、需要用到的場景

在jQuery中使用$.post()就可以方便的發起一個post請求,在android程序中有時也要從伺服器獲取一些數據,就也必須得使用post請求了。

二、需要用到的主要類

在android中使用post請求主要要用到的類是HttpPost、HttpResponse、EntityUtils

三、主要思路

1、創建HttpPost實例,設置需要請求伺服器的url。

2、為創建的HttpPost實例設置參數,參數設置時使用鍵值對的方式用到NameValuePair類。

3、發起post請求獲取返回實例HttpResponse

4、使用EntityUtils對返回值的實體進行處理(可以取得返回的字元串,也可以取得返回的byte數組)

代碼也比較簡單,注釋也加上了,就直接貼出來了

[java]
package com.justsy.url;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;

import android.app.Activity;
import android.os.Bundle;

public class HttpURLActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
System.out.println("start url...");
String url = "http://192.168.2.112:8080/JustsyApp/Applet";
// 第一步,創建HttpPost對象
HttpPost httpPost = new HttpPost(url);

// 設置HTTP POST請求參數必須用NameValuePair對象
List<NameValuePair> params = new ArrayList<NameValuePair>();
params.add(new BasicNameValuePair("action", "downloadAndroidApp"));
params.add(new BasicNameValuePair("packageId", "89dcb664-50a7-4bf2-aeed-49c08af6a58a"));
params.add(new BasicNameValuePair("uuid", "test_ok1"));

HttpResponse httpResponse = null;
try {
// 設置httpPost請求參數
httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
httpResponse = new DefaultHttpClient().execute(httpPost);
//System.out.println(httpResponse.getStatusLine().getStatusCode());
if (httpResponse.getStatusLine().getStatusCode() == 200) {
// 第三步,使用getEntity方法活得返回結果
String result = EntityUtils.toString(httpResponse.getEntity());
System.out.println("result:" + result);
T.displayToast(HttpURLActivity.this, "result:" + result);
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("end url...");
setContentView(R.layout.main);
}
}

ADD:使用HttpURLConnection 進行post請求

[java]
String path = "http://192.168.2.115:8080/android-web-server/httpConnectServlet.do?PackageID=89dcb664-50a7-4bf2-aeed-49c08af6a58a";
URL url = new URL(path);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("POST");
conn.setConnectTimeout(5000);
System.out.println(conn.getResponseCode());

============================================================================================================================

通過get和post方式向伺服器發送請求

首先說一下get和post的區別

get請求方式是將提交的參數拼接在url地址後面,例如http://www..com/index.jsp?num=23&jjj=888;
但是這種形式對於那種比較隱私的參數是不適合的,而且參數的大小也是有限制的,一般是1K左右吧,對於上傳文件
就不是很適合。

post請求方式是將參數放在消息體內將其發送到伺服器,所以對大小沒有限制,對於隱私的內容也比較合適。
如下Post請求

POST /LoginCheck HTTP/1.1
Accept: text/html, application/xhtml+xml, */*
Referer: http://192.168.2.1/login.asp
Accept-Language: zh-CN
User-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; BOIE9;ZHCN)
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip, deflate
Host: 192.168.2.1
Content-Length: 39
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: language=en

Username=admin&checkEn=0&Password=admin //參數位置

在android中用get方式向伺服器提交請求:

在android模擬器中訪問本機中的tomcat伺服器時,注意:不能寫localhost,因為模擬器是一個單獨的手機系統,所以要寫真是的IP地址。
否則無法訪問到伺服器。

//要訪問的伺服器地址,下面的代碼是要向伺服器提交用戶名和密碼,提交時中文先要經過URLEncoder編碼,因為模擬器默認的編碼格式是utf-8
//而tomcat內部默認的編碼格式是ISO8859-1,所以先將參數進行編碼,再向伺服器提交。
private String address = "http://192.168.2.101:80/server/loginServlet";

public boolean get(String username, String password) throws Exception {
username = URLEncoder.encode(username);// 中文數據需要經過URL編碼
password = URLEncoder.encode(password);
String params = "username=" + username + "&password=" + password;
//將參數拼接在URl地址後面
URL url = new URL(address + "?" + params);
//通過url地址打開連接
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//設置超時時間
conn.setConnectTimeout(3000);
//設置請求方式
conn.setRequestMethod("GET");
//如果返回的狀態碼是200,則一切Ok,連接成功。
return conn.getResponseCode() == 200;
}

在android中通過post方式提交數據。

public boolean post(String username, String password) throws Exception {
username = URLEncoder.encode(username);// 中文數據需要經過URL編碼
password = URLEncoder.encode(password);
String params = "username=" + username + "&password=" + password;
byte[] data = params.getBytes();

URL url = new URL(address);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setConnectTimeout(3000);
//這是請求方式為POST
conn.setRequestMethod("POST");
//設置post請求必要的請求頭
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");// 請求頭, 必須設置
conn.setRequestProperty("Content-Length", data.length + "");// 注意是位元組長度, 不是字元長度

conn.setDoOutput(true);// 准備寫出
conn.getOutputStream().write(data);// 寫出數據

return conn.getResponseCode() == 200;
}

㈥ Android中使用HttpPost實現數據與文件同時上傳的功能

第一步:編寫一個Servlet,把接收到的HTTP信息保存在一個文件中,代碼如下:
public void doPost(HttpServletRequest request, HttpServletResponse response)

throws ServletException, IOException {
//獲取輸入流,是HTTP協議中的實體內容

ServletInputStream sis=request.getInputStream();
//緩沖區

byte buffer[]=new byte[1024];
FileOutputStream fos=new FileOutputStream("d://file.log");

int len=sis.read(buffer, 0, 1024);
//把流里的信息循環讀入到file.log文件中
while( len!=-1 )
{
fos.write(buffer, 0, len);
len=sis.readLine(buffer, 0, 1024);
}
fos.close();
sis.close();
}
第二步:實現如下圖1的的表單頁面,生成一個注冊表單,提交到Servlet中

詳細的代碼如下:

<form action="servlet/ReceiveFile" method="post" enctype="multipart/form-data">
第一個參數<input type="text" name="name1"/> <br/>
第二個參數<input type="text" name="name2"/> <br/>
第一個上傳的文件<input type="file" name="file1"/> <br/>
第二個上傳的文件<input type="file" name="file2"/> <br/>
<input type="submit" value="提交">
</form>
注意了,由於要上傳附件,所以一定要設置enctype為multipart/form-data,才可以實現附件的上傳。
第三步:填寫完信息後按「提交」按鈕後,在D盤下查找file.log文件用記事本打開,數據如下:
-----------------------------7d92221b604bc
Content-Disposition: form-data; name="name1"
hello
-----------------------------7d92221b604bc
Content-Disposition: form-data; name="name2"
world
-----------------------------7d92221b604bc
Content-Disposition: form-data; name="file1"; filename="C:/2.GIF"
Content-Type: image/gif
GIF89a

㈦ 如何在 Android 上用 Post 提交大量的數據

在 Android 上用 Post 提交大量的數據方法:
1.Android中實現
activity_main.xml部分
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<TextView
android:id="@+id/lblPostResult"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/butPost"
android:layout_centerHorizontal="true"
android:text="提交結果" />

<Button
android:id="@+id/butPost"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="25dp"
android:text="提交測試" />

</RelativeLayout>

//import部分
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import android.util.Log;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Map;
import java.util.Date;
import java.text.SimpleDateFormat;

//public class MainActivity extends Activity 部分
private Button m_butPost;
m_butPost=(Button)findViewById(R.id.butPost);
m_butPost.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
butPost_OnClick(v);
}
});

//提交測試
private void butPost_OnClick(View v){
//請求參數鍵-值對
String strRecSmsMsg="收簡訊測試";
//提交
RecSmsToPost(strRecSmsMsg);
openToast("提交測試完成");
}
//收到簡訊 後 提交
private void RecSmsToPost(String strRecSmsMsg){
String strNowDateTime=getNowDateTime("yyyy-MM-dd|HH:mm:ss");//當前時間
//參數
Map<String,String> params = new HashMap<String,String>();
params.put("RECSMSMSG", strRecSmsMsg);
//params.put("name", "李四");

//伺服器請求路徑
String strUrlPath = "http://192.168.1.9:80/JJKSms/RecSms.php" +"?DateTime=" + strNowDateTime;
String strResult=HttpUtils.submitPostData(strUrlPath,params, "utf-8");
m_lblPostResult.setText(strResult);

//openToast("提交完成");
}
//獲取當前時間
private String getNowDateTime(String strFormat){
if(strFormat==""){
strFormat="yyyy-MM-dd HH:mm:ss";
}
Date now = new Date();
SimpleDateFormat df = new SimpleDateFormat(strFormat);//設置日期格式
return df.format(now); // new Date()為獲取當前系統時間
}
//彈出消息
private void openToast(String strMsg){
Toast.makeText(this, strMsg, Toast.LENGTH_LONG).show();
}

HttpUtils 類部分
新建 類文件 HttpUtils 其中代碼如下:
import java.net.HttpURLConnection;
import java.net.URL;
import java.io.OutputStream;
import java.io.InputStream;
import java.util.Map;
import java.io.IOException;
import java.net.URLEncoder;
import java.io.ByteArrayOutputStream;

public class HttpUtils {
/*
* Function : 發送Post請求到伺服器
* Param : params請求體內容,encode編碼格式
*/
public static String submitPostData(String strUrlPath,Map<String, String> params, String encode) {

byte[] data = getRequestData(params, encode).toString().getBytes();//獲得請求體
try {

//String urlPath = "http://192.168.1.9:80/JJKSms/RecSms.php";
URL url = new URL(strUrlPath);

HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection();
httpURLConnection.setConnectTimeout(3000); //設置連接超時時間
httpURLConnection.setDoInput(true); //打開輸入流,以便從伺服器獲取數據
httpURLConnection.setDoOutput(true); //打開輸出流,以便向伺服器提交數據
httpURLConnection.setRequestMethod("POST"); //設置以Post方式提交數據
httpURLConnection.setUseCaches(false); //使用Post方式不能使用緩存
//設置請求體的類型是文本類型
httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
//設置請求體的長度
httpURLConnection.setRequestProperty("Content-Length", String.valueOf(data.length));
//獲得輸出流,向伺服器寫入數據
OutputStream outputStream = httpURLConnection.getOutputStream();
outputStream.write(data);

int response = httpURLConnection.getResponseCode(); //獲得伺服器的響應碼
if(response == HttpURLConnection.HTTP_OK) {
InputStream inptStream = httpURLConnection.getInputStream();
return dealResponseResult(inptStream); //處理伺服器的響應結果
}
} catch (IOException e) {
//e.printStackTrace();
return "err: " + e.getMessage().toString();
}
return "-1";
}

/*
* Function : 封裝請求體信息
* Param : params請求體內容,encode編碼格式
*/
public static StringBuffer getRequestData(Map<String, String> params, String encode) {
StringBuffer stringBuffer = new StringBuffer(); //存儲封裝好的請求體信息
try {
for(Map.Entry<String, String> entry : params.entrySet()) {
stringBuffer.append(entry.getKey())
.append("=")
.append(URLEncoder.encode(entry.getValue(), encode))
.append("&");
}
stringBuffer.deleteCharAt(stringBuffer.length() - 1); //刪除最後的一個"&"
} catch (Exception e) {
e.printStackTrace();
}
return stringBuffer;
}

/*
* Function : 處理伺服器的響應結果(將輸入流轉化成字元串)
* Param : inputStream伺服器的響應輸入流
*/
public static String dealResponseResult(InputStream inputStream) {
String resultData = null; //存儲處理結果
ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
byte[] data = new byte[1024];
int len = 0;
try {
while((len = inputStream.read(data)) != -1) {
byteArrayOutputStream.write(data, 0, len);
}
} catch (IOException e) {
e.printStackTrace();
}
resultData = new String(byteArrayOutputStream.toByteArray());
return resultData;
}

}

2.伺服器端的准備
在伺服器端我採用wamp方式,當然其它方式也可以。 創建RecSms.php 文件 內容如下:
<?php

require_once ('Log/LogHelper.php');

echo "你好" . "post </br>";

foreach($_REQUEST as $k=>$v){
echo $k;echo "--";
echo $v;echo "</br>";
}

WriteLog('你好 RecSms.php ---------');

foreach($_POST as $k=>$v){
WriteLog( $k .'--' .$v);
}
foreach($_GET as $k=>$v){
WriteLog( $k .'--' .$v);
}

?>

將提交的數據寫入Log\Log.php文件中。
其中LogHelper.php 為寫日誌文件,代碼文件如下:
<?php

function WriteLog($msg){
$fp = fopen("Log\Log.php", "a");//文件被清空後再寫入
if($fp)
{
date_default_timezone_set('asia/chongqing');
$time=date("H:i:s",strtotime("now"));
$flag=fwrite($fp, $time ." ".$msg ." \r\n");
fclose($fp);
}
}
?>

所有代碼已寫好。
開啟 wamp ,在Android中點擊 提交測試 則 在Log.php文件寫入提交的數據

㈧ 想用python給安卓搭後台,安卓的post傳文件請求怎麼讓python接收

python中對於post等的報文解析
在本次的分析中,相對於原來的原生socket的實現,在這里使用了封裝更加方便地wsgiref模塊,具體模塊地API開發文檔可見[wsgirefAPI開發文檔],在這里只是介紹自己用到地一些功能。
import wsgiref
from wsgiref.simple_server import make_server
from wsgiref.util import setup_testing_defaults
from urllib import parse
def application(environ, start_response):
# environ是當前請求的所有數據,包括Header和URL,body
#實現文檔地報頭
start_response('200 OK', [('Content-Type', '#text/html')])
return [] #需要返回數據,以byte地形式
if __name__ == "__main__":
port = 6088 #埠號
httpd = make_server("0.0.0.0", port, application)
print( "serving http on port {0}...".format(str(port)))
httpd.serve_forever()

㈨ android通過http post實現文件下載

可參照我的如下代碼

java.io.OutputStreamos=null;
java.io.InputStreamis=null;
try{
java.io.Filefile=newjava.io.File(str_local_file_path);
if(file.exists()&&file.length()>0){
}else{
file.createNewFile();

java.net.URLurl=newjava.net.URL(str_url);
java.net.HttpURLConnectionconn=(java.net.HttpURLConnection)url.openConnection();
os=newjava.io.FileOutputStream(file);
is=conn.getInputStream();
byte[]buffer=newbyte[1024*4];
intn_rx=0;
while((n_rx=is.read(buffer))>0){
os.write(buffer,0,n_rx);
}
}
returntrue;
}catch(MalformedURLExceptione){
}catch(IOExceptione){
}finally{
os.flush();
os.close();
is.close();
}
returnfalse;
熱點內容
人三琳外傳腳本 發布:2024-10-18 13:38:16 瀏覽:839
電腦發件箱伺服器錯誤怎麼弄 發布:2024-10-18 13:30:36 瀏覽:914
evm部署solc編譯文件 發布:2024-10-18 13:29:47 瀏覽:835
android發送at指令 發布:2024-10-18 13:14:18 瀏覽:659
安卓手機哪個工藝最好 發布:2024-10-18 13:01:43 瀏覽:283
源程序編譯過程中裝配器 發布:2024-10-18 13:01:43 瀏覽:118
如何查詢伺服器的序列號 發布:2024-10-18 12:57:04 瀏覽:670
鑽石腳本 發布:2024-10-18 12:56:59 瀏覽:852
用命令創建資料庫 發布:2024-10-18 12:56:01 瀏覽:530
sqlserver2008維護 發布:2024-10-18 12:54:44 瀏覽:79