android - লপম - ভলিবলের ওজন




ভলি অ্যান্ড্রয়েড নেটওয়ার্কিং লাইব্রেরি (13)

আমি আমার প্রকল্পে ভলি ব্যবহার করে প্রায় কয়েক প্রশ্ন আছে:

  1. এই লাইব্রেরি কি কোনও জাভা প্রকল্পে বা শুধু অ্যান্ড্রয়েড ব্যবহার করা যেতে পারে?
  2. আমি here একাধিক শাখা এবং কোন ডকুমেন্টেশন সঙ্গে শাখা শুরু হয় দেখতে। আমি কোন শাখা দিয়ে শুরু করতে ব্যবহার করা উচিত?
  3. কিভাবে আপনি আপনার নিজস্ব প্রকল্পে এই লাইব্রেরি সংহত করবেন? কোন পদ্ধতিটি আরও ভাল: ভলিটিকে একটি স্বতন্ত্র লাইব্রেরি প্রকল্প হিসাবে তৈরি করুন এবং একটি জার স্পিন করুন এবং আপনার প্রকল্পে রাখুন বা আপনার প্রকল্পের ভিতরে সমস্ত সোর্স কোড কপি করুন?

1) এই লাইব্রেরিটি সাধারণ জাভা প্রকল্পগুলিতে নেটওয়ার্কিং লাইব্রেরি হিসাবেও ব্যবহার করা যেতে পারে অথবা এটি কেবল Android এর জন্যই কঠোরভাবে

এটি কেবল অ্যান্ড্রয়েডের জন্য, কারণ এটি অ্যানড্রইড-নির্দিষ্ট ক্লাসগুলিতে নির্ভর করে। আপনি RequestQueue মতো RequestQueue জন্য উৎস কোডটি দেখতে RequestQueue

2) আমি এখানে একাধিক শাখা এবং কোন ডকুমেন্টেশন সঙ্গে শাখা শুরু হয় দেখতে। আমি কোন শাখা দিয়ে শুরু করতে ব্যবহার করা উচিত?

গুগল I | O উপস্থাপনা থেকে নির্দেশনাগুলি কেবল git রেপো ক্লোন করা, যা ডিফল্টভাবে master শাখা থেকে git

3) কিভাবে আপনার নিজস্ব প্রকল্পে এই লাইব্রেরি সংহত করতে? কোন পদ্ধতিটি আরও ভাল: ভলিটিকে একটি স্ট্যান্ডলোন লাইব্রেরী প্রকল্প হিসাবে তৈরি করুন এবং একটি জার স্পিন করুন এবং আপনার প্রোজেক্টে রাখুন বা আপনার প্রকল্পের ভিতরে সমস্ত সোর্স কোড অনুলিপি করবেন?

Google I | O উপস্থাপনা থেকে নির্দেশনাগুলি আপনার প্রোজেক্টে সোর্স কোড যুক্ত করতে ছিল। ব্যক্তিগতভাবে, আমি এই একটি উদ্ভট পদ্ধতির খুঁজে পেতে।


ভলি আপনার বর্তমান প্রকল্প repo একটি গিট সাবমডিউল হিসাবে যোগ করা যেতে পারে। এই জিট সাবমিউলি ভলি এর সরকারী গিট repo নির্দেশ করবে। তাই আপনি শুধুমাত্র অ্যাডমিন পয়েন্টার আপডেট করে অফিসিয়াল গিট repo থেকে আপডেট পেতে পারেন।

আরও যদি আপনি আপনার মূল প্রকল্পে লাইব্রেরী মডিউল হিসাবে ভলি যোগ করেন তবে আপনি এটি সহজেই কাস্টমাইজ করতে পারেন। এটি পাশাপাশি ডিবাগিং উদ্দেশ্যে খুব দরকারী হবে।

এই অর্জন করতে নিচের পদক্ষেপগুলি অনুসরণ করুন:

পদক্ষেপ আমি:

অ্যান্ড্রয়েড অ্যাপ্লিকেশন প্রকল্প জিআইটি রেপোতে সাবডিউল হিসাবে ভলি যোগ করুন। জিটি স submodule অ্যাড-বি মাস্টার here লাইব্রেরি / ভলি

ধাপ ২:

