2016-04-30 8 views
1

Ich bin neu in Android-Entwicklung. Ich muss mir eine Idee darüber machen, wie man eine Video/Audio-Datei als Web-Service auf dem glass-fish Server bereitstellt und dann den Web-Service vom Client-Gerät (Mobile) aus anruft. Bitte helfen Sie mir, eine sehr grundlegende Idee zu bekommen. Ich habe bereits viele (einfache) Anwendungen auf dem Server ausgeführt und sie erfolgreich vom Client-Gerät aus aufgerufen. Dieses Mal müssen Sie eine Audio-/Videodatei aufrufen und auf meinem Client-Gerät abrufen.Media Player als Webservice

Dank

Antwort

0

Ich habe schon viele (einfach) Anwendungen auf dem Server laufen und sie genannt erfolgreich von Client-Gerät.

Ich bin mir nicht sicher, was Sie fragen. Audio- oder Videodateien werden auf die gleiche Weise wie alle anderen Dateien übertragen. Sie haben die gleichen Herausforderungen wie die Übertragung eines "Hallo Welt" -Strings.

Wenn es um die Wiedergabe geht, mit der Sie hier Schwierigkeiten haben, ist ein großartiges Tutorial für Mediaplayer. MediaPlayer Tutorial

+0

Eigentlich bin ich neu und konnte meine Frage nicht klar erklären. Nun, die Verbindung, die Sie gegeben haben, ist nur über die Entwicklung eines Mediaplayer für Android. Meine Frage ist, dass ich möchte, dass dieser Mediaplayer auf dem Server läuft. Ich muss die Anforderung zum Abspielen einer Audiodatei vom Mobile (Client) Gerät senden und der Server sollte antworten. Gibt es eine solche Idee? Ich habe so viele einfache Anwendungen auf dem Server ausgeführt und Argumente vom Client-Gerät übergeben und die resultierenden Werte zurück auf mein Client-Gerät bekommen. – Mushtaq

+0

Genau das gleiche muss ich für einen MediaPlayer auf dem Server laufen und ich sende die Song-Anfrage, Server sollte Song-Anfrage verarbeiten und senden Sie die abgespielten Inhalte auf Mob-Gerät zurück. Danke – Mushtaq

+0

Zeig mir ein Beispielcode. – Valitos

0

die beiden Webserver-Klassen sind ...

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); 
} 
} 

und die Anrufe von Client-Gerät sind ...

1-

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(); 
      } 
       }}); 

     } 

}