在本文中,将探讨如何创建一个端到端的黑莓手机应用,该应用将作为移动前端,连接到知识库样本Web应用。这个移动应用的要求相当简单:搜索存储在知识库数据库中的文章集合,可以通过标题或标签进行搜索;查看文章,文章的可见属性包括:标题、正文、标签、作者名称、发布日期。
在此之前,已经完成了应用程序类和主屏幕的构建。现在,将继续构建剩余的屏幕。
标签屏幕显示数据库中现有的标签列表。每个标签旁边将显示该标签适用的文章数量。
搜索屏幕将允许用户通过输入属于文章标题的一个或多个词来启动文章搜索。
private void searchArticles() {
String searchPhrase = searchPhraseField.getText().trim();
if (null != searchPhrase && searchPhrase.length() > 0) {
UiApplication.getUiApplication().pushScreen(articlesScreen);
// TODO: Trigger the search function in the Articles Screen.
} else {
Dialog.alert("You must enter a search phrase.");
}
}
文章屏幕显示满足搜索屏幕输入条件的文章列表。它还可以显示最近查看的文章列表。点击任何列出的文章将把文章屏幕推到堆栈的顶部。由于仍然缺少网络例程,创建了一些虚拟文章以测试文章屏幕的外观和感觉:
ArticlesScreen() {
this.setTitle("Articles");
// Create a few dummy tags in order to test the screen;
articles = new Article[15];
Article article;
for (int i = 0; i < 15; i++) {
article = new Article();
article.title = "Dummy article " + Integer.toString(i);
article.author = "ramonj";
article.contents = "This is a test article";
article.tags = new String[] {"tag 1", "tag 2", "tag 3"};
article.dateCreated = "01/01/2008";
articles[i] = article;
}
articlesList = new ArticlesListField();
articlesList.set(articles);
this.add(articlesList);
}
文章类如下所示。请注意,没有过多关注封装,因为此类的使用将仅限于应用程序中的几个地方。
class Article {
public String title;
public String dateCreated;
public String author;
public String[] tags;
public String contents;
}
文章屏幕显示在文章屏幕上选择的文章的可见属性。这是用户阅读文章的地方。这也是使用上面显示的文章类的另一个地方。
最后,选项屏幕允许用户更改应用程序设置。就设置而言,目前只能想到应用程序将连接到的URL,以便与其服务器端进行通信,以及在设备上缓存最近查看的文章引用的数量。