Сервер под приложение на android

Jeron

На чем лучше написать серверную часть для приложения под android?

2 ответа

Jeron

А зачем вам писать сервер для приложения андроид? Вы можете спокойно использовать то, что уже имеется. Зачем изобретать велосипед? Серверы apache, ngnix достаточно хорошо справляются со своими задачами. Но если очень уж нужно, то смотрите в сторону сокетов.

public String connection(String URI, int method, String data, String params){
    System.out.println("BEGIN HTTPS");
    String line = "";
    String content_encoding = null;
    try{
        URL url;
        if(method == GET && data != null){
            url = new URL(URI+"?"+data);
        }else{
            url = new URL(URI);
        }
        HttpsURLConnection huc = (HttpsURLConnection)url.openConnection();
        huc.setConnectTimeout(3000);
        huc.setInstanceFollowRedirects(false);
        huc.setDoOutput(true);
        huc.setDoInput(true);
        if(method == GET){
            huc.setRequestMethod("GET");
        }else if(method == POST){
            huc.setRequestMethod("POST");
        }
        if(params != null){
            applyParamsToConnect(huc, params);
        }
        if(method == POST){
            BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(huc.getOutputStream()));
            bw.write(data);
            bw.flush();
        }
        last_code = huc.getResponseCode();
        content_encoding = huc.getHeaderField("Content-Encoding");
        BufferedReader br = null;
        if(content_encoding == null){
            content_encoding = "NULL_CONTENT";
        }
        if(content_encoding.contains("gzip")){
            br = new BufferedReader(new InputStreamReader(new GZIPInputStream(huc.getInputStream())));
        }else{
            br = new BufferedReader(new InputStreamReader(huc.getInputStream()));
        }
        while(br.ready()){
            line = line+br.readLine()+"\n";
        }
        System.out.println("Код ответа сервера: "+last_code);
        if(last_code == 302){
            System.out.println("ПОЗИЦИЯ ПЕРЕНАПРАВЛЕНИЯ: "+huc.getHeaderField("Location"));
            redirect = huc.getHeaderField("Location"); //Глобальная переменная
        }
        System.out.println("Заголовки ответа: "+huc.getHeaderFields().toString());
        //System.out.println("Тип контента: "+content_encoding);
        //System.out.println("Контент: \n"+line);
        br.close();
    }catch(Exception e){
        e.printStackTrace();
    }
    return line;
}

Вот код скрипта выполняющегося на сервере


Jeron

Раз вы только учитесь, то не советую вам использовать открытые API. Например, github или vk.

licensed under cc by-sa 3.0 with attribution.