- Android: GSON with Fedor's LazyList
- public class ProjectsList extends Activity {
- ListView lstTest;
- ProjectAdapter arrayAdapter;
- ArrayList<Project> prjcts=null;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.projects_list);
- //Initialize ListView
- lstTest= (ListView)findViewById(R.id.lstText);
- prjcts = new ArrayList<Project>();
- arrayAdapter = new ProjectAdapter(ProjectsList.this, R.layout.listitems,prjcts,ProjectsList.this);
- lstTest.setAdapter(arrayAdapter);
- if (isOnline())
- {
- WebService webService = new WebService("http://liebenwald.spendino.net/admanager/dev/android/projects.json");
- Map<String, String> params = new HashMap<String, String>();
- params.put("var", "");
- String response = webService.webGet("", params);
- try
- {
- Type collectionType = new TypeToken<ArrayList<Project>>(){}.getType();
- List<Project> lst= new Gson().fromJson(response, collectionType);
- for(Project l : lst)
- {
- prjcts.add(l);
- ConstantData.projectsList.add(l);
- }
- arrayAdapter.notifyDataSetChanged();
- }
- catch(Exception e)
- {
- Log.d("Error: ", e.getMessage());
- }
- }
- lstTest.setOnItemClickListener(new OnItemClickListener() {
- public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
- Intent care = new Intent(ProjectsList.this, ProjectDetail.class);
- care.putExtra("spendino.de.ProjectDetail.position",position);
- startActivity(care);
- }
- });
- }
- @Override
- public void onDestroy()
- {
- yAdapter.imageLoader.stopThread();
- lstTest.setAdapter(null);
- super.onDestroy();
- }
- protected boolean isOnline() {
- ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
- NetworkInfo netInfo = cm.getActiveNetworkInfo();
- if (netInfo != null && netInfo.isConnected()) {
- return true;
- } else {
- }
- });
- return false;
- }
- }
- }
- private Bitmap getBitmap(String urlString)
- {
- String filename = String.valueOf(urlString.substring(urlString.lastIndexOf("/") + 1));
- File f = new File(cacheDir, filename);
- // from web
- try
- {
- if(!f.exists())
- {
- Bitmap bitmap = null;
- InputStream is = new URL(urlString).openStream();
- OutputStream os = new FileOutputStream(f);
- Globals.CopyStream(is, os);
- os.close();
- bitmap = decodeFile(f);
- return bitmap;
- }
- else
- {
- Bitmap bitmap = decodeFile(f);
- return bitmap;
- }
- }
- catch (Exception ex)
- {
- ex.printStackTrace();
- BitmapDrawable mDrawable = (BitmapDrawable) context.getResources().getDrawable(R.drawable.placeholder);
- return mDrawable.getBitmap();
- }
- }