Медиаплеер как веб-сервис

Я новичок в разработке Android. Мне нужно получить представление о том, как развернуть видео / аудио файл как веб-сервис на сервере Glass-Fish, а затем вызвать веб-сервис с клиентского устройства (Mobile). Пожалуйста, помогите мне получить очень основную идею. Я уже запустил много (простых) приложений на сервере и успешно вызвал их с клиентского устройства. На этот раз нужно вызвать аудио / видео файл и получить его на моем клиентском устройстве.

Спасибо

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

и звонки с клиентского устройства...

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

        }

}

Я уже запустил много (простых) приложений на сервере и успешно вызвал их с клиентского устройства.

Я не уверен, что вы спрашиваете. Аудио или видео файлы передаются так же, как и все остальное. У вас есть те же проблемы, что и при переносе строки "Hello World".

Если это воспроизведение, с которым вы боретесь, это отличный учебник для медиаплеера. MediaPlayer Tutorial

Другие вопросы по тегам