How to connect Android app to web server

后端 未结 4 402
野的像风
野的像风 2021-02-02 04:32

I am working on designing an Android application for my senior design project. The application will need to be able to connect to a web server. The web server is just a locally

相关标签:
4条回答
  • 2021-02-02 04:58

    If you want REST API you can refer here

    Make an HTTP request with android Sending HTTP Post Request with Android

    Else if you want hybrid application you can refer here

    https://cordova.apache.org/

    0 讨论(0)
  • 2021-02-02 04:59

    I think this is use for you

    As per my experience, we have lot of API calling library are available, it is free

    here is a tutorial showing how to create and deploy connection.

    Loopj

    Retrofit

    Volley

    okhttp

    Thanks..

    0 讨论(0)
  • 2021-02-02 05:03

    The best way use volley library

    http://www.androidhive.info/2014/05/android-working-with-volley-library-1/

    0 讨论(0)
  • 2021-02-02 05:13

    It's very interesting to do the connections of the android to the remote server, very anxiety. Below link will help you max for your need.

    Android Connect with Php Mysql

    Android Connection using servlets

    And If you wanna connect the server from the android device by using HttpUrlConnection then follow the below code.

    private static JSONObject get(Context ctx, String sUrl) {
    HttpURLConnection connection = null;
    
    try {
    
        URL url = new URL(sUrl);
        connection = (HttpURLConnection) url.openConnection();
        connection.setRequestProperty("Content-Type", "application/json");
        connection.setRequestProperty("Accept", "application/json");
        connection.setRequestProperty("Authorization",
                "Basic " + encodedAuthentication);
        connection.setRequestProperty("Accept-Charset", "utf-8,*");
        Log.d("Get-Request", url.toString());
        try {
            BufferedReader bufferedReader = new BufferedReader(
                    new InputStreamReader(connection.getInputStream()));
            StringBuilder stringBuilder = new StringBuilder();
            String line;
            while ((line = bufferedReader.readLine()) != null) {
                stringBuilder.append(line).append("\n");
            }
            bufferedReader.close();
            Log.d("Get-Response", stringBuilder.toString());
            return new JSONObject(stringBuilder.toString());
        } finally {
            connection.disconnect();
        }
    } catch (Exception e) {
        Log.e("ERROR", e.getMessage(), e);
        return null;
    }
    }
    
    private static String buildSanitizedRequest(String url,
                                            Map<String, String> mapOfStrings) {
    
    Uri.Builder uriBuilder = new Uri.Builder();
    uriBuilder.encodedPath(url);
    if (mapOfStrings != null) {
        for (Map.Entry<String, String> entry : mapOfStrings.entrySet()) {
            Log.d("buildSanitizedRequest", "key: " + entry.getKey()
                    + " value: " + entry.getValue());
            uriBuilder.appendQueryParameter(entry.getKey(),
                    entry.getValue());
        }
    }
    String uriString;
    try {
        uriString = uriBuilder.build().toString(); // May throw an
        // UnsupportedOperationException
    } catch (Exception e) {
        Log.e("Exception", "Exception" + e);
    }
    
    return uriBuilder.build().toString();
    
    }
    

    And Json calling part should look like,

    public static JSONObject exampleGetMethod(Context ctx, String sUrl, String username, String password) throws JSONException, IOException {
    Map<String, String> request = new HashMap<String, String>();
    request.put("username", username);
    request.put("password",password);
    
    sUrl = sUrl + "yourApiName";
    return get(ctx, buildSanitizedRequest(sUrl, request));
    }
    
    0 讨论(0)
提交回复
热议问题