Android之第三方库“scnu-library-sdk-1.0.0”

之前封装了华师教务处SDK,收到了部分开发者的赞扬与反馈,于是进行了改善,这里表示了对他们的感谢,后面,和工作室成员再拓展了华南地区部分高校的教务处SDK,地址在:各大高校正方教务处SDK


当然,今天再接再厉,要介绍的是华师图书馆SDK~~

功能列表:

1、书籍查询:可根据书名查询华师图书馆的书籍,返回包含该书名的数据。

2、书籍详情:可以获取对应书籍的题名、责任者、出版社、馆藏信息等。


SDK目录结构:

Android之第三方库“scnu-library-sdk-1.0.0”_第1张图片


接下来讲解一下如何利用SDK进行开发:

1、首先把libs目录下的jar文件放到工程目录libs下:



2、添加权限:


3、必须先进行LibraryQuery对象定义,获取书籍名称:

 /**
     * 初始化图书馆请求对象
     */
    private void initLibraryQuery()
    {
    	libraryQuery = new LibraryQuery("20", new LibraryQueryListener() {
			
			@Override
			public void querySuccess(List 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 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 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


你可能感兴趣的:(Android)