之前封装了华师教务处SDK,收到了部分开发者的赞扬与反馈,于是进行了改善,这里表示了对他们的感谢,后面,和工作室成员再拓展了华南地区部分高校的教务处SDK,地址在:各大高校正方教务处SDK
当然,今天再接再厉,要介绍的是华师图书馆SDK~~
功能列表:
1、书籍查询:可根据书名查询华师图书馆的书籍,返回包含该书名的数据。
2、书籍详情:可以获取对应书籍的题名、责任者、出版社、馆藏信息等。
SDK目录结构:
接下来讲解一下如何利用SDK进行开发:
1、首先把libs目录下的jar文件放到工程目录libs下:
2、添加权限:
<uses-permission android:name="android.permission.INTERNET" />
/**
* 初始化图书馆请求对象
*/
private void initLibraryQuery()
{
libraryQuery = new LibraryQuery("20", new LibraryQueryListener() {
@Override
public void querySuccess(List<Book> books) {
// TODO 自动生成的方法存根
state.setText("查询成功");
MainActivity.this.books = books;
adapter = new ListViewAdapter(MainActivity.this, MainActivity.this.books);
listView.setAdapter(adapter);
request.setEnabled(true);
loading.setEnabled(true);
}
@Override
public void queryStart() {
// TODO 自动生成的方法存根
state.setText("查询开始...");
request.setEnabled(false);
loading.setEnabled(false);
}
@Override
public void queryNoMoreData() {
// TODO 自动生成的方法存根
state.setText("没有该书");
request.setEnabled(true);
}
@Override
public void queryLoadingSuccess(List<Book> books2) {
// TODO 自动生成的方法存根
state.setText("加载成功");
for(Book book : books2)
{
books.add(book);
}
adapter.notifyDataSetChanged();
request.setEnabled(true);
loading.setEnabled(true);
}
@Override
public void queryLoadingStart() {
// TODO 自动生成的方法存根
state.setText("开始加载...");
request.setEnabled(false);
loading.setEnabled(false);
}
@Override
public void queryLoadingNoMoreData() {
// TODO 自动生成的方法存根
state.setText("没有更多的数据了");
request.setEnabled(true);
}
});
}
4、获取相对应书籍详情:
/**
* 必须在LibraryQuery先定义了之后才可以使用该函数
*/
libraryInfo.request(books.get(position).getUrl(),new LibraryInfoListener() {
@Override
public void infoSuccess(String name_author, String publish,
List<Stock> stocks) {
// TODO 自动生成的方法存根
String str = "";
for(Stock stock : stocks)
{
str += "=================" + '\n' +
"索书号:" + stock.getIndex() + '\n' +
"条码号:" + stock.getCode() + '\n' +
"馆藏点:" + stock.getPlace() + '\n' +
"书刊状态:" + stock.getState() + '\n';
}
new AlertDialog.Builder(MainActivity.this)
.setTitle("详情")
.setMessage("题名/责任者:" + name_author + "\n\n" +
"出版社:" + publish + "\n\n" +
"馆藏信息:" + '\n' +
str).show();
state.setText("获取书籍信息成功");
}
@Override
public void infoStart() {
// TODO 自动生成的方法存根
state.setText("开始获取书籍详细信息...");
}
@Override
public void infoFail() {
// TODO 自动生成的方法存根
state.setText("获取失败");
}
});
好了,基本是这样子了,此SDK已经放在了Github上面,包括了SDK、Demo和开发文档,方便android开发者,特别是华师的android开发者使用,当然,因为是个人独立开发,难免有疏忽的地方,非常大家欢迎多多反馈,同时,也非常大家共同交流,让这事业、环境、我们变得越来越好~~
Github:Android-SCNU-Library-SDK-1.0.0