Settings.gradle এ, স্টুডিও প্রকল্প মডিউল হিসাবে ভলি যোগ করার জন্য নীচের যোগ করুন। অন্তর্ভুক্ত করুন: ভলি প্রকল্প (': ভলি')। projectDir = নতুন ফাইল ('../ লাইব্রেরি / ভলি')

ধাপ তৃতীয়:

অ্যাপ্লিকেশন / build.gradle এ, ভলি কম্পাইল প্রকল্প (': ভলি') কম্পাইল করার জন্য নিচের লাইন যুক্ত করুন।

যে সব হবে! ভলি সফলভাবে প্রকল্প যোগ করা হয়েছে।

আপনি যখনই Google অফিসিয়াল ভলি এর রেপো থেকে সর্বশেষ কোড পেতে চান, কেবল নীচের কমান্ড চালান

git submodule foreach git pull

আরো বিস্তারিত তথ্যের জন্য: gitsubmoduleasandroidtudiomodule.blogspot.in

জিআইটি রেপো নমুনা কোড: https://github.com/arpitratan/AndroidGitSubmoduleAsModule


ভবিষ্যতের পাঠকদের জন্য

আমি ভলি সঙ্গে কাজ করতে ভালোবাসি। ডেভেলপমেন্ট সময় বাঁচানোর জন্য আমি আমার প্রকল্পের সাথে ভলি সেটআপ করার জন্য ছোট সহজ লাইব্রেরি গ্লক্সে নেটওয়াক ম্যানেজার লিখতে চেষ্টা করেছি। এতে JSON পার্সার এবং বিভিন্ন অন্যান্য পদ্ধতি রয়েছে যা নেটওয়ার্ক উপলব্ধতা পরীক্ষা করতে সহায়তা করে।

গ্রন্থাগার ConnectionManager.class করে যা ভলি স্ট্রিং এবং ভলি JSON অনুরোধগুলির জন্য বিভিন্ন পদ্ধতি উপলব্ধ। আপনি GET, PUT, POST, শিরোনাম সহ বা বিনা মুছে ফেলার অনুরোধ করতে পারেন। আপনি এখানে সম্পূর্ণ ডকুমেন্টেশন পড়তে পারেন।

শুধু আপনার ধাক্কা ফাইল এই লাইন রাখুন।

নির্ভরতা {

   compile 'io.gloxey.gnm:network-manager:1.0.1'

}


অ্যান্ড্রয়েড স্টুডিও 1.0.2 এ একটি ভলি জার (বা কোন জার) যোগ করা এখন অনেক সহজ। অ্যানড্রয়েড স্টুডিওর বাইরের থেকে, volley.jar কে <yourproject>/app/libs volley.jar <yourproject>/app/libs volley.jar অনুলিপি <yourproject>/app/libs (যা ইতিমধ্যে বিদ্যমান থাকা উচিত)। ডিফল্ট গ্র্যাডল সেটআপ এই লাইনটি অন্তর্ভুক্ত করে:

 compile fileTree(dir: 'libs', include: ['*.jar'])

... সবকিছু এখন সেট আপ করা হয়। সম্ভবত এটি প্রদর্শিত হতে পারে না কারণ ডিফল্ট প্রকল্প কাঠামো দেখুন (File -> Project Structure) libs ডিরেক্টরিটি দেখায় না। এটি দেখতে, প্রোজেক্টে Android পরিবর্তন করতে আপনি প্রকল্প কাঠামো দৃশ্যের উপরে স্পিনার ব্যবহার করতে হবে।

আপনি দেখতে পারেন যে এটি অ্যাপ্লিকেশনটি নির্মাণের মাধ্যমে কাজ করছে (প্রয়োজন হতে পারে না), এবং তারপরে কিছু কোড টাইপ করা শুরু করুন:

 RequestQueue request

আপনি দেখতে পাবেন যে অ্যান্ড্রয়েড স্টুডিওটি আপনার অনুরোধ RequestQueue (com.android.volley) সাথে প্রম্পট করে।


আপনি যদি অ্যান্ড্রয়েড স্টুডিও ব্যবহার করেন যা আপনাকে এই লাইনটি ধীরে ধীরে ফাইল করাতে হবে

compile 'com.mcxiaoke.volley:library:1.0.15'

যদি আপনি GET পদ্ধতিটি ব্যবহার করতে চান তবে আপনার এমন কিছু হওয়া উচিত।

