Android Studio Cordova 详细教程(相机 纯小白篇)

一。 首先安装Cordova

  1. 打开Cordova官网 http://cordova.axuer.com 点击入门
  2. 先安装Node,点击步骤1中的Node.js,下载安装
  3. 打开cmd 依次输入上图命令 创建第一个cordova demo(第一个命令安装cordova是从服务器下载 跟网速有关,耐心等待)
  4. 创建Cordova项目

二。 添加Camera插件
上面步骤后cmd不要闭关 继续输入 添加相机插件

cordova plugin add cordova-plugin-camera

三。 生成Android Studio 可用的Cordova jar包

  1. Android Cordova 官方github:https://github.com/apache/cordova-android 直接整个项目Download下来就行了
  2. 下载ant 官网:http://ant.apache.org/ 下载解压 配置path环境
    进入解压Cordova目录的/framework,然后执行指令ant jar(目录下需要新建local.properties文件 指定sdk路径 可以从其他的Android Studio项目中直接复制一个过来),生成cordova-X.X.X-dev.jar

四。 新建Android Studio Cordova 项目

  1. 新建正常Android studio 项目 复制cordova-X.X.X-dev.jar 到libs下 Add As Library...
  2. MainActiviaty页面
 public class CordovaViewTestActivity extends CordovaActivity {
     @Override
     public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        loadUrl(launchUrl);//加载h5页面
     }
  1. 新建assets目录,并把Cordova项目中assets目录下的www文件复制过去
  2. 把Cordova项目下src下的org复制到src/mian/java 下面
  3. 把Cordova项目下res下xml复制到 res下
  4. 打开AndroidManifest 相机权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

并在application 标签下 加入调用相机的代码

  </application>
  ...
     <!--js调用原生相机-->
    <provider
            android:name="android.support.v4.content.FileProvider"
            android:authorities="${applicationId}.provider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/provider_paths" />
        </provider>
    </application>

五。 配置js文件
1 index.html文件中添加一个按钮 设置一个点击方法

<button onclick="takephoto()">takephoto</button>

js中写对应方法



//只有在deviceready事件触发以后才可以监听拍照事件
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    console.log(navigator.camera);
}

//拍照方法(对应button方法名字)
function takephoto(){
     navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
                destinationType: Camera.DestinationType.DATA_URL
            });
}

//成功回调
function onSuccess(imageData) {
    var image = document.getElementById('myImage');
    image.src = "data:image/jpeg;base64," + imageData;
}

//失败回调
function onFail(message) {
    alert('Failed because: ' + message);
}

运行试试效果吧
附个人demo: https://git.coding.net/Lrxc/LrxcCordova.git

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,800评论 25 709
  • 都说工作不太好找,找了方圆五公里地终于还是选择进了电子厂。是的,26了,依然单身,很捉急。。。 大专学历,深入基本...
    坡坡是我阅读 1,571评论 0 0
  • 贰零壹柒年伍月叁拾日,端午节,下午肆点零零左右,送朋友离开… 我本是多情善愁之人,众所周知,但却总感觉,离别之情,...
    程程城阅读 1,652评论 0 1
  • 还记得第一次感受到胎动的那一刻吗?满心的激动、不可思议,慢慢的随着宝宝的长大,胎动似乎成为你们之间的互动。如果...
    卸克西阅读 3,853评论 0 0
  • 我准备参赛了,合作学习的比赛,自己先说说课,自己内观一下,思路是否清晰,逻辑是否严谨,孩子们是否站在课堂中央真...
    晚起画蛾眉阅读 7,772评论 0 1

友情链接更多精彩内容