Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 2019-08-17 13:38:26.884 30827-30827/com.vn.iambulance.prototype_20 E/AndroidRuntime: FATAL EXCEPTION: main
- Process: com.vn.iambulance.prototype_20, PID: 30827
- java.lang.NoClassDefFoundError: Failed resolution of: Lcom/vn/iambulance/prototype_20/adapters/CategoryAdapter;
- at com.vn.iambulance.prototype_20.activity.MainActivity.onCreate(MainActivity.java:46)
- at android.app.Activity.performCreate(Activity.java:7327)
- at android.app.Activity.performCreate(Activity.java:7318)
- at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1275)
- at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3101)
- at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3264)
- at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
- at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
- at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
- at android.os.Handler.dispatchMessage(Handler.java:106)
- at android.os.Looper.loop(Looper.java:214)
- at android.app.ActivityThread.main(ActivityThread.java:7076)
- at java.lang.reflect.Method.invoke(Native Method)
- at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
- Caused by: java.lang.ClassNotFoundException: Didn't find class "com.vn.iambulance.prototype_20.adapters.CategoryAdapter" on path: DexPathList[[zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/base.apk", zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_dependencies_apk.apk", zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_resources_apk.apk", zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_slice_0_apk.apk", zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_slice_1_apk.apk", zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_slice_2_apk.apk", zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_slice_3_apk.apk", zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_slice_4_apk.apk", zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_slice_5_apk.apk", zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_slice_6_apk.apk", zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_slice_7_apk.apk", zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_slice_8_apk.apk", zip file "/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_slice_9_apk.apk"],nativeLibraryDirectories=[/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/lib/arm64, /system/lib64]]
- at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
- at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
- at com.vn.iambulance.prototype_20.activity.MainActivity.onCreate(MainActivity.java:46)
- at android.app.Activity.performCreate(Activity.java:7327)
- at android.app.Activity.performCreate(Activity.java:7318)
- at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1275)
- at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3101)
- at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3264)
- at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
- at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
- at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
- at android.os.Handler.dispatchMessage(Handler.java:106)
- at android.os.Looper.loop(Looper.java:214)
- at android.app.ActivityThread.main(ActivityThread.java:7076)
- at java.lang.reflect.Method.invoke(Native Method)
- at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
- at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
- Suppressed: java.io.IOException: No original dex files found for dex location (arm64) /data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_resources_apk.apk
- at dalvik.system.DexFile.openDexFileNative(Native Method)
- at dalvik.system.DexFile.openDexFile(DexFile.java:354)
- at dalvik.system.DexFile.<init>(DexFile.java:101)
- at dalvik.system.DexFile.<init>(DexFile.java:75)
- at dalvik.system.DexPathList.loadDexFile(DexPathList.java:394)
- at dalvik.system.DexPathList.makeDexElements(DexPathList.java:354)
- at dalvik.system.DexPathList.<init>(DexPathList.java:164)
- at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:74)
- at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
- at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
- 2019-08-17 13:38:26.885 30827-30827/com.vn.iambulance.prototype_20 E/AndroidRuntime: at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:73)
- at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:88)
- at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:74)
- at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:40)
- at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:764)
- at android.app.LoadedApk.getClassLoader(LoadedApk.java:847)
- at android.app.LoadedApk.getResources(LoadedApk.java:1088)
- at android.app.ContextImpl.createAppContext(ContextImpl.java:2563)
- at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6126)
- at android.app.ActivityThread.access$1200(ActivityThread.java:237)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1792)
- ... 6 more
- Suppressed: java.io.IOException: Failed to open dex files from /data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_slice_2_apk.apk because: Failure to verify dex file '/data/app/com.vn.iambulance.prototype_20-79qgLo_H-00gH3KiN1P5bA==/split_lib_slice_2_apk.apk': Out-of-order entry types: 108 then 108
- at dalvik.system.DexFile.openDexFileNative(Native Method)
- at dalvik.system.DexFile.openDexFile(DexFile.java:354)
- at dalvik.system.DexFile.<init>(DexFile.java:101)
- at dalvik.system.DexFile.<init>(DexFile.java:75)
- at dalvik.system.DexPathList.loadDexFile(DexPathList.java:394)
- at dalvik.system.DexPathList.makeDexElements(DexPathList.java:354)
- at dalvik.system.DexPathList.<init>(DexPathList.java:164)
- at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:74)
- at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
- at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
- at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:73)
- at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:88)
- at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:74)
- at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:40)
- at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:764)
- at android.app.LoadedApk.getClassLoader(LoadedApk.java:847)
- at android.app.LoadedApk.getResources(LoadedApk.java:1088)
- at android.app.ContextImpl.createAppContext(ContextImpl.java:2563)
- at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6126)
- at android.app.ActivityThread.access$1200(ActivityThread.java:237)
- at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1792)
- ... 6 more
- import android.app.Activity;
- import android.content.Context;
- import android.os.Bundle;
- import android.support.v7.widget.GridLayoutManager;
- import android.support.v7.widget.RecyclerView;
- import android.support.v7.widget.Toolbar;
- import android.view.View;
- import com.google.android.gms.ads.AdView;
- import com.vn.iambulance.prototype_20.R;
- import com.vn.iambulance.prototype_20.adapters.CategoryAdapter;
- import com.vn.iambulance.prototype_20.constants.AppConstants;
- import com.vn.iambulance.prototype_20.listeners.ListItemClickListener;
- import com.vn.iambulance.prototype_20.models.quiz.CategoryModel;
- import com.vn.iambulance.prototype_20.utilities.ActivityUtilities;
- import com.vn.iambulance.prototype_20.utilities.AdsUtilities;
- import org.json.JSONArray;
- import org.json.JSONException;
- import org.json.JSONObject;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- public class MainActivity extends Base{
- private Activity activity;/*todo tyt*/
- private Context context;/*todo tyt*/
- private ArrayList<CategoryModel> categoryList;
- private CategoryAdapter adapter = null;
- @Override
- protected void onCreate (Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.tests);
- Toolbar toolbar = findViewById(R.id.toolbar);
- setSupportActionBar(toolbar);
- activity = MainActivity.this;/*todo tyt*/
- context = getApplicationContext();/*todo tyt*/
- categoryList = new ArrayList<>();/*todo tyt*/
- RecyclerView recyclerView = findViewById(R.id.rvContent);
- recyclerView.setLayoutManager(new GridLayoutManager(this, 2, GridLayoutManager.VERTICAL, false));
- adapter = new CategoryAdapter(this, categoryList);
- recyclerView.setAdapter(adapter);
- initLoader();
- loadData();
- initListener();
- }
- @Override
- public void onBackPressed () {
- finish();
- }
- private void loadData(){
- showLoader();
- loadJson();
- AdsUtilities.getInstance(context).showBannerAd((AdView) findViewById(R.id.adsView));
- }
- private void loadJson(){
- StringBuffer sb = new StringBuffer();
- BufferedReader br = null;
- try{
- br = new BufferedReader(new InputStreamReader(getAssets().open(AppConstants.CONTENT_FILE_KROK_1_MED)));
- String temp;
- while ((temp = br.readLine()) != null)
- sb.append(temp);
- }catch (IOException e){
- e.printStackTrace();
- }finally {
- try {
- br.close();
- }catch (Exception e){
- e.printStackTrace();
- }
- }
- parseJson(sb.toString());
- }
- private void parseJson(String jsonData){
- try {
- JSONObject jsonObject = new JSONObject(jsonData);
- JSONArray jsonArray = jsonObject.getJSONArray(AppConstants.JSON_KEY_ITEMS);
- for (int i = 0; i < jsonArray.length(); i++){
- JSONObject object = jsonArray.getJSONObject(i);
- String categoryId = object.getString(AppConstants.JSON_KEY_CATEGORY_ID);
- String categoryName = object.getString(AppConstants.JSON_KEY_CATEGORY_NAME);
- categoryList.add(new CategoryModel(categoryId,categoryName));
- }
- }catch (JSONException e){
- e.printStackTrace();
- }
- hideLoader();
- adapter.notifyDataSetChanged();
- }
- private void initListener() {
- adapter.setItemClickListener(new ListItemClickListener() {
- @Override
- public void onItemClick(int position, View view) {
- CategoryModel model = categoryList.get(position);
- ActivityUtilities.getInstance().invokeCommonQuizActivity(activity, QuizPromptActivity.class, model.getCategoryId(), true);
- }
- });
- }
- }
- package com.vn.iambulance.prototype_20.adapters;
- import android.app.Activity;
- import android.support.annotation.NonNull;
- import android.support.v7.widget.RecyclerView;
- import android.text.Html;
- import android.view.LayoutInflater;
- import android.view.View;
- import android.view.ViewGroup;
- import android.widget.RelativeLayout;
- import android.widget.TextView;
- import com.vn.iambulance.prototype_20.R;
- import com.vn.iambulance.prototype_20.listeners.ListItemClickListener;
- import com.vn.iambulance.prototype_20.models.quiz.CategoryModel;
- import java.util.ArrayList;
- public class CategoryAdapter extends RecyclerView.Adapter<CategoryAdapter.ViewHolder> {
- private ArrayList<CategoryModel> categoryList;
- private ListItemClickListener itemClickListener;
- public CategoryAdapter (Activity activity, ArrayList<CategoryModel> categoryList) {
- this.categoryList = categoryList;
- }
- public void setItemClickListener(ListItemClickListener itemClickListener){
- this.itemClickListener = itemClickListener;
- }
- @NonNull
- @Override
- public CategoryAdapter.ViewHolder onCreateViewHolder (@NonNull ViewGroup parent, int viewType) {
- View view = LayoutInflater.from(parent.getContext())
- .inflate(R.layout.item_category_recycler, parent, false);
- return new ViewHolder(view, viewType, itemClickListener);
- }
- @Override
- public void onBindViewHolder (@NonNull CategoryAdapter.ViewHolder holder, int position) {
- final CategoryModel model = categoryList.get(position);
- String categoryName = model.getCategoryName();
- holder.tvCategoryTitle.setText(Html.fromHtml(categoryName));
- holder.tvCategoryId.setText(String.valueOf(position+1));
- switch (position){
- case 0:
- holder.lytContainer.setBackgroundResource(R.drawable.rectangle_blue);
- break;
- case 1:
- holder.lytContainer.setBackgroundResource(R.drawable.rectangle_red);
- break;
- case 2:
- holder.lytContainer.setBackgroundResource(R.drawable.rectangle_yellow);
- break;
- case 3:
- holder.lytContainer.setBackgroundResource(R.drawable.rectangle_green);
- break;
- case 4:
- holder.lytContainer.setBackgroundResource(R.drawable.rectangle_purple);
- break;
- case 5:
- holder.lytContainer.setBackgroundResource(R.drawable.rectangle_orange);
- break;
- case 6:
- holder.lytContainer.setBackgroundResource(R.drawable.rectangle_blue);
- break;
- case 7:
- holder.lytContainer.setBackgroundResource(R.drawable.rectangle_red);
- break;
- default:
- break;
- }
- }
- @Override
- public int getItemCount () {
- return (null != categoryList ? categoryList.size() : 0);
- }
- public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
- private RelativeLayout lytContainer;
- private TextView tvCategoryTitle, tvCategoryId;
- private ListItemClickListener itemClickListener;
- public ViewHolder (View itemView, int viewType, ListItemClickListener itemClickListener) {
- super(itemView);
- this.itemClickListener = itemClickListener;
- lytContainer = itemView.findViewById(R.id.lytContainer);
- tvCategoryId = itemView.findViewById(R.id.categoryId);
- tvCategoryTitle = itemView.findViewById(R.id.titleText);
- lytContainer.setOnClickListener(this);
- }
- @Override
- public void onClick (View view) {
- if (itemClickListener !=null){
- itemClickListener.onItemClick(getLayoutPosition(), view);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement