2016-07-25 45 views
2

的build.gradle工作版本代碼5.0以下凌空庫不是在android系統

的build.gradle文件中的所有dependecy和庫的插件以及在它定義了一些其他必要的CONFIGRATION。

 apply plugin: 'com.android.application' 

     android { 
      compileSdkVersion 23 
      buildToolsVersion "23.0.3" 

      defaultConfig { 
       applicationId "com.example.admin.app_shewale" 
       minSdkVersion 16 
       targetSdkVersion 23 
       versionCode 1 
       versionName "1.0" 
      } 
      buildTypes { 
       release { 
        minifyEnabled false 
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
       } 
      } 
     } 

     dependencies { 
      compile fileTree(dir: 'libs', include: ['*.jar']) 
      testCompile 'junit:junit:4.12' 
      compile 'com.android.support:appcompat-v7:23.4.0' 
      compile 'com.android.support:support-v4:23.4.0' 
      compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2' 
      compile 'com.github.bumptech.glide:glide:3.7.0' 
      compile 'com.android.support:recyclerview-v7:24.0.0-beta1' 
      compile files('src/main/java/libs/YouTubeAndroidPlayerApi.jar') 
      compile 'com.android.support:cardview-v7:24.0.0-beta1' 
      compile files('src/main/java/libs/volley.jar') 
     } 

Mainactivity.java

這是一個包含recycleview,也將請求發送到服務器通過使用volly庫AFER越來越jsonarray解析數據,然後綁定到列表中得到jsonarray,發送到adapter.this類mainclass還定義onscrollchangelistener每當列表顯示進度條的負載MOREDATA後userreach端從服務器

 package com.example.gallery; 

     import android.annotation.TargetApi; 
     import android.support.v7.app.AppCompatActivity; 
     import android.os.Bundle; 
     import android.support.v7.widget.GridLayoutManager; 
     import android.support.v7.widget.LinearLayoutManager; 
     import android.support.v7.widget.RecyclerView; 
     import android.view.View; 
     import android.widget.ProgressBar; 
     import android.widget.TextView; 
     import android.widget.Toast; 
     import com.android.volley.RequestQueue; 
     import com.android.volley.Response; 
     import com.android.volley.VolleyError; 
     import com.android.volley.toolbox.JsonArrayRequest; 
     import com.android.volley.toolbox.Volley; 
     import com.example.admin.app_shewale.R; 
     import com.example.vikaskame.VikasGallery; 
     import org.json.JSONArray; 
     import org.json.JSONException; 
     import org.json.JSONObject; 
     import java.util.ArrayList; 
     import java.util.List; 

     public class Gallery_byVolly extends AppCompatActivity implements RecyclerView.OnScrollChangeListener { 


      RecyclerView gallerygridview1; 
      TextView gallerytext; 
      List<VikasGallery> gallerylist1; 
      private RequestQueue requestQueue; 
      CardAdapter adapter; 
      private int requestCount = 1; 
      public static final String DATA_URL= "http://1biz.in/shevale_app/android/shevale.php?page="; 
      private RecyclerView.LayoutManager layoutManager; 

      protected void onCreate(Bundle savedInstanceState) 
      { 
       super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_gallery_by_volly); 
       gallerygridview1 = (RecyclerView) findViewById(R.id.vollygallerygridview); 
       gallerygridview1.setHasFixedSize(true); 
       layoutManager = new GridLayoutManager(this,2); 
       gallerygridview1.setLayoutManager(layoutManager); 
       gallerylist1 = new ArrayList<>(); 
       requestQueue = Volley.newRequestQueue(this); 
       //Calling method to get data to fetch data 
       getData(); 

       //Adding an scroll change listener to recyclerview 
       gallerygridview1.setOnScrollChangeListener(this); 
       System.out.println("value of list in parse m" + gallerylist1); 
       //initializing our adapter 
       adapter = new CardAdapter(gallerylist1, this); 

       //Adding adapter to recyclerview 
       gallerygridview1.setAdapter(adapter); 
      } 

      //Request to get json from server we are passing an integer here 
      //This integer will used to specify the page number for the request ?page = requestcount 
      //This method would return a JsonArrayRequest that will be added to the request queue 
      private JsonArrayRequest getDataFromServer(int requestCount) 
      { 
       //Initializing ProgressBar 
       final ProgressBar progressBar = (ProgressBar) findViewById(R.id.progressBar1); 
       //Displaying Progressbar 
       progressBar.setVisibility(View.VISIBLE); 
       setProgressBarIndeterminateVisibility(true); 
       //JsonArrayRequest of volley 
       JsonArrayRequest jsonArrayRequest = new JsonArrayRequest(Config.DATA_URL + String.valueOf(requestCount),new Response.Listener<JSONArray>() 
       { 
        @Override 
        public void onResponse(JSONArray response) 
        { 
         //Calling method parseData to parse the json response 
         System.out.println("value of response is"+response); 
         parseData(response); 
         //Hiding the progressbar 
         progressBar.setVisibility(View.GONE); 
        } 
       }, 
         new Response.ErrorListener() { 
          @Override 
          public void onErrorResponse(VolleyError error) 
          { 
           progressBar.setVisibility(View.GONE); 
           //If an error occurs that means end of the list has reached 
           Toast.makeText(Gallery_byVolly.this, "No More Items Available", Toast.LENGTH_SHORT).show(); 
          } 
         }); 

       //Returning the request 
       return jsonArrayRequest; 
      } 

      //This method will get data from the web api 
      private void getData() 
      { 
       //Adding the method to the queue by calling the method getDataFromServer 
       requestQueue.add(getDataFromServer(requestCount)); 
       //Incrementing the request counter 
       requestCount++; 
      } 

      //This method will parse json data 
      private void parseData(JSONArray array) 
      { 
       for (int i = 0; i < array.length(); i++) 
       { 
        //Creating the superhero object 
        VikasGallery superHero = new VikasGallery(); 
        JSONObject json = null; 
        try { 
         //Getting json 
         json = array.getJSONObject(i); 
         //Adding data to the superhero object 
         superHero.setImagesurl(json.getString(Config.TAG_IMAGE_URL)); 
        } 
        catch (JSONException e) 
        { 
         e.printStackTrace(); 
        } 
        //Adding the superhero object to the list 
        gallerylist1.add(superHero); 
        System.out.println("value of list inside parse m" + gallerylist1); 
       } 

       //Notifying the adapter that data has been added or changed 
       adapter.notifyDataSetChanged(); 
      } 
      private boolean isLastItemDisplaying(RecyclerView recyclerView) 
      { 
       if (recyclerView.getAdapter().getItemCount() != 0) 
       { 

        int lastVisibleItemPosition = ((LinearLayoutManager) recyclerView.getLayoutManager()).findLastCompletelyVisibleItemPosition(); 
        if (lastVisibleItemPosition != RecyclerView.NO_POSITION && lastVisibleItemPosition == recyclerView.getAdapter().getItemCount() - 1) 
         return true; 
       } 
       return false; 
      } 
      //Overriden method to detect scrolling 
      public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) 
      { 
       //Ifscrolled at last then 
       if (isLastItemDisplaying(gallerygridview1)) 
       { 
        //Calling the method getdata again 
        getData(); 
       } 
      } 
     } 

這是適配器類,它是利用顯示在recyleview

所有圖片

獲取記錄列表中構造函數和一個在顯示在一個所有圖像。

Adapter.java

 package com.example.gallery; 
     import android.content.Context; 
     import android.support.v7.widget.RecyclerView; 
     import android.view.LayoutInflater; 
     import android.view.View; 
     import android.view.ViewGroup; 
     import com.android.volley.toolbox.ImageLoader; 
     import com.android.volley.toolbox.NetworkImageView; 
     import com.example.admin.app_shewale.R; 
     import com.example.vikaskame.VikasGallery; 
     import java.util.ArrayList; 
     import java.util.List; 
     public class Gallery_VollyAdapter extends RecyclerView.Adapter<Gallery_VollyAdapter.ViewHolder> { 
     //Imageloader to load image 
     private ImageLoader imageLoader; 
     private Context context; 


       List<VikasGallery> superHeroes; 

     //Constructor of this class 
     public Gallery_VollyAdapter(List<VikasGallery> superHeroes, Context context){ 
       super(); 
       //Getting all superheroes 
       this.superHeroes = superHeroes; 
       this.context = context; 
      System.out.println("values of list is1"+superHeroes); 
       } 

     @Override 
     public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) 
     { 
       View v = LayoutInflater.from(parent.getContext()) 
       .inflate(R.layout.vollyitemlist, parent, false); 
       ViewHolder viewHolder = new ViewHolder(v); 
       return viewHolder; 
       } 

     @Override 
     public void onBindViewHolder(ViewHolder holder, int position) 
     { 
       superHeroes=new ArrayList<>(); 
       //Getting the particular item from the list 
       VikasGallery superHero = superHeroes.get(position); 
       System.out.println("values of list is2"+superHeroes); 
       //Loading image from url 
       imageLoader = CustomVolleyRequest.getInstance(context).getImageLoader(); 
       imageLoader.get(superHero.getImagesurl(), ImageLoader.getImageListener(holder.imageView, R.drawable.five, android.R.drawable.ic_dialog_alert)); 
       //Showing data on the views 
       holder.imageView.setImageUrl(superHero.getImagesurl(), imageLoader); 
       } 

     @Override 
     public int getItemCount() { 
       return superHeroes.size(); 
       } 

     class ViewHolder extends RecyclerView.ViewHolder 
     { 
      //Views 
      public NetworkImageView imageView; 

      //Initializing Views 
      public ViewHolder(View itemView) 
      { 
       super(itemView); 
       imageView = (NetworkImageView) itemView.findViewById(R.id.vollyimage); 
      } 
     } 

     } 

logcat的

執行5.0後顯示logcat的這些類型的錯誤顯示某種錯誤,我不知道爲什麼會發生

但高於5.1正常工作

FATAL EXCEPTION: main 
                Process: com.example.admin.app_shewale, PID: 7783 
                java.lang.NoClassDefFoundError: com.example.gallery.Gallery_byVolly 
                 at com.example.admin.app_shewale.MainActivity.onClick(MainActivity.java:165) 
                 at android.view.View.performClick(View.java:4756) 
                 at android.view.View$PerformClick.run(View.java:19749) 
                 at android.os.Handler.handleCallback(Handler.java:739) 
                 at android.os.Handler.dispatchMessage(Handler.java:95) 
                 at android.os.Looper.loop(Looper.java:135) 
                 at android.app.ActivityThread.main(ActivityThread.java:5221) 
                 at java.lang.reflect.Method.invoke(Native Method) 
                 at java.lang.reflect.Method.invoke(Method.java:372) 
                 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899) 
                 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694) 

Mainactivity.class

這裏面定義中的所有功能,還定義了所有的主頁按鈕mainclass每當該按鈕顯示用戶點擊下一個活動

public class MainActivity extends AppCompatActivity implements View.OnClickListener 
     { 

    TextView homefirst, homesecond, homethird, homefourth, homefifth, homesix, homeseven, homeeight, homenine, hometen, homeeleve, hometwelve; 
    Boolean exit = false; 
    ViewFlipper viewFlipper; 
    private Animation slide_in_left; 
    ImageView firstimg, secondimg2, thirdimg3; 
    TextView slideretext; 
      private Handler handler=new Handler(); 
      private int delay = 5000; //milliseconds 
      private int page = 0; 
      ViewPager sliderviewpager; 
      Slider_Adapter adapter; 
      List<Slidercls> imagesliderlist; 

      Runnable runnable = new Runnable() 
      { 
       public void run() 
       { 
        if (adapter.getCount() == page) 
        { 
         page = 0; 
        } else { 
         page++; 
        } 
        sliderviewpager.setCurrentItem(page, true); 
        handler.postDelayed(this, delay); 
       } 
      }; 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     sliderviewpager=(ViewPager)findViewById(R.id.sliderviewpager); 
     imagesliderlist=getListData(); 
     adapter = new Slider_Adapter(MainActivity.this,imagesliderlist); 
     sliderviewpager.setAdapter(adapter); 
     // sliderviewpager.setCurrentItem(0); 
     homefirst = (TextView) findViewById(R.id.homefirst); 
     homesecond = (TextView) findViewById(R.id.homesecond); 
     homethird = (TextView) findViewById(R.id.homethree); 
     homefourth = (TextView) findViewById(R.id.homefourth); 
     homefifth = (TextView) findViewById(R.id.homefive); 
     homesix = (TextView) findViewById(R.id.homesix); 
     homeseven = (TextView) findViewById(R.id.homeseven); 
     homeeight = (TextView) findViewById(R.id.homeeight); 
     homenine = (TextView) findViewById(R.id.homenine); 
     hometen = (TextView) findViewById(R.id.hometen); 
     homeeleve = (TextView) findViewById(R.id.homeeleven); 
     hometwelve = (TextView) findViewById(R.id.hometwelve); 
     homefirst.setOnClickListener(this); 
     homesecond.setOnClickListener(this); 
     homethird.setOnClickListener(this); 
     homefourth.setOnClickListener(this); 
     homefifth.setOnClickListener(this); 
     homesix.setOnClickListener(this); 
     homeseven.setOnClickListener(this); 
     homeeight.setOnClickListener(this); 
     homenine.setOnClickListener(this); 
     hometen.setOnClickListener(this); 
     homeeleve.setOnClickListener(this); 
     hometwelve.setOnClickListener(this); 

    } 

      private ArrayList<Slidercls> getListData() 
      { 
       ArrayList<Slidercls> listMockData = new ArrayList<Slidercls>(); 
       String[] images = getResources().getStringArray(R.array.sliderimages); 
       String[] text=getResources().getStringArray(R.array.slidertext); 
       for (int i = 0; i < images.length; i++) 
       { 
        Slidercls newsData = new Slidercls(); 
        newsData.setImageurl(images[i]); 
        newsData.setImgtitle(text[i]); 
        listMockData.add(newsData); 
       } 
       return listMockData; 
      } 


    public void onClick(View v) { 

     switch (v.getId()) { 
      case R.id.homefirst: 
       startActivity(new Intent(MainActivity.this, Viyaktigai_Mahitiactivity.class)); 
       overridePendingTransition(R.anim.slideup, R.anim.nochange); 
       break; 
      case R.id.homesecond: 
       startActivity(new Intent(MainActivity.this, Vikaskame.class)); 
       overridePendingTransition(R.anim.slideup, R.anim.nochange); 
       break; 
      case R.id.homethree: 
       startActivity(new Intent(MainActivity.this, Andolane_Activity.class)); 
       overridePendingTransition(R.anim.slideup, R.anim.nochange); 
       break; 
      case R.id.homefourth: 
       startActivity(new Intent(MainActivity.this, Katran_Activity.class)); 
       overridePendingTransition(R.anim.slideup, R.anim.nochange); 
       break; 
      case R.id.homefive: 
       startActivity(new Intent(MainActivity.this, Samajik_karyaActivity.class)); 
       overridePendingTransition(R.anim.slideup, R.anim.nochange); 
       break; 
      case R.id.homesix: 
       startActivity(new Intent(MainActivity.this, Sarvajanikutsav_Activity.class)); 
       overridePendingTransition(R.anim.slideup, R.anim.nochange); 
       break; 
      case R.id.homeseven: 
       startActivity(new Intent(MainActivity.this, com.example.gallery.Gallery_byVolly.class)); 
       overridePendingTransition(R.anim.slideup, R.anim.nochange); 
       break; 
      case R.id.homeeight: 
       startActivity(new Intent(MainActivity.this, VideoMain.class)); 
       overridePendingTransition(R.anim.slideup, R.anim.nochange); 
       break; 
      case R.id.homenine: 
       startActivity(new Intent(MainActivity.this, Mahtwcha_link_Activity.class)); 
       overridePendingTransition(R.anim.slideup, R.anim.nochange); 
       break; 
      case R.id.hometen: 
       startActivity(new Intent(MainActivity.this, Puraskar_Activity.class)); 
       overridePendingTransition(R.anim.slideup, R.anim.nochange); 
       break; 
      case R.id.homeeleven: 
       startActivity(new Intent(MainActivity.this, Profile_Activity.class)); 
       overridePendingTransition(R.anim.slideup, R.anim.nochange); 
       break; 
      case R.id.hometwelve: 
       startActivity(new Intent(MainActivity.this, Sampark_Activity.class)); 
       overridePendingTransition(R.anim.slideup, R.anim.nochange); 
       break; 

     } 
    } 
+0

更新日誌 – vinoth12594

+0

是的,先生我更新 – sumeet

+0

未來筆記 - 1)請仔細閱讀過如何格式化您的問題。您可以在發佈之前看到預覽。 2)嘗試創建問題的[mcve] –

回答

0

請刪除

compile files('src/main/java/libs/volley.jar') 

和替換

compile 'com.android.volley:volley:1.0.0' 

更新代碼

startActivity(new Intent(MainActivity.this, Gallery_byVolly.class)); 
      overridePendingTransition(R.anim.slideup, R.anim.nochange); 
      break; 

請參閱此鏈接
onScrollChanged() never fired on Android 4.0

+0

no sir它不工作顯示錯誤java.lang.NoClassDefFoundError:com.example.gallery。 Gallery_byVolly at com.example.admin.app_shewale.MainActivity.onClick(MainActivity。Java的:165) – sumeet

+0

哪裏是內mainactivity – vinoth12594

+0

加入該編碼也 – sumeet