Giter VIP home page Giter VIP logo

httppck's Introduction

- bu kütüphane artık geliştirilmemektedir;
+ Sebeb ; Android 11 ile birlikte Google AsyncTask sınıfını kullanımdan kaldırılmıştır.

Pck-Http Android REST (JSON) Client

Httppck, Android uygulamarınızda REST isteklerinizi basit bir şekilde yapabilmek için tasarlanmıştır, Android SDK içinde olan AsyncTask sınıfını kullanarak arka plan isteklerini yürütür..

Not: Kullanıma başlamadan önce bu kütüphanede JSON formatları için GSON kütüphanesi kullanılmıştır aşağıdaki Repository adresinden android projenize ekleyebilirsiniz

 compile 'com.google.code.gson:gson:2.8.1'

Verilmesi gereken yetkiler

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

Kullanım

Aşağıdaki örnek'de belirlenen url'ye bir post isteği yapılmaktadır.

Http http = new HttpBuilder().build(context);
http.post("http://xxxx.com/api/users")
    .data(new UYE("Ali","PIÇAKCI"))
    .send();

Aşağıdaki örnekte tipik, bir isteğin işlenmesi gösterilmiştir

String url = "http://xxx.xxx.xxx/api/xxx.php";
 http.post(url).handler(new ResponseHandler<UYE[]>() {
            private ProgressDialog progressDialog;

            @Override
            public void post() {
                //Ui iş parcaccığında işlem bitene kadar kullanıcıya bir 
                //progressDialog gösteriliyor...
                progressDialog = new ProgressDialog(context);
                progressDialog.setTitle("İşlem yapılıyor lütfen bekleyiniz");
                progressDialog.show();
            }

            @Override
            public void success(UYE[] array, HttpResponse response) {
                //istek yapılan endpoint cevap olarak üyelerin listesini
                //dönmüş ve liste haline getirilmiştir.
                List<UYE> uyeListesi = Arrays.asList(array);t
            }

            @Override
            public void error(String message, HttpResponse response) {
                //sunucudan olabilecek hataların döndüğü durumlarda
                //burada işletilmektedir
                Log.d("Error",message + " " + "\n" + response.getCode());
                Toast.makeText(context,"Bir Hata meydana geldi "+ message
                ,Toast.LENGTH_SHORT)
                        .show();
            }

            @Override
            public void failure(NetworkError error) {
                //ağ hataları burada işletilmektedir
                Toast.makeText(context,"Internet bağlatınız yok," +
                        "Lütfen internet ayarlarınızı kontrol ediniz",
                        Toast.LENGTH_SHORT)
                        .show();
            }

            @Override
            public void complete() {
                //kütüphane ile yapılan istekler ister başarılı ister başarsız olsun 
                //en son complete çağrılmaktadır
                if (progressDialog.isShowing())
                    progressDialog.dismiss();
            }
           
        }).send();

#Token Based Authentication özelliği eklenmiştir. Eğer bir Token Based Authentication sunucunuz varsa bu kütüphaneyle kolayca implemente edebilirsiniz. Aşağıda nasıl kullanılacağı gösterilmiştir...

Not: grant_type değeri default olarak "password" dur..

        Credentials credentials =  new Credentials();
        credentials.username = "xxxx";
        credentials.password = "xxxxx";
        credentials.url = "http://www.xxx.com/token";
        Http http = new HttpBuilder()
                    .authType(AuthType.TokenBasedAuthentication)
                    .credentials(credentials)
                    .build(context);

        http.get("http://www.xxx.com/api/getUsers").handler(responsehandler).send()

httppck's People

Contributors

picakciali avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.