Monthly Archives: March 2017

ارتباط سریع با اینترنت در اندروید

کتابخانه های زیاد برای برقراری ارتباط با اینترنت برای اندروید وجود دارد اما یک کتابخانه جامع که بتونه اکثر نیاز های ما را هنگام برنامه نویسی رفع کنه خیلی مفید خواهد بود همچنین این کتابخونه باید به گونه ای باشه که کار باهاش ساده باشه و برنامه نویس را زیاد درگیر کدنویسی نکنه درواقع کدنویسی رو برای ما کاهش بده کتابخونه ای که در ادامه معرفی میکنیم دارای این ویژگی ها مفید است پس این کتابخونه را از دست ندهید 🙂

نام این کتابخونه : Fast Android Networking Library

نحوه استفاده :

برای افزودن این کتابخونه به پروژه کد زیر رو در build.gradle خود اضافه کنید

compile 'com.amitshekhar.android:android-networking:1.0.0'

برای اجازه دسترسی با اینترنت هم باید کد زیر رو در manifest پروژتون اضافه کنید

در متد onCreate کلاس application کد زیر رو مینویسیم این کد کتابخونه ما رو مقدار دهی اولیه  میکنه و برای استفاده اماده میکنه

AndroidNetworking.initialize(getApplicationContext());

// Adding an Network Interceptor for Debugging purpose:
OkHttpClient okHttpClient = new OkHttpClient().newBuilder().addNetworkInterceptor(new StethoInterceptor()).build();
AndroidNetworking.initialize(getApplicationContext(),okHttpClient);

Making a GET Request :

AndroidNetworking.get("https://fierce-cove-29863.herokuapp.com/getAllUsers/{pageNumber}")
                 .addPathParameter("pageNumber", "0")
                 .addQueryParameter("limit", "3")
                 .addHeaders("token", "1234")
                 .setTag("test")
                 .setPriority(Priority.LOW)
                 .build()
                 .getAsJSONArray(new JSONArrayRequestListener() {
                    @Override
                    public void onResponse(JSONArray response) {
                      // do anything with response
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error
                    }
                });

 

 

Making a POST Request

AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/createAnUser")
                 .addBodyParameter("firstname", "Amit")
                 .addBodyParameter("lastname", "Shekhar")
                 .setTag("test")
                 .setPriority(Priority.MEDIUM)
                 .build()
                 .getAsJSONObject(new JSONObjectRequestListener() {
                    @Override
                    public void onResponse(JSONObject response) {
                      // do anything with response
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error
                    }
                });

You can also post java object, json, file, etc in POST request like this.

User user = new User();
user.firstname = "Amit";
user.lastname = "Shekhar";

AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/createUser")
                 .addBodyParameter(user) // posting java object
                 .setTag("test")
                 .setPriority(Priority.MEDIUM)
                 .build()
                 .getAsJSONArray(new JSONArrayRequestListener() {
                    @Override
                    public void onResponse(JSONArray response) {
                      // do anything with response
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error
                    }
                });


JSONObject jsonObject = new JSONObject();
try {
    jsonObject.put("firstname", "Amit");
    jsonObject.put("lastname", "Shekhar");
} catch (JSONException e) {
  e.printStackTrace();
}
       
AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/createUser")
                 .addJSONObjectBody(jsonObject) // posting json
                 .setTag("test")
                 .setPriority(Priority.MEDIUM)
                 .build()
                 .getAsJSONArray(new JSONArrayRequestListener() {
                    @Override
                    public void onResponse(JSONArray response) {
                      // do anything with response
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error
                    }
                });
                
AndroidNetworking.post("https://fierce-cove-29863.herokuapp.com/postFile")
                 .addFileBody(file) // posting any type of file
                 .setTag("test")
                 .setPriority(Priority.MEDIUM)
                 .build()
                 .getAsJSONObject(new JSONObjectRequestListener() {
                    @Override
                    public void onResponse(JSONObject response) {
                      // do anything with response
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error
                    }
                });

Using it with your own JAVA Object – JSON Parser

/*--------------Example One -> Getting the userList----------------*/
AndroidNetworking.get("https://fierce-cove-29863.herokuapp.com/getAllUsers/{pageNumber}")
                .addPathParameter("pageNumber", "0")
                .addQueryParameter("limit", "3")
                .setTag(this)
                .setPriority(Priority.LOW)
                .build()
                .getAsObjectList(User.class, new ParsedRequestListener<List<User>>() {
                    @Override
                    public void onResponse(List<User> users) {
                      // do anything with response
                      Log.d(TAG, "userList size : " + users.size());
                      for (User user : users) {
                        Log.d(TAG, "id : " + user.id);
                        Log.d(TAG, "firstname : " + user.firstname);
                        Log.d(TAG, "lastname : " + user.lastname);
                      }
                    }
                    @Override
                    public void onError(ANError anError) {
                     // handle error
                    }
                });
/*--------------Example Two -> Getting an user----------------*/
AndroidNetworking.get("https://fierce-cove-29863.herokuapp.com/getAnUserDetail/{userId}")
                .addPathParameter("userId", "1")
                .setTag(this)
                .setPriority(Priority.LOW)
                .build()
                .getAsObject(User.class, new ParsedRequestListener<User>() {
                     @Override
                     public void onResponse(User user) {
                        // do anything with response
                        Log.d(TAG, "id : " + user.id);
                        Log.d(TAG, "firstname : " + user.firstname);
                        Log.d(TAG, "lastname : " + user.lastname);
                     }
                     @Override
                     public void onError(ANError anError) {
                        // handle error
                     }
                 }); 
/*-- Note : YourObject.class, getAsObject and getAsObjectList are important here --*/

دانلود یک فایل از سرور

AndroidNetworking.download(url,dirPath,fileName)
                 .setTag("downloadTest")
                 .setPriority(Priority.MEDIUM)
                 .build()
                 .setDownloadProgressListener(new DownloadProgressListener() {
                    @Override
                    public void onProgress(long bytesDownloaded, long totalBytes) {
                      // do anything with progress  
                    }
                 })
                 .startDownload(new DownloadListener() {
                    @Override
                    public void onDownloadComplete() {
                      // do anything after completion
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error    
                    }
                });

اپلود فایل به سرور

AndroidNetworking.upload(url)
                 .addMultipartFile("image",file)    
                 .addMultipartParameter("key","value")
                 .setTag("uploadTest")
                 .setPriority(Priority.HIGH)
                 .build()
                 .setUploadProgressListener(new UploadProgressListener() {
                    @Override
                    public void onProgress(long bytesUploaded, long totalBytes) {
                      // do anything with progress 
                    }
                 })
                 .getAsJSONObject(new JSONObjectRequestListener() {
                    @Override
                    public void onResponse(JSONObject response) {
                      // do anything with response                
                    }
                    @Override
                    public void onError(ANError error) {
                      // handle error 
                    }
                 });

معرفی ربات پیشرفته اموزشی مدارس هوشمند

تلگرام به دلیل فراگیر شدنش در ایران و قابلیت ساخت ربات در آن می تواند بستر مناسبی برای آموزش دانش آموزان فراهم کند در ادامه با ربات هوشمند ezlearnbot بیشتر آشنا شوید

“Read More”


فشرده سازی عکس بدون افت کیفیت

دلایل زیادی وجود دارد که باعث می شود بخواهیم عکس های خودمان را تا حد ممکن و بدون افت کیفیت کاهش حجم دهیم

در ویندوز برنامه های مختلفی برای این کار وجود داره که با یه جستجوی ساده می توان برنامه ای مناسب برای این کار پیدا کرد

Optimize Jpeg Images

در این پست ما نحوه کاهش حجم عکس هایی با فرمت های png و jpg را در توزیع محبوب ابونتو اموزش می دهیم . ابتدا برای کاهش حجم تصاویر با فرمت jpg باید برنامه jpegOptim را نصب کنیم به صورت زیر

sudo apt-get install jpegoptim

بعد از نصب شدن برنامه به پوشه ای که عکس مورد نظر در آن قرار دارد رفته و روی پنجره راست کلیک می کنیم و open terminal را می زنیم و کد زیر را درون ان می نویسیم

jpegoptim filename.jpg

که باید به جای filename.jpg نام فایل خودتون را بنویسید و اینتر را بزنید تا کاهش حجم شروع شود . حالا چگونه می توانیم حجم عکس مورد نظر را به اندازه دلخواه خود تغییر دهیم ؟ در کد زیر ما تعیین میکنیم که حجم عکس باید به 250 کیلوبایت کاهش یابد :

jpegoptim --size=250k fileName.jpg

Optimizing PNG images

اما با  این روش نمیتوانیم  حجم عکس های png را کاهش دهیم برای عکس های png باید برنامه OptiPNG را نصب کنید

sudo apt-get install optipng

روش کار این برنامه هم تقریبا مشابه برنامه jpegOptim است برای کاهش حجم خودکار فایل های png به این صورت عمل میکنیم :

optipng filename.png

 

 


معرفی ربات مسابقه خوانندگی و موسیقی و دابسمش

در این پست به معرفی ربات playme می پردازیم

playme.ir که یک سایت تازه تاسیس در زمینه موسیقی است مسابقه ای در زمینه های خوانندگی و نوازندگی و دابسمش با جوایز نفیس برگزار می کند برای شرکت در این مسابقه استعداد یابی می توانید با کلیک روی لینک زیر وارد ربات مسابقه شده و ویدیو خود را برای مسابقه ارسال کنید

ربات مسابقه: @playme_ir_bot

جوایز نفر اول در هربخش نیم سکه و نفرات دوم و سوم رب سکه می باشد

ساخت ربات تلگرام

 بعد از ورود به ربات به بخش ثبت نام برید و اسمو مشخصات خود را تکمیل کنید سپس به قسمت شرکت در مسابقه برید و مسابقه ای که می خواید در ان شرکت کنید را انتخاب کنید بعد از ان می توانید ویدیو خود را برای مسابقه ارسال کنید

بعد از اسال ویدیو کارشناسان ویدیو شما را برسی میکنند و درصورت نبود مشگل ان را تایید میکنند در قسمت اشتراک گذاری می توانید ویدیو های تایید شده خود را مشاهده کنید

برای سفارش ربات می توانید با ایمیل:

nvioir@gmail.com

و یا ایدی تلگرام :

@nvioir

در ارتباط باشید