Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jun 17th, 2012  |  syntax: None  |  size: 3.42 KB  |  hits: 16  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Android: GSON with Fedor's LazyList
  2. public class ProjectsList extends Activity {
  3.         ListView lstTest;
  4.  
  5.         ProjectAdapter arrayAdapter;
  6.  
  7.         ArrayList<Project> prjcts=null;
  8.         @Override
  9.         public void onCreate(Bundle savedInstanceState) {
  10.             super.onCreate(savedInstanceState);
  11.             setContentView(R.layout.projects_list);
  12.  
  13.             //Initialize ListView
  14.             lstTest= (ListView)findViewById(R.id.lstText);
  15.  
  16.             prjcts = new ArrayList<Project>();
  17.  
  18.             arrayAdapter = new ProjectAdapter(ProjectsList.this, R.layout.listitems,prjcts,ProjectsList.this);
  19.  
  20.                 lstTest.setAdapter(arrayAdapter);
  21.                 if (isOnline())
  22.                 {
  23.             WebService webService = new WebService("http://liebenwald.spendino.net/admanager/dev/android/projects.json");
  24.  
  25.             Map<String, String> params = new HashMap<String, String>();
  26.             params.put("var", "");
  27.  
  28.             String response = webService.webGet("", params);
  29.  
  30.             try
  31.             {
  32.                 Type collectionType = new TypeToken<ArrayList<Project>>(){}.getType();
  33.                 List<Project> lst= new Gson().fromJson(response, collectionType);
  34.  
  35.  
  36.                 for(Project l : lst)
  37.                 {
  38.                     prjcts.add(l);
  39.                     ConstantData.projectsList.add(l);
  40.                 }
  41.  
  42.                 arrayAdapter.notifyDataSetChanged();
  43.             }
  44.             catch(Exception e)
  45.             {
  46.                 Log.d("Error: ", e.getMessage());
  47.             }
  48.            }
  49.  
  50.  
  51.             lstTest.setOnItemClickListener(new OnItemClickListener() {
  52.                 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {              
  53.                     Intent care = new Intent(ProjectsList.this, ProjectDetail.class);
  54.                     care.putExtra("spendino.de.ProjectDetail.position",position);
  55.                     startActivity(care);
  56.                 }
  57.             });
  58.  
  59.         }
  60.         @Override
  61.         public void onDestroy()
  62.         {
  63.             yAdapter.imageLoader.stopThread();
  64.             lstTest.setAdapter(null);
  65.             super.onDestroy();
  66.         }
  67.  
  68.         protected boolean isOnline() {
  69.             ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
  70.             NetworkInfo netInfo = cm.getActiveNetworkInfo();
  71.             if (netInfo != null && netInfo.isConnected()) {
  72.                 return true;
  73.             } else {
  74.                      }
  75.                  });
  76.                 return false;
  77.             }
  78.         }
  79.  
  80.  
  81.     }
  82.        
  83. private Bitmap getBitmap(String urlString)
  84. {
  85.     String filename = String.valueOf(urlString.substring(urlString.lastIndexOf("/") + 1));
  86.     File f = new File(cacheDir, filename);
  87.     // from web
  88.     try
  89.     {
  90.         if(!f.exists())
  91.         {
  92.             Bitmap bitmap = null;
  93.             InputStream is = new URL(urlString).openStream();
  94.             OutputStream os = new FileOutputStream(f);
  95.             Globals.CopyStream(is, os);
  96.             os.close();
  97.             bitmap = decodeFile(f);
  98.             return bitmap;
  99.         }
  100.         else
  101.         {              
  102.             Bitmap bitmap = decodeFile(f);
  103.             return bitmap;
  104.         }
  105.  
  106.     }
  107.     catch (Exception ex)
  108.     {
  109.         ex.printStackTrace();
  110.         BitmapDrawable mDrawable = (BitmapDrawable) context.getResources().getDrawable(R.drawable.placeholder);
  111.         return mDrawable.getBitmap();
  112.     }
  113. }