Advertisement
Guest User

Untitled

a guest
Aug 17th, 2019
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.00 KB | None | 0 0
  1. 2019-08-17 13:38:26.884 30827-30827/com.vn.iambulance.prototype_20 E/AndroidRuntime: FATAL EXCEPTION: main
  2. Process: com.vn.iambulance.prototype_20, PID: 30827
  3. java.lang.NoClassDefFoundError: Failed resolution of: Lcom/vn/iambulance/prototype_20/adapters/CategoryAdapter;
  4. at com.vn.iambulance.prototype_20.activity.MainActivity.onCreate(MainActivity.java:46)
  5. at android.app.Activity.performCreate(Activity.java:7327)
  6. at android.app.Activity.performCreate(Activity.java:7318)
  7. at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1275)
  8. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3101)
  9. at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3264)
  10. at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78)
  11. at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
  12. at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
  13. at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955)
  14. at android.os.Handler.dispatchMessage(Handler.java:106)
  15. at android.os.Looper.loop(Looper.java:214)
  16. at android.app.ActivityThread.main(ActivityThread.java:7076)
  17. at java.lang.reflect.Method.invoke(Native Method)
  18. at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
  19. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965)
  20. 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]]
  21. at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:134)
  22. at java.lang.ClassLoader.loadClass(ClassLoader.java:379)
  23. at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
  24. at com.vn.iambulance.prototype_20.activity.MainActivity.onCreate(MainActivity.java:46) 
  25. at android.app.Activity.performCreate(Activity.java:7327) 
  26. at android.app.Activity.performCreate(Activity.java:7318) 
  27. at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1275) 
  28. at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3101) 
  29. at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3264) 
  30. at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:78) 
  31. at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108) 
  32. at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68) 
  33. at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1955) 
  34. at android.os.Handler.dispatchMessage(Handler.java:106) 
  35. at android.os.Looper.loop(Looper.java:214) 
  36. at android.app.ActivityThread.main(ActivityThread.java:7076) 
  37. at java.lang.reflect.Method.invoke(Native Method) 
  38. at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) 
  39. at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:965) 
  40. 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
  41. at dalvik.system.DexFile.openDexFileNative(Native Method)
  42. at dalvik.system.DexFile.openDexFile(DexFile.java:354)
  43. at dalvik.system.DexFile.<init>(DexFile.java:101)
  44. at dalvik.system.DexFile.<init>(DexFile.java:75)
  45. at dalvik.system.DexPathList.loadDexFile(DexPathList.java:394)
  46. at dalvik.system.DexPathList.makeDexElements(DexPathList.java:354)
  47. at dalvik.system.DexPathList.<init>(DexPathList.java:164)
  48. at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:74)
  49. at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
  50. at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
  51. 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)
  52. at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:88)
  53. at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:74)
  54. at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:40)
  55. at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:764)
  56. at android.app.LoadedApk.getClassLoader(LoadedApk.java:847)
  57. at android.app.LoadedApk.getResources(LoadedApk.java:1088)
  58. at android.app.ContextImpl.createAppContext(ContextImpl.java:2563)
  59. at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6126)
  60. at android.app.ActivityThread.access$1200(ActivityThread.java:237)
  61. at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1792)
  62. ... 6 more
  63. 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
  64. at dalvik.system.DexFile.openDexFileNative(Native Method)
  65. at dalvik.system.DexFile.openDexFile(DexFile.java:354)
  66. at dalvik.system.DexFile.<init>(DexFile.java:101)
  67. at dalvik.system.DexFile.<init>(DexFile.java:75)
  68. at dalvik.system.DexPathList.loadDexFile(DexPathList.java:394)
  69. at dalvik.system.DexPathList.makeDexElements(DexPathList.java:354)
  70. at dalvik.system.DexPathList.<init>(DexPathList.java:164)
  71. at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:74)
  72. at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:65)
  73. at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:64)
  74. at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:73)
  75. at com.android.internal.os.ClassLoaderFactory.createClassLoader(ClassLoaderFactory.java:88)
  76. at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:74)
  77. at android.app.ApplicationLoaders.getClassLoader(ApplicationLoaders.java:40)
  78. at android.app.LoadedApk.createOrUpdateClassLoaderLocked(LoadedApk.java:764)
  79. at android.app.LoadedApk.getClassLoader(LoadedApk.java:847)
  80. at android.app.LoadedApk.getResources(LoadedApk.java:1088)
  81. at android.app.ContextImpl.createAppContext(ContextImpl.java:2563)
  82. at android.app.ActivityThread.handleBindApplication(ActivityThread.java:6126)
  83. at android.app.ActivityThread.access$1200(ActivityThread.java:237)
  84. at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1792)
  85. ... 6 more
  86.  
  87. import android.app.Activity;
  88. import android.content.Context;
  89. import android.os.Bundle;
  90. import android.support.v7.widget.GridLayoutManager;
  91. import android.support.v7.widget.RecyclerView;
  92. import android.support.v7.widget.Toolbar;
  93. import android.view.View;
  94.  
  95. import com.google.android.gms.ads.AdView;
  96. import com.vn.iambulance.prototype_20.R;
  97. import com.vn.iambulance.prototype_20.adapters.CategoryAdapter;
  98. import com.vn.iambulance.prototype_20.constants.AppConstants;
  99. import com.vn.iambulance.prototype_20.listeners.ListItemClickListener;
  100. import com.vn.iambulance.prototype_20.models.quiz.CategoryModel;
  101. import com.vn.iambulance.prototype_20.utilities.ActivityUtilities;
  102. import com.vn.iambulance.prototype_20.utilities.AdsUtilities;
  103.  
  104. import org.json.JSONArray;
  105. import org.json.JSONException;
  106. import org.json.JSONObject;
  107.  
  108. import java.io.BufferedReader;
  109. import java.io.IOException;
  110. import java.io.InputStreamReader;
  111. import java.util.ArrayList;
  112. public class MainActivity extends Base{
  113.  
  114. private Activity activity;/*todo tyt*/
  115. private Context context;/*todo tyt*/
  116. private ArrayList<CategoryModel> categoryList;
  117. private CategoryAdapter adapter = null;
  118.  
  119. @Override
  120. protected void onCreate (Bundle savedInstanceState) {
  121. super.onCreate(savedInstanceState);
  122. setContentView(R.layout.tests);
  123. Toolbar toolbar = findViewById(R.id.toolbar);
  124. setSupportActionBar(toolbar);
  125. activity = MainActivity.this;/*todo tyt*/
  126. context = getApplicationContext();/*todo tyt*/
  127. categoryList = new ArrayList<>();/*todo tyt*/
  128. RecyclerView recyclerView = findViewById(R.id.rvContent);
  129. recyclerView.setLayoutManager(new GridLayoutManager(this, 2, GridLayoutManager.VERTICAL, false));
  130. adapter = new CategoryAdapter(this, categoryList);
  131. recyclerView.setAdapter(adapter);
  132.  
  133. initLoader();
  134. loadData();
  135. initListener();
  136. }
  137. @Override
  138. public void onBackPressed () {
  139. finish();
  140. }
  141. private void loadData(){
  142. showLoader();
  143. loadJson();
  144. AdsUtilities.getInstance(context).showBannerAd((AdView) findViewById(R.id.adsView));
  145. }
  146. private void loadJson(){
  147. StringBuffer sb = new StringBuffer();
  148. BufferedReader br = null;
  149. try{
  150. br = new BufferedReader(new InputStreamReader(getAssets().open(AppConstants.CONTENT_FILE_KROK_1_MED)));
  151. String temp;
  152. while ((temp = br.readLine()) != null)
  153. sb.append(temp);
  154. }catch (IOException e){
  155. e.printStackTrace();
  156. }finally {
  157. try {
  158. br.close();
  159. }catch (Exception e){
  160. e.printStackTrace();
  161. }
  162. }
  163. parseJson(sb.toString());
  164. }
  165. private void parseJson(String jsonData){
  166. try {
  167. JSONObject jsonObject = new JSONObject(jsonData);
  168. JSONArray jsonArray = jsonObject.getJSONArray(AppConstants.JSON_KEY_ITEMS);
  169. for (int i = 0; i < jsonArray.length(); i++){
  170. JSONObject object = jsonArray.getJSONObject(i);
  171.  
  172. String categoryId = object.getString(AppConstants.JSON_KEY_CATEGORY_ID);
  173. String categoryName = object.getString(AppConstants.JSON_KEY_CATEGORY_NAME);
  174.  
  175. categoryList.add(new CategoryModel(categoryId,categoryName));
  176. }
  177. }catch (JSONException e){
  178. e.printStackTrace();
  179. }
  180. hideLoader();
  181. adapter.notifyDataSetChanged();
  182. }
  183. private void initListener() {
  184. adapter.setItemClickListener(new ListItemClickListener() {
  185. @Override
  186. public void onItemClick(int position, View view) {
  187. CategoryModel model = categoryList.get(position);
  188. ActivityUtilities.getInstance().invokeCommonQuizActivity(activity, QuizPromptActivity.class, model.getCategoryId(), true);
  189. }
  190. });
  191. }
  192. }
  193.  
  194. package com.vn.iambulance.prototype_20.adapters;
  195.  
  196. import android.app.Activity;
  197. import android.support.annotation.NonNull;
  198. import android.support.v7.widget.RecyclerView;
  199. import android.text.Html;
  200. import android.view.LayoutInflater;
  201. import android.view.View;
  202. import android.view.ViewGroup;
  203. import android.widget.RelativeLayout;
  204. import android.widget.TextView;
  205.  
  206. import com.vn.iambulance.prototype_20.R;
  207. import com.vn.iambulance.prototype_20.listeners.ListItemClickListener;
  208. import com.vn.iambulance.prototype_20.models.quiz.CategoryModel;
  209.  
  210. import java.util.ArrayList;
  211.  
  212. public class CategoryAdapter extends RecyclerView.Adapter<CategoryAdapter.ViewHolder> {
  213. private ArrayList<CategoryModel> categoryList;
  214. private ListItemClickListener itemClickListener;
  215. public CategoryAdapter (Activity activity, ArrayList<CategoryModel> categoryList) {
  216. this.categoryList = categoryList;
  217. }
  218.  
  219. public void setItemClickListener(ListItemClickListener itemClickListener){
  220. this.itemClickListener = itemClickListener;
  221. }
  222. @NonNull
  223. @Override
  224. public CategoryAdapter.ViewHolder onCreateViewHolder (@NonNull ViewGroup parent, int viewType) {
  225. View view = LayoutInflater.from(parent.getContext())
  226. .inflate(R.layout.item_category_recycler, parent, false);
  227. return new ViewHolder(view, viewType, itemClickListener);
  228. }
  229. @Override
  230. public void onBindViewHolder (@NonNull CategoryAdapter.ViewHolder holder, int position) {
  231. final CategoryModel model = categoryList.get(position);
  232. String categoryName = model.getCategoryName();
  233. holder.tvCategoryTitle.setText(Html.fromHtml(categoryName));
  234. holder.tvCategoryId.setText(String.valueOf(position+1));
  235. switch (position){
  236. case 0:
  237. holder.lytContainer.setBackgroundResource(R.drawable.rectangle_blue);
  238. break;
  239. case 1:
  240. holder.lytContainer.setBackgroundResource(R.drawable.rectangle_red);
  241. break;
  242. case 2:
  243. holder.lytContainer.setBackgroundResource(R.drawable.rectangle_yellow);
  244. break;
  245. case 3:
  246. holder.lytContainer.setBackgroundResource(R.drawable.rectangle_green);
  247. break;
  248. case 4:
  249. holder.lytContainer.setBackgroundResource(R.drawable.rectangle_purple);
  250. break;
  251. case 5:
  252. holder.lytContainer.setBackgroundResource(R.drawable.rectangle_orange);
  253. break;
  254. case 6:
  255. holder.lytContainer.setBackgroundResource(R.drawable.rectangle_blue);
  256. break;
  257. case 7:
  258. holder.lytContainer.setBackgroundResource(R.drawable.rectangle_red);
  259. break;
  260. default:
  261. break;
  262. }
  263. }
  264. @Override
  265. public int getItemCount () {
  266. return (null != categoryList ? categoryList.size() : 0);
  267. }
  268. public static class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener {
  269. private RelativeLayout lytContainer;
  270. private TextView tvCategoryTitle, tvCategoryId;
  271. private ListItemClickListener itemClickListener;
  272. public ViewHolder (View itemView, int viewType, ListItemClickListener itemClickListener) {
  273. super(itemView);
  274. this.itemClickListener = itemClickListener;
  275. lytContainer = itemView.findViewById(R.id.lytContainer);
  276. tvCategoryId = itemView.findViewById(R.id.categoryId);
  277. tvCategoryTitle = itemView.findViewById(R.id.titleText);
  278. lytContainer.setOnClickListener(this);
  279. }
  280. @Override
  281. public void onClick (View view) {
  282. if (itemClickListener !=null){
  283. itemClickListener.onItemClick(getLayoutPosition(), view);
  284. }
  285. }
  286. }
  287. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement