• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
APPlause - DemoCamp Munich
 

APPlause - DemoCamp Munich

on

  • 2,230 views

Build native cross-platform apps using APPlause, a DSL for mobile developement.

Build native cross-platform apps using APPlause, a DSL for mobile developement.

Statistics

Views

Total Views
2,230
Views on SlideShare
1,759
Embed Views
471

Actions

Likes
0
Downloads
19
Comments
0

5 Embeds 471

http://lanyrd.com 441
http://www.slideshare.net 26
url_unknown 2
http://coderwall.com 1
http://www.linkedin.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    APPlause - DemoCamp Munich APPlause - DemoCamp Munich Presentation Transcript

    • Cross-Platform Mobile Development with Eclipse @peterfriese / @itemismobile
    • countless devices
    • diversity of platforms
    • Javapublic class SpeakersList extends GenericListActivity<Speaker> { List<Speaker> speakers; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setTitle("Speakers"); speakers = getItemsFromProvider(); ArrayList<AbstractRowAdapter> rowAdapters = new ArrayList<AbstractRowAdapter>(); Iterable<Speaker> items1 = speakers; for (Speaker i : items1) rowAdapters.add(new Cell1(i)); setListAdapter(new GenericItemAdapter(this, rowAdapters)); finishCreation(); }
    • C#public partial class SpeakerDetailsDetailsView : PhoneApplicationPage{ public SpeakerDetailsDetailsView() { InitializeComponent(); } protected override void OnNavigatedTo(NavigationEventArgs e) { string selectedIndex = ""; if (NavigationContext.QueryString.TryGetValue("itemByIndex", out selectedIndex)) { int index = int.Parse(selectedIndex); DataContext = App.RootViewModelProvider.BlogpostsModelProvider().BlogItems[index]; } }}
    • Objective-C@implementation SpeakersListViewController- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { if(section == 0) { return [[[contentProvider valueForKeyPath:@"content"] asArray] count]; } else return 0;}- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { id item = [self.items objectAtIndex: indexPath.row]; IPContentProvider *provider = [(itemisAppProviders*)contentProvider.providers providerForSpeakerByName: [item valueForKeyPath:@"name"]]; SpeakerDetailsViewController *controller = [[SpeakerDetailsViewController alloc] init]; controller.contentProvider = provider; [self.navigationController pushViewController: controller animated: TRUE]; [controller release];}
    • HTML{% extends "generated/application.html" %}{% block title%}Speakers{% endblock %}{% block content_class %}table list{% endblock %}{% block content %}<ul>{% for s in data|to_list %} <li> {% url views.SpeakerDetailsBySpeakerByName s.name|urlencode as url %} <a href="{{ url }}"> <div class="cell_text">{{s.name|safe}}</div> </a> </li>{% endfor %}</ul>{% endblock %}
    • App Anatomy 101
    • Views
    • Views Cells
    • Views Cells Navigation
    • Views Cells Navigation
    • ViewsCellsNavigation
    • EntitiesViews SessionCells title roomNavigation
    • Views SessionCells title roomNavigationEntities
    • Views SessionCells title roomNavigationEntities
    • Views SessionCells title roomNavigationEntities ContentProviders
    • Views SessionCells title roomNavigationEntities ContentProviders
    • Views SessionCells title roomNavigationEntitiesContentProviders
    • Demo :)
    • @hbehrens and @peterfriese working with @itemismobile