在移动设备上,尤其是Android和iOS,有许多远程访问应用程序,但它们通常缺乏供开发者使用的API来远程访问手机特性。为了填补这一空白,开发了myMobKit作为软件解决方案的一部分。
使用myMobKit服务非常简单。一旦启动服务,可以通过访问提供的网址来查看所有暴露的REST API。这些API可以列出并流式传输手机上的媒体(图片和视频)。使用AngularJS,通过$resource服务调用REST API变得非常容易。
可以创建一个资源,返回想要的媒体列表。以下是使用AngularJS创建资源的示例代码:
<script>
angular.module('resources.media', ['ngResource']);
angular.module('resources.media').factory('Media', ['$rootScope', '$resource', '$location', '$http', function($rootScope, $resource, $location, $http) {
var mediaServices = {};
mediaServices.getAllMedia = function(media) {
var path = $rootScope.host + '/services/api/media/' + media;
return $resource(path, {}, {
get: {
method: 'GET',
isArray: false
}
});
};
return mediaServices;
}]);
</script>
利用创建的模块,可以轻松检索所有图片和视频。以下是AngularJS的控制器代码示例:
var getAllImages = function(){
Media.getAllMedia('image').get().$promise.then(function success(resp, headers) {
$scope.allImages = resp;
$scope.images = $scope.allImages.images;
}, function err(httpResponse) {
$scope.errorMsg = httpResponse.status;
});
};
var getAllVideos = function(){
Media.getAllMedia('video').get().$promise.then(function success(resp, headers) {
$scope.allVideos = resp;
$scope.videos = $scope.allVideos.videos;
}, function err(httpResponse) {
$scope.errorMsg = httpResponse.status;
});
};
获取到图片列表后,可以在网页浏览器中轻松展示它们。以下是HTML代码示例:
<div class="alert alert-info">
<h4 class="alert-heading">Usage - <i>Image Gallery</i></h4>
<ul class="row">
<li class="col-lg-2 col-md-2 col-sm-3 col-xs-4" ng-repeat="image in images" style="margin-bottom:25px">
<img class="img-responsive" ng-click="showImage($index)" ng-src="{{streamImageLink}}?uri={{image.contentUri}}&&id={{image.id}}&kind=1"/>
</li>
</ul>
</div>