2016-04-30 8 views
1

私はアンドロイド開発で新しくなっています。 GlassFishサーバーでWebサービスとしてVideo/Audioファイルをデプロイしてから、クライアントデバイス(Mobile)からWebサービスを呼び出す方法を知る必要があります。私に非常に基本的な考えを手伝ってください。私はすでに多くの(シンプルな)アプリケーションをサーバー上で実行し、クライアントデバイスから正常に呼び出されました。今回は、オーディオ/ビデオファイルを呼び出してクライアントデバイスで取得する必要があります。Webserviceとしてのメディアプレーヤー

おかげ

答えて

0

私はすでにサーバー上の多くの(簡単な)アプリケーションを実行し、成功したクライアントデバイスから 彼らを呼んでいます。

あなたが何を求めているのかわかりません。オーディオやビデオのファイルは他のすべてと同じように転送されます。 「Hello World」Stringの転送と同じ問題があります。

ここで苦労している再生の場合は、素晴らしいメディアプレーヤーのチュートリアルです。 MediaPlayer Tutorial

+0

実際、私は新しく、質問をはっきり説明できませんでした。さて、あなたが与えたリンクは、アンドロイド用のメディアプレイヤーを開発することです。私の質問は、このメディアプレーヤーをサーバー上で実行することです。私はモバイル(クライアント)デバイスからのオーディオファイルの再生要求を送信する必要があり、サーバーは応答する必要があります。そのような考えはありますか?私はサーバー上で非常に多くの単純なアプリケーションを実行し、クライアントデバイスから引数を渡し、結果の値をクライアントデバイスに戻しました。 – Mushtaq

+0

私はサーバー上で実行するmediaplyerと同じものを必要とし、私は曲要求を送信し、サーバーは曲要求処理を行い、再生した内容をmob装置に送り返す必要があります。ありがとう – Mushtaq

+0

いくつかのコード例を見せてください。 – Valitos

0

2つのウェブサーバークラスは...

1-

package org.ali.javabrains.business; 

import java.util.ArrayList; 
import java.util.List; 

public class BusinessProductImpl { 

List<String> bookList= new ArrayList<String>(); 
List<String> moviesList= new ArrayList<String>(); 
List<String> musicList= new ArrayList<String>(); 

public BusinessProductImpl(){ 

    bookList.add("swatnama"); 
    bookList.add("yadona"); 
    bookList.add("ka ta raghali za ba gul sham"); 

    musicList.add ("hamayun album1"); 
    musicList.add ("bkhtayar Khatak"); 
    musicList.add ("zare sandary"); 

    moviesList.add("bajrangi bhai jan"); 
    moviesList.add("Terminator 2"); 
    moviesList.add("Salam Namasty"); 
} 

public List<String> getProductCategories(){ 

List<String> categories=new ArrayList<>(); 
categories.add("books"); 
categories.add("Movies"); 
categories.add("Music"); 
return categories; 
} 

public List<String> getProducts(String category){ 
    switch (category.toLowerCase()) { 
    case "books": 
     return bookList; 
    case "music": 
     return musicList; 
    case "movies": 
     return moviesList; 
    } 
     return null; 
    } 
public boolean addProduct(String category, String product){ 

    switch (category.toLowerCase()) { 
    case "books": 
     bookList.add(product); 
     break; 
    case "music": 
     musicList.add(product); 
     break; 
    case "movies": 
     moviesList.add(product); 
     break; 
    default: 
     return false; 
    } 
     return true; 
} 

} 

2- .....

package org.ali.javabrains; 

import java.util.List; 
import org.ali.javabrains.business.BusinessProductImpl; 
import javax.jws.WebMethod; 
import javax.jws.WebService; 

