當前位置:首頁 » 安卓系統 » androidweb服務

androidweb服務

發布時間: 2023-07-20 14:36:55

❶ android怎樣調用webService

使用Ksoup.jar包可以實現webservice的調用

參考代碼:

String result = null;

SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(

SoapEnvelope.VER11);

envelope.dotNet = true;

envelope.bodyOut = soapObject;

String endPoint = 地址後綴//如WebService/AppService.asmx

HttpTransportSE transportSE = new HttpTransportSE(endPoint);

SoapObject object = null;

transportSE.call(地址 + soapObject.getName(),

envelope);

object = (SoapObject) envelope.bodyIn;

result = object.getProperty(0).toString();


附上ksoup包


❷ 安卓怎麼調用webservice

具體調用調用webservice的方法為:
(1) 指定webservice的命名空間和調用的方法名,如:
SoapObject request =new SoapObject(http://service,」getName」);
SoapObject類的第一個參數表示WebService的命名空間,可以從WSDL文檔中找到WebService的命名空間。第二個參數表示要調用的WebService方法名。
(2) 設置調用方法的參數值,如果沒有參數,可以省略,設置方法的參數值的代碼如下:
Request.addProperty(「param1」,」value」);
Request.addProperty(「param2」,」value」);
要注意的是,addProperty方法的第1個參數雖然表示調用方法的參數名,但該參數值並不一定與服務端的WebService類中的方法參數名一致,只要設置參數的順序一致即可。
(3) 生成調用Webservice方法的SOAP請求信息。該信息由SoapSerializationEnvelope對象描述,代碼為:
SoapSerializationEnvelope envelope=new
SoapSerializationEnvelope(SoapEnvelope.VER11);
Envelope.bodyOut = request;
創建SoapSerializationEnvelope對象時需要通過SoapSerializationEnvelope類的構造方法設置SOAP協議的版本號。該版本號需要根據服務端WebService的版本號設置。在創建SoapSerializationEnvelope對象後,不要忘了設置SOAPSoapSerializationEnvelope類的bodyOut屬性,該屬性的值就是在第一步創建的SoapObject對象。
(4) 創建HttpTransportsSE對象。通過HttpTransportsSE類的構造方法可以指定WebService的WSDL文檔的URL:
HttpTransportSE ht=new HttpTransportSE(「SearchNewsService?wsdl」);
(5)使用call方法調用WebService方法,代碼:
ht.call(null,envelope);
Call方法的第一個參數一般為null,第2個參數就是在第3步創建的SoapSerializationEnvelope對象。
(6)使用getResponse方法獲得WebService方法的返回結果,代碼:
SoapObject soapObject =( SoapObject) envelope.getResponse();
以下為簡單的實現一個天氣查看功能的例子:
復制代碼
publicclass WebService extends Activity {
privatestaticfinal String NAMESPACE ="";
// WebService地址
privatestatic String URL ="weatherwebservice.asmx";
privatestaticfinal String METHOD_NAME ="getWeatherbyCityName";
privatestatic String SOAP_ACTION ="getWeatherbyCityName";
private String weatherToday;
private Button okButton;
private SoapObject detail;
@Override
publicvoid onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
okButton = (Button) findViewById(R.id.ok);
okButton.setOnClickListener(new Button.OnClickListener() {
publicvoid onClick(View v) {
showWeather();
}
});
}
privatevoid showWeather() {
String city ="武漢";
getWeather(city);
}
@SuppressWarnings("deprecation")
publicvoid getWeather(String cityName) {
try {
System.out.println("rpc------");
SoapObject rpc =new SoapObject(NAMESPACE, METHOD_NAME);
System.out.println("rpc"+ rpc);
System.out.println("cityName is "+ cityName);
rpc.addProperty("theCityName", cityName);
AndroidHttpTransport ht =new AndroidHttpTransport(URL);
ht.debug =true;
SoapSerializationEnvelope envelope =new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.bodyOut = rpc;
envelope.dotNet =true;
envelope.setOutputSoapObject(rpc);
ht.call(SOAP_ACTION, envelope);
SoapObject result = (SoapObject) envelope.bodyIn;
detail = (SoapObject) result
.getProperty("getWeatherbyCityNameResult");
System.out.println("result"+ result);
System.out.println("detail"+ detail);
Toast.makeText(WebService.this, detail.toString(),
Toast.LENGTH_LONG).show();
parseWeather(detail);
return;
} catch (Exception e) {
e.printStackTrace();
}
}
privatevoid parseWeather(SoapObject detail)
throws UnsupportedEncodingException {
String date = detail.getProperty(6).toString();
weatherToday ="今天:"+ date.split("")[0];
weatherToday = weatherToday +"\n天氣:"+ date.split("")[1];
weatherToday = weatherToday +"\n氣溫:"
+ detail.getProperty(5).toString();
weatherToday = weatherToday +"\n風力:"
+ detail.getProperty(7).toString() +"\n";
System.out.println("weatherToday is "+ weatherToday);
Toast.makeText(WebService.this, weatherToday,
Toast.LENGTH_LONG).show();
}
}

