Android: есть ли способ изменить URL MediaPlayer? - PullRequest
1 голос
/ 19 февраля 2012

есть ли способ изменить URL-адреса без компиляции приложения или развертывания после того, как я вышел на рынок?URL может измениться в будущем или указывать на разные URL.

В настоящее время я жестко кодирую URL-адреса как-то так:

Ответы [ 2 ]

4 голосов
/ 19 февраля 2012

Не кодируйте ваш URL во время сборки проекта, подумайте о написании кода, который динамически разрешает его во время выполнения приложения. например, вы можете создать статическую HTML-страницу (содержащую список реальных URL-адресов mp3), жестко закодировать эту статическую URL-страницу HTML во время сборки проекта, каждый раз, когда ваше приложение запускается, запрашивать эту статическую HTML-страницу, чтобы получить Дата mp3 URL во время выполнения приложения. Есть много альтернативных способов добиться этого, просто дать вам некоторую подсказку, надеюсь, это поможет.

0 голосов
/ 21 февраля 2012

вот что я нашел способ прочитать HTML-файл:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;

import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;

public class Get_Webpage {

    public String parsing_url = "";

    public Get_Webpage(String url_2_get){       
        parsing_url = url_2_get;
    }

    public String get_webpage_source(){

        HttpClient client = new DefaultHttpClient();
        HttpGet request = new HttpGet(parsing_url);
        HttpResponse response = null;
        try {
            response = client.execute(request);
        } catch (ClientProtocolException e) {

        } catch (IOException e) {

        }

        String html = "";
        InputStream in = null;
        try {
            in = response.getEntity().getContent();
        } catch (IllegalStateException e) {

        } catch (IOException e) {

        }
        BufferedReader reader = new BufferedReader(new InputStreamReader(in));
        StringBuilder str = new StringBuilder();
        String line = null;
        try {
            while((line = reader.readLine()) != null)
            {
                str.append(line);
            }
        } catch (IOException e) {

        }
        try {
            in.close();
        } catch (IOException e) {

        }
        html = str.toString();

        return html;
    }

}

тогда вы читаете так:

try {
    Get_Webpage obj = new Get_Webpage("http://ofertaweb.ro/android/sleepandlovemusic/list_files.php");
    directory_listings = obj.get_webpage_source();
} catch (Exception e) {
    }

//Log.d("director listing", directory_listings);

songs_array = directory_listings.split(":::");
...