AngularJS 应用访问 Android 手机的照片库 已翻译 100%

oschina 投递于 2015/03/12 07:03 (共 2 段, 翻译完成于 03-12)
阅读 5764
收藏 79
2
加载中

Download angularjs.zip - 4.5 KB

介绍

这篇文章来说明如何使用AngularJs调用android Apps暴露的REST APIS来访问图像库.

背景

Android和IOS 有很多远程访问的app,但是开发者缺少远程访问手机特征的API.因此,myMoKit的开发是用来填补软件解决方案的缺陷的.

使用代码

使用代码是很简单的,你只要通过web URL 引用myMoKit 服务,你就可以看见所有暴露的REST API了

樱天寻
翻译于 2015/03/12 09:41
1

这些在手机里面的API列表和流媒体.通过AngularJs来调用REST APIS可以很方便的使用$resource 服务。

你可以创建你需要的返回媒体列表的资源

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;

    } ]);

利用创建过的模块,你可以很轻易的获取到所有的图片和视频

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;
          });
    };

你可以很方便的通过web 浏览器来展示获取到的一系列图片

<div class="alert alert-info">
<p> </p>

<h4 class="alert-heading">Usage - <i>Image Gallery</i></h4>

<p> </p>
 

<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>

樱天寻
翻译于 2015/03/12 09:48
1
本文中的所有译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接。
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。
加载中

评论(16)

肖滔
肖滔
本来就是支持的
jQer
jQer
谷歌的设计是一流的,写的代码是shi一样的
lino310
lino310
没看懂 在多看几遍
Lucixfer
Lucixfer
直接用cordova js
luwenhua
luwenhua
myMobKit
Jason_hu
Jason_hu
android 缺省提供这些服务:
    所有联系人的Uri: content://contacts/people
    某个联系人的Uri: content://contacts/people/5
    所有图片Uri: content://media/external
    某个图片的Uri:content://media/external/images/media/4
hantsy
hantsy
这也太扯蛋了,,直接用 https://github.com/driftyco/ng-cordova/ 不就完了。
camelwoo
camelwoo
myMoKit 应为 myMobKit。
从其官网介绍来看,它封闭了一些 webservice 用于访问手机上的资源,包括设备。
Mybrc91
Mybrc91
本地自己放了web服务器
dingoo
dingoo
本地自己放了web服务器
返回顶部
顶部