❸ 如何利用安卓手機搭建WEB伺服器

1.安裝手機本地php+mysql伺服器環境篇 :
1.1安裝ksweb軟體,安裝好ksweb後,會在手機上生成一個文件夾htdocs,其目錄是mnt/sdcard/htdocs,htdocs是網站的根目錄。
1.2安裝mysql 直接點擊mysql管理,點擊選擇「是」然後解壓便可自動安裝。mysql的賬號密碼隨後再改(在設置裡面更改)。

1.3安裝好MySQL之後,(如下圖,打開phpmyadmin,表示安裝成功!),另外,我們需要對ksweb進行一些設置方可更好使用。
1.3.1埠的更改步驟:(啟用root→更改80埠)手機伺服器啟用root方法如下圖,在ksweb設置裡面把root打鉤。
1.3.2開啟手機80埠方法:把8080埠改為80埠,並把PHP服務,MySQL都打勾。其他一些設置比如MySQL密碼,開機自啟動等選項大家根據需要自行修改即可!

1.4ksweb全部設置好後,我們打開手機本地伺服器地址localhost:80,表示設置好了。
我們點擊頁面中的「Enter KSWEB Web Interface」可以看到手機伺服器的一些配置信息(默認賬號密碼都是「admin」)。表示手機服務搭建成功,一切正常!

2.利用nat123軟體進行內網80埠映射篇:
2.1注冊賬號,我們先到其官網注冊賬號官網,大家網路nat123即可,至於怎麼注冊我就不說了。
2.2登陸並添加域名解析,
2.2.1 應用名稱,我填的是網路電視直播—在線看電視。假如你要搭建自己的博客,你可以填XX的博客,或者XX的個人博客等。
2.2.2 內網埠,只有root的手機才填80埠,所以這也是為什麼一開始我說手機需要root!
2.2.3 內網地址這個默認localhost就行。
2.2.4 外網域名,我這里使用的是自己的域名(當使用自己的域名時,用cname解析,下面有當前唯一cname地址,我們在自己的域名解析裡面填這個就行)。如果我們沒有自己的域名,我們可以用官方免費的二級域名,注意他的格式)一切填好之後,點擊確認保存即可!

2.3 我們下載並安裝登陸安卓版的nat123,就自動解析了,

3.4 接下來我們在另一台電腦上輸入剛才的域名訪問 如下圖所示,表示安卓手機web伺服器安裝成功,網站搭建成功!

❹ 如何在android手機中安裝一個web伺服器啊。。。急求

正式開始
下載並安裝AndroPHP、Feel ftp和File Zilla
安裝完成後打開AndroPHP,界面如下:

備註:此處為手機內網IP,意味著你只能用內網設備訪問,在以後的博文中會告訴大家如何進行埠映射,從而實現外網也可訪問
看到上圖兩個地址後,其實可以直接點擊,使用手機瀏覽器訪問的界面如下:

備註:

圖片1中大家可能看不到wordpress文件夾,別急下一步教你上傳
phpMyAdmin的默認用戶名是root或者是你當前手機的ip地址,密碼為空(這信息可以在phpinfo.php中查看)
接下來,就是教大家如何上傳文件到手機,當然前提是你已經在Wordpress上下載好了wordpress安裝包(下載很簡單的,自己去看看吧)或者你自己已經寫好了.PHP網頁,也可以
兩種方法:
1
1
在手機文件管理里,找到根目錄下的WWW文件夾,然後用數據線是上傳文件到這個文件夾就行了,相當於伺服器的根目錄

利用Feel FTP(手機端)和File Zilla(電腦端)進行文件傳輸。這種方法更像是將手機當成伺服器啊(本人拙見,其實只要效果一樣就行,嘿嘿)
步驟一、打開Feel FTP,點擊下方中間按鈕,綠色變成紅色即為打開,上方也顯示出你是否打開了(ps:你可以在設置中關閉無連接是自動退出,不然等會就要打開一次,太麻煩)

步驟二、電腦上打開File Zilla
在主機名處輸入Feel FTP上顯示的地址。例如我的是:
ftp://192.168.1.121

在埠處填寫 :2121,剩下可以都不填寫(因為Feel FTPmore不開啟用戶名和密碼),點擊快速連接

將你的wordpress文件夾從本地上傳到手機根目錄/www(從窗口1拖動到窗口2,即可)
至此兩種文件上傳方法均講述完畢。
5.利用phpMyAdmin創建資料庫,修改wordpress中的wp-config-sample.php文件,之後的步驟和正常安裝wordpress相同,可參考我之後要寫的wordpress安裝教程,此處介紹到此為止
成果演示
接下來,放幾張演示圖
手機上的wordpress展示:

或者自己編寫的.php文件(此處使用的是官方文檔演示)

❺ 如何利用安卓手機搭建WEB伺服器

1.安裝手機本地php+mysql伺服器環境篇 : 1.1安裝ksweb軟體,安裝好ksweb後,會在手機上生成一個文件夾htdocs,其目錄是mnt/sdcard/htdocs,htdocs是網站的根目錄。 1.2安裝mysql 直接點擊mysql管理,點擊選擇「是」然後解壓便可自動安裝。mysql的賬號密碼隨後再改(在設置裡面更改)。 1.3安裝好MySQL之後,(如下圖,打開phpmyadmin,表示安裝成功!),另外,我們需要對ksweb進行一些設置方可更好使用。 1.3.1埠的更改步驟:(啟用root→更改80埠)手機伺服器啟用root方法如下圖,在ksweb設置裡面把root打鉤。 1.3.2開啟手機80埠方法:把8080埠改為80埠,並把PHP服務,MySQL都打勾。其他一些設置比如MySQL密碼,開機自啟動等選項大家根據需要自行修改即可! 1.4ksweb全部設置好後,我們打開手機本地伺服器地址localhost:80,表示設置好了。 我們點擊頁面中的「Enter KSWEB Web Interface」可以看到手機伺服器的一些配置信息(默認賬號密碼都是「admin」)。表示手機服務搭建成功,一切正常! 2.利用nat123軟體進行內網80埠映射篇: 2.1注冊賬號,我們先到其官網注冊賬號官網,大家網路nat123即可,至於怎麼注冊我就不說了。 2.2登陸並添加域名解析, 2.2.1 應用名稱,我填的是網路電視直播—在線看電視。假如你要搭建自己的博客,你可以填XX的博客,或者XX的個人博客等。 2.2.2 內網埠,只有root的手機才填80埠,所以這也是為什麼一開始我說手機需要root! 2.2.3 內網地址這個默認localhost就行。 2.2.4 外網域名,我這里使用的是自己的域名(當使用自己的域名時,用cname解析,下面有當前唯一cname地址,我們在自己的域名解析裡面填這個就行)。如果我們沒有自己的域名,我們可以用官方免費的二級域名,注意他的格式)一切填好之後,點擊確認保存即可! 2.3 我們下載並安裝登陸安卓版的nat123,就自動解析了, 3.4 接下來我們在另一台電腦上輸入剛才的域名訪問 如下圖所示,表示安卓手機web伺服器安裝成功,網站搭建成功!

❻ android版本更新的webservice怎麼實現

方法/步驟
在eclipse上安裝好android開發環境,android調用webservice使用ksoap,本經驗使用的是ksoap2-android-assembly-2.6.4-jar-with-dependencies.jar
AndroidManifest.xml中需添加相應的許可權,例子:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.camera"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="9" />

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.INTERNET"/>

<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.camera.MainActivity"
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>亮蔽

</manifest>
activity_main.xml文件代碼
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">

<Button
android:id="@+id/button"
android:layout_width="fill_parent"高鍵辯
android:layout_height="wrap_content"
android:text="點擊啟動相機"/>
<Button
android:id="@+id/savePic"
android:layout_width="fill_parent"
android:layout_height="戚缺wrap_content"
android:text="保存圖片到伺服器"/>
<TextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>

<ImageView
android:id="@+id/imageView"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#999999" />

</LinearLayout>
MainActivity具體代碼
package com.example.camera;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

import org.kobjects.base64.Base64;
import org.ksoap2.SoapEnvelope;
import org.ksoap2.serialization.SoapObject;
import org.ksoap2.serialization.SoapSerializationEnvelope;
import org.ksoap2.transport.HttpTransportSE;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.os.Environment;
import android.provider.MediaStore;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

public class MainActivity extends Activity {
TextView tv = null;
String fileName = "/sdcard/myImage/my.jpg"; //圖片保存sd地址
String namespace = "http://webservice.service.com"; // 命名空間
String url = "http://192.168.200.19:8080/Web/webservices/Portal"; //對應的url
String methodName = "uploadImage"; //webservice方法

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

tv = (TextView)findViewById(R.id.textView);

//啟用相機按鈕
Button button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(intent, 1);
}
});

//保存圖片到伺服器按鈕(通過webservice實現)
Button saveButton = (Button) findViewById(R.id.savePic);
saveButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
testUpload();
}
});
}

/**
* 拍照完成後,回掉的方法
*/
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == Activity.RESULT_OK) {
String sdStatus = Environment.getExternalStorageState();
if (!sdStatus.equals(Environment.MEDIA_MOUNTED)) { // 檢測sd是否可用
Log.v("TestFile",
"SD card is not avaiable/writeable right now.");
return;
}

Bundle bundle = data.getExtras();
Bitmap bitmap = (Bitmap) bundle.get("data");// 獲取相機返回的數據,並轉換為Bitmap圖片格式
FileOutputStream b = null;
File file = new File("/sdcard/myImage/");
file.mkdirs();// 創建文件夾
try {
b = new FileOutputStream(fileName);
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, b);// 把數據寫入文件
} catch (FileNotFoundException e) {
e.printStackTrace();
} finally {
try {
b.flush();
b.close();
} catch (IOException e) {
e.printStackTrace();
}
}
((ImageView) findViewById(R.id.imageView)).setImageBitmap(bitmap);// 將圖片顯示在ImageView里
}
}

/**
* 圖片上傳方法
*
* 1.把圖片信息通過Base64轉換成字元串
* 2.調用connectWebService方法實現上傳
*/
private void testUpload(){
try{
FileInputStream fis = new FileInputStream(fileName);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int count = 0;
while((count = fis.read(buffer)) >= 0){
baos.write(buffer, 0, count);
}
String uploadBuffer = new String(Base64.encode(baos.toByteArray())); //進行Base64編碼
connectWebService(uploadBuffer);
Log.i("connectWebService", "start");
fis.close();
}catch(Exception e){
e.printStackTrace();
}
}

/**
* 通過webservice實現圖片上傳
*
* @param imageBuffer
*/
private void connectWebService(String imageBuffer) {
//以下就是 調用過程了,不明白的話 請看相關webservice文檔
SoapObject soapObject = new SoapObject(namespace, methodName);
soapObject.addProperty("filename", "my.jpg"); //參數1 圖片名
soapObject.addProperty("image", imageBuffer); //參數2 圖片字元串
SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
SoapEnvelope.VER11);
envelope.dotNet = false;
envelope.setOutputSoapObject(soapObject);
HttpTransportSE httpTranstation = new HttpTransportSE(url);
try {
httpTranstation.call(namespace, envelope);
Object result = envelope.getResponse();
Log.i("connectWebService", result.toString());
tv.setText(result.toString());
} catch (Exception e) {
e.printStackTrace();
tv.setText(e.getStackTrace().toString());
}
}

}
服務端webservice方法(cxf)
public String uploadImage(String filename, String image) {
FileOutputStream fos = null;
try{
String toDir = "D:\\work\\image"; //存儲路徑
byte[] buffer = new BASE64Decoder().decodeBuffer(image); //對android傳過來的圖片字元串進行解碼
File destDir = new File(toDir);
if(!destDir.exists()) {
destDir.mkdir();
}
fos = new FileOutputStream(new File(destDir,filename)); //保存圖片
fos.write(buffer);
fos.flush();
fos.close();
return "上傳圖片成功!" + "圖片路徑為:" + toDir;
}catch (Exception e){
e.printStackTrace();
}
return "上傳圖片失敗!";
}

❼ android調用webservice介面都有什麼方式

android調用webservice介面的方法是利用第三方jar包完成。

1、首先如果想在Android平台上調用WebService需要依賴於第三方類庫:ksoap2 而在Android平台上,使用的是ksoap2 Android,一個高效,輕量級的SOAP開發包

熱點內容
行車記錄儀存儲卡多大合適 發布:2025-02-05 09:35:21 瀏覽:109
oppo手機鎖屏密碼忘了怎麼辦 發布:2025-02-05 09:33:50 瀏覽:121
phprsa演算法 發布:2025-02-05 09:33:48 瀏覽:228
快寫編譯器 發布:2025-02-05 09:29:15 瀏覽:587
java隨機驗證碼 發布:2025-02-05 09:27:45 瀏覽:634
word打開密碼怎麼設置 發布:2025-02-05 09:26:58 瀏覽:975
核桃編程課導 發布:2025-02-05 09:25:36 瀏覽:496
編譯內核源碼 發布:2025-02-05 09:17:43 瀏覽:333
雲計算與編程語言 發布:2025-02-05 09:13:17 瀏覽:654
Android三國殺 發布:2025-02-05 09:05:55 瀏覽:243