今天学习一下安卓,想调一下摄像头,拍张照片,转为Base64编码,再输入一些文本,然后发送给后台,类似:
{
“text”:”xxx”,
“pics”:[“xx…”] // 目前只传一张
}
找了一篇教程:
Android开发之调用摄像头
报错:
java.lang.NullPointerException: Attempt to invoke virtual method ‘android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager, java.lang.String)’ on a null object reference
原因是 没把 MainActivity里的com.gyq.xxx改成自己的项目名称
改了以后再运行:
报错:
java.lang.IllegalArgumentException: Failed to find configured root that contains /storage
解决方法:
https://www.jianshu.com/p/121bbb07cb07
主要是写SD卡的问题
下一步要把图片转为base64的:安卓中图片和Base64编码字符集的相互转换
然后取得用户输入的文本
String ystid = "";
System.out.println("ystid:"+ystid);
ystid = mYstid.getText().toString();
System.out.println("ystid2:"+ystid);
if (ystid.length() > 0){
Toast.makeText(MainActivity.this,ystid,Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this,"请输入id",Toast.LENGTH_SHORT).show();
System.out.println("empty");
}
下一步就是发送给后台啦
从安卓客户端向服务器端发送JSON格式的数据
要设置
<uses-permission android:name=“android.permission.INTERNET”/>
然后就是从服务器接收数据啦
Android开发:客户端与服务器通过传递和接收json数据进行交互
Activity创建三部曲
1.新建类继承Activity或其子类
2.在AndroidManifest中声明
3.创建layout并在Activity的onCreate中设置