private void weatherData() {
    JsonObjectRequest jsonObjReq = new JsonObjectRequest(
        Request.Method.GET,
        "URL with JSON data",
        new Response.Listener<JSONObject>() {
             @Override
             public void onResponse(JSONObject response) {
                 try {
                      //Your code goes here      
                 } catch (JSONException e) {
                      Log.e("TAG", e.toString());
                 }
             }
        }, 
        new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
            }
        });
    // Adding request to request queue
    AppController.getInstance().addToRequestQueue(jsonObjReq);
}

কিন্তু আপনি যদি সার্ভারে ডেটা পোস্ট করতে চান, তবে আপনাকে অবশ্যই একটি হ্যাশম্যাপ এবং ভলি লাইব্রেরি তৈরি করতে হবে যারা কী / জোড়া মানগুলি JSON বস্তুগুলিতে সার্ভারে পোস্ট করার আগে পরিবর্তন করে। এখানে একটি উদাহরণ।

final HashMap<String, String> postParams = new HashMap<String, String>();
postParams.put("username", username);
postParams.put("password", password);

Response.Listener<JSONObject> listener;
Response.ErrorListener errorListener;
final JSONObject jsonObject = new JSONObject(postParams);

JsonObjectRequest jsonObjReq = new JsonObjectRequest(
    "YOUR URL WITH JSON DATA", 
    jsonObject,
    new com.android.volley.Response.Listener<JSONObject>() {
        @Override
        public void onResponse(JSONObject response) {
            Log.d("TAG", response.toString());
            try {
                if (response.getString("status").equals("fail")) {

                } else if (response.getString("status").equals("success")) {

                } catch (JSONException e) {
                     Log.e("TAG", e.toString())
                }
            }
        }, 
        new com.android.volley.Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
             //VolleyLog.d("TAG", "Error: " + error.getMessage());
            //pDialog.dismiss();

        }
    }) {
        @Override
        public String getBodyContentType() {
            return "application/json; charset=utf-8";
        }
    };
    // Adding request to request queue
    AppController.getInstance().addToRequestQueue(jsonObjReq, tag_json_obj);

    VolleySingleton.getInstance(getApplicationContext()).
    addToRequestQueue(jsonObjRequest);
 }

আমি ভলি প্রকল্প ক্লোন করেছি এবং কনফিগারেশন ফাইল যোগ করেছি যা গ্র্যাডেল দিয়ে লাইব্রেরী তৈরি করার অনুমতি দেয়।

এর সাথে আপনি লাইব্রেরিকে আপনার স্থানীয় মেনন রিপোজিটরিতে ইনস্টল করতে পারেন এবং গ্র্যাডেলের মাধ্যমে একটি Android প্রকল্প থেকে এটি উল্লেখ করতে পারেন।

আবশ্যকতা

  1. ম্যাভেন
  2. Gradle

ব্যবহারবিধি

  1. আমার সংগ্রহস্থল ক্লোন
  2. ভলি লাইব্রেরি তৈরি এবং ইনস্টল করুন
  3. একটি অ্যান্ড্রয়েড প্রকল্পের লাইব্রেরি রেফারেন্স

বাগ সংশোধন করা হয়েছে

অনুগ্রহ করে মনে রাখবেন লাইব্রেরির উন্নতির জন্য সেখানে বিভিন্ন ক্লোন রয়েছে । এটি তাদের সংহত করতে এবং লাইব্রেরির আপনার ব্যক্তিগত উন্নত সংস্করণটি কম্পাইল করা প্রয়োজন হতে পারে।

উপকারিতা

লাইব্রেরি ছাড়াও বিল্ড স্ক্রিপ্ট জাভাডোক এবং উত্স আর্কাইভ জেনারেট করে।


এখানে একটি ভলি Http অনুরোধের জন্য একটি ছোট Quickstart, এটি সংহত করার জন্য অত্যন্ত সহজ।

  • আপনি একটি আবেদন প্রশস্ত ভলি অনুরোধ Queue প্রয়োজন:

    1. private static RequestQueue reqQueue;

আপনি এটি আপনার অ্যাপ্লিকেশন ক্লাসে রাখতে পারেন এবং getRequestQueue () মাধ্যমে এটি স্থিরভাবে উপলব্ধ করতে পারেন।

  • তারপরে আপনি ভলি সহ প্রথম অনুরোধটি চালানোর জন্য ইতিমধ্যেই RequestQueue.add () পদ্ধতিটি ব্যবহার করতে পারেন।

    2. reqQueue.add(...)
  • একক বস্তুর জন্য অনুসন্ধান করতে JsonObjectRequest ব্যবহার করুন, বস্তুর তালিকা অনুসন্ধানের জন্য জসনআরেইউরেস্টেস্ট ব্যবহার করুন।

    queue.add(new JsonArrayRequest(URL, new Listener<JSONArray>() {
    
        @Override
        public void onResponse(JSONArray response) {
            //SUCCESS
        }}, new ErrorListener() {
    
        @Override
        public void onErrorResponse(VolleyError error) {
            //ERROR
        }}));
  • আপনার সার্ভার-পার্শ্বে Http মেয়াদ শেষ করতে হেডার সেট করতে মনে রাখবেন তাই ভলি তার সমন্বিত ক্যাচিং বৈশিষ্ট্যটি ব্যবহার করতে পারে


এটি আপনার পছন্দের thats যদি একটি ডিবাগ aar পেতে বেশ প্রশংসনীয়।

git clone https://android.googlesource.com/platform/frameworks/volley

তারপরে একটি নতুন ডিরেক্টরিতে একটি নতুন Android স্টুডিও প্রকল্প (কেবল একটি নিয়মিত অ্যাপ্লিকেশন প্রকল্প) তৈরি করুন। একবার এটি সম্পন্ন হলে, একটি নতুন জমাটি যোগ করুন (ফাইল | নতুন মডিউল)। বিদ্যমান প্রকল্প বিকল্প আমদানি করুন এবং আপনি ভলি চেক আউট যেখানে ডিরেক্টরি নির্দেশ। একবার সম্পন্ন হলে আপনি আপনার মডিউল তৈরি করতে পারেন এবং এটি একটি AAR ফাইল তৈরি করবে।


দ্বিতীয় লাইনে সমর্থন লাইব্রেরি তালিকাভুক্ত করার সময় আমি একটি সমস্যা সম্মুখীন। এই দুটি বিবৃতি reordering আমার জন্য কাজ।

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.mcxiaoke.volley:library:1.0.6'
    compile 'com.android.support:support-v4:20.+'
}

প্রথম গিট থেকে প্রকল্প ক্লোন

$git clone https://android.googlesource.com/platform/frameworks/volley
  • eclipse মধ্যে ভলি আমদানি।
  • আপনার প্রকল্পের ডান ক্লিক করুন-> সম্পত্তি-> android
  • লাইব্রেরী যোগ করুন-> ভলি নির্বাচন করুন (যদি আপনি সেখানে ভলি দেখতে না পান তবে ভলি লাইব্রেরি, গোটো সম্পত্তি এবং android এবং লাইব্রেরি ক্লিক করুন)
  • আপনি লাইব্রেরি হিসাবে ভলি যোগ করার পরে আপনি আপনার অ্যাপ্লিকেশন এটি ব্যবহার শুরু করতে পারেন।

ভলি কিছু মৌলিক বর্গ আপনি জানতে হবে

  • RequestQueue
  • JsonArrayRequest
  • JsonObjectRequest

ভলি ব্যবহার করার জন্য আপনাকে Requestquueue এর অবজেক্ট তৈরি করতে হবে

RequestQueue mQueue = Volley.newRequestQueue(getApplicationContext());

দ্বিতীয় -> JsonArrayRequest বা JsonObjectRequest ব্যবহার করে একটি অনুরোধ করুন

JsonArrayRequest mJsonRequest = new JsonArrayRequest(url, 
            new Listener<JSONArray>() {

                @Override
                public void onResponse(JSONArray response) {
                    // here you can parse response and use accordingly
                }
            }, new ErrorListener() {

                @Override
                public void onErrorResponse(VolleyError error) {
                    // here you will receive errors and show proper message according to error type

                }
            });

এবং শেষ পর্যন্ত সারিতে অনুরোধ করা। অর্থাত

mQueue.add(mJsonRequest);

এছাড়াও আমি আপনাকে SingleQuery এর RequestQuery তৈরি করার পরামর্শ দেব।


যদি আপনি নিজের কোড পরিচালনার জন্য জিআইটি ব্যবহার করেন তবে প্রকল্পটিকে কেবল প্রকল্পে জমা দেওয়ার জন্য এটি কেন যুক্ত করবেন না ...

git submodule add https://android.googlesource.com/platform/frameworks/volley -b master Volley

যেভাবে, ভলি কোড বেস আপডেট করা হয়, এটি আপডেট করা সহজ ...

git submodule git pull

পরিবর্তন করার জন্য আপনি নিজের প্রকল্পে প্রধান ভলি ক্লাসটি প্রসারিত করতে পারেন, যা আপনাকে ভলি ফ্রেমওয়ার্ক আপডেট করার সময় প্রতিবছর আপনার পরিবর্তনগুলি কোডিংয়ের সাথে জগাখিচুড়ি করতে বাধা দেয়।


ভলি পাঠে , গুগল আমাদের প্রোডাক্টে অ্যানড্রয়েড লাইব্রেরী প্রকল্প হিসাবে বা .jar ফাইল হিসাবে ভলি যোগ করার নির্দেশ দেয়।

অ্যান্ড্রয়েড স্টুডিও বা ইক্লিপ্স ব্যবহার করে ভলি .jar ফাইল তৈরি করতে এখানে ক্লিক করুন:

বিঃদ্রঃ:

উভয় ক্ষেত্রে আমি volley_20150319.jar সর্বশেষ volley_20150319.jar অর্থ, volley_20150319.jar , সংস্করণটি সহজ রাখার জন্য .jar ফাইলটির নামকরণের সুপারিশ করছি।

অ্যান্ড্রয়েড স্টুডিও:

  1. গিট মাধ্যমে ভলি রিপোজিটরি ক্লোন।
  2. অ্যান্ড্রয়েড স্টুডিওতে প্রকল্পটি আমদানি করুন। (অ্যান্ড্রয়েড স্টুডিওতে আমদানি করার সময় আমি সাধারণত প্রকল্পটির ধীরে ধীরে ফাইল নির্বাচন করি)
  3. প্রকল্প তৈরি করুন। (আমি সর্বশেষ বিল্ড সরঞ্জাম এবং ধীরে ধীরে সংস্করণ প্রতিফলিত করার জন্য ধীরে ধীরে বিল্ড সেটিংস পরিবর্তন করতে হয়েছিল, তবে এটি সাধারণত আপ টু ডেট)।
  4. আপনার ফাইল এক্সপ্লোরারে, [your local path to volley]/build/intermediate/bundles/ নেভিগেট করুন [your local path to volley]/build/intermediate/bundles/
  5. debug এবং release ফোল্ডার উভয় ক্ষেত্রে আপনি classes.jar নামে একটি জার ফাইল পাবেন।
  6. আপনার libs/ ফোল্ডারে জার ফাইলটি অনুলিপি করুন।
  7. Gradle সিঙ্ক, এবং আপনি সম্পন্ন করা হয়।

Eclipse:

  1. গিট মাধ্যমে ভলি রিপোজিটরি ক্লোন।
  2. গ্রহন মধ্যে প্রকল্প আমদানি করুন।
  3. প্রকল্পটি রাইট ক্লিক করুন এবং রপ্তানি নির্বাচন করুন ...
  4. জাভা / জার ফাইল নির্বাচন করুন
  5. আমরা শুধুমাত্র উৎস ফোল্ডারে আগ্রহী এবং অন্য কিছুই নয়। শুধুমাত্র এটি নির্বাচিত হওয়ার সহজতম উপায়টি হল প্রকল্পটি অনির্বাচিত করা এবং তারপরে src ফোল্ডারটি নির্বাচন করুন।
  6. এক্সপোর্ট জেনারেট ক্লাস ফাইল এবং রিসোর্স অপশন চেক করুন।
  7. অপটিক্যাল: আপনি যদি জাভাডোক দেখতে চান তবে এক্সপোর্ট জাভা উত্স ফাইল সংস্থানগুলি নির্বাচন করুন।
  8. জার ফাইল তৈরি করুন এবং এটি আপনার libs/ ফোল্ডারে রাখুন।

$ git clone https://android.googlesource.com/platform/frameworks/volley
$ cd volley
$ android update project -p .
$ ant jar

তারপর, আপনার libs/ ফোল্ডারে bin/volley.jar অনুলিপি করুন এবং আপনি বন্ধ!

source





android-volley