@WebService 
public class ProductCatalog { 

BusinessProductImpl BpImpl=new BusinessProductImpl(); 
@WebMethod 
public List<String> getProductCategories(){ 
return BpImpl.getProductCategories(); 
} 

@WebMethod 
public List<String> getProducts(String category){ 
    return BpImpl.getProducts(category); 
} 
public boolean addProduct(String category, String product){ 
    return BpImpl.addProduct(category, product); 
} 

public int addnumbers(int a, int b){ 
    return (a+b); 
} 
public int minusnumbers(int a, int b){ 
    return (a-b); 
} 
} 

とクライアントデバイスからコールされています...

package com.example.bookwservice; 



import org.ksoap2.SoapEnvelope; 
import org.ksoap2.serialization.SoapObject; 
import org.ksoap2.serialization.SoapPrimitive; 
import org.ksoap2.serialization.SoapSerializationEnvelope; 
import org.ksoap2.transport.AndroidHttpTransport; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 
import android.widget.TextView; 

public class MainActivity extends Activity { 
private static final String 
    SOAP_ACTION1="http://javabrains.ali.org/addnumbers"; 
private static final String METHOD_NAME1="addnumbers"; 
private static final String 
SOAP_ACTION2="http://javabrains.ali.org/minusnumbers"; 
private static final String METHOD_NAME2="minusnumbers"; 
private static final String NAMESPACE="http://javabrains.ali.org/"; 
private static final String 
URL="http://172.25.181.54:8080/TestWeb/ProductCatalogService"; 
TextView tv1, tv2, tv3; 
EditText et1, et2,et3; 
Button bt1, bt2, bt3; 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    tv1=(TextView)findViewById(R.id.textView1); 
    tv2=(TextView)findViewById(R.id.textView2); 
    tv3=(TextView)findViewById(R.id.textView3); 

    et1=(EditText)findViewById(R.id.editText1); 
    et2=(EditText)findViewById(R.id.editText2); 
    et3=(EditText)findViewById(R.id.editText3); 

    bt1=(Button)findViewById(R.id.button1); 
    bt2=(Button)findViewById(R.id.button2); 
    bt3=(Button)findViewById(R.id.button3); 
    et1.requestFocus(); 

    bt1.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

    SoapObject request=new SoapObject(NAMESPACE, METHOD_NAME1); 
    request.addProperty("arg0",et1.getText().toString()); 
    request.addProperty("arg1",et2.getText().toString()); 


    SoapSerializationEnvelope soapEnvelope =new 
    SoapSerializationEnvelope(SoapEnvelope.VER11); 
    soapEnvelope.dotNet=false; 
    soapEnvelope.setOutputSoapObject(request); 

    AndroidHttpTransport aht=new AndroidHttpTransport(URL); 
    try { 
     aht.call(SOAP_ACTION1, soapEnvelope); 
     SoapPrimitive resultString= 
     (SoapPrimitive)soapEnvelope.getResponse(); 

      et3.setText("" +resultString); 

     } 

    catch (Exception e){ 

     e.printStackTrace(); 
    } 
     }}); 


    bt2.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 

    SoapObject request=new SoapObject(NAMESPACE, METHOD_NAME2); 
    request.addProperty("arg0",et1.getText().toString()); 
    request.addProperty("arg1",et2.getText().toString()); 


    SoapSerializationEnvelope soapEnvelope =new 
    SoapSerializationEnvelope(SoapEnvelope.VER11); 
    soapEnvelope.dotNet=false; 
    soapEnvelope.setOutputSoapObject(request); 

    AndroidHttpTransport aht=new AndroidHttpTransport(URL); 
    try { 
     aht.call(SOAP_ACTION2, soapEnvelope); 
     SoapPrimitive resultString= 

     (SoapPrimitive)soapEnvelope.getResponse(); 

      et3.setText("" +resultString); 

     } 

    catch (Exception e){ 

     e.printStackTrace(); 
    } 
     }}); 

    bt3.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      try { 

        et1.setText(""); 
        et2.setText(""); 
        et3.setText(""); 
        et1.requestFocus(); 

       } 

      catch (Exception e){ 

       e.printStackTrace(); 
      } 
       }}); 

     } 

} 
関連する問題