关于fit2怎么转换另一个卡相关资料如下
fit2转换另一个卡方法
1、点击“设置”,如下图所示:
2、点击“双卡管理”,如下图所示:
3、选择需要使用的SIM卡,如下图所示:
4、设置完成后,手机主界面左上角会显示已经选择的运营商名称。
get 方法的参数 Type 和 Annotation[] 分别 对应 定义的api方法的 返回值Type 和 方法的注解 ,下图比较清晰。
图中可以看出 returnType 对应 LiveData<LoginInfo> ,而 annotations 则对应 POST和FormUrlEncoded 。
但是 returnType 直接获取到的不是 LiveData ,上一篇文章就说到 Type的几个子接口类 ,这里就要用到了。
先调用辅助方法 getRawType(returnType) ,取得原始类型,判断是否是 LiveDataclass ,不是的话返回 null ,这样 retrofit就会循环下一个Factory ,直到 返回值不为空的CallAdapter 。
如果原始类型是 LiveDataclass ,则判断是否是 ParameterizedType ,否则抛出异常。通过 getParameterUpperBound(0, (ParameterizedType) returnType) 获取泛型 Type responseType ,最后将这个 responseType 作为参数传给 CallAdapter 。
PS:这里使用 getRawType(responseType) 的话,得到的原始类型会是 LoginInfo 。
从上面可知, get方法可以理解为判断是否是对应的CallAdapter和取得必要参数的方法 。而且还可以通过在 定义的api方法(如:login)那里添加注解 来做一些特殊 *** 作。
这里继续以上面的 LiveData<LoginInfo> 为例,可以在 adapt 方法创建一个 LiveData 且作为返回值返回。
然后通过 call 访问接口获取数据,将返回来的数据通过 livaDatapostValue() 通知到外部,这样就完成了获取数据且关联了生命周期。
上图所示,创建 LoginService 调用 login 方法,因为返回的是 LiveData 所以使用起来跟普通的一样就好了,设置 Observer ,在 onChanged 方法回调更新数据。
如何让你的电脑通过安卓手机上网 (本人用的是三星GT-S5830,USB连接方式) 准备工作: 1.下载手机的usb驱动 2.下载PDANet,, 选择Version 245 installer for 32-bit Windows 7/Vista/
现在大多数的网络请求框架都是使用 Retrofit,本篇文章根据 Retrofit 中,Flowable 创建 和 Ok>
您好,mobile7获取接口的方法如下:
1 首先,您需要登录mobile7官网,点击“开发者中心”;
2 然后,点击“接口文档”,您可以查看所有可用的接口;
3 点击您需要的接口,可以查看接口的详细信息,包括接口的功能、调用方式、参数等;
4 最后,您可以根据接口文档中的信息,使用接口实现您的需求。
1单张的上传
1
2
3
4
5
6
7
8
9
10
/
上传一张
@param description
@param imgs
@return
/
@Multipart
@POST("/upload")
Call<String> uploadImage(@Part("fileName") String description,
@Part("file\"; filename=\"imagepng\"")RequestBody imgs);
2多张的上传
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/
上传三张
@param description
@param imgs
@param imgs1
@param imgs3
@return
/
@Multipart
@POST("/upload")
Call<String> uploadImage(@Part("fileName") String description,
@Part("file\"; filename=\"imagepng\"")RequestBody imgs,
@Part("file\"; filename=\"imagepng\"")RequestBody imgs1,
@Part("file\"; filename=\"imagepng\"")RequestBody imgs3);
注意:目前是提供传3张,要想多上传目前我发现的方法就是想要多传一张,就多增加一个参数
@Part("file\"; filename=\"imagepng\"")RequestBody imgs,以此类推。
大家看到上面觉得写法很漏,但是用于能力有限,只能想到这样。用Java中的可变参数解决之后,就只能传一张。不能多张。
1
2
3
4
@Multipart
@POST("/upload")
Call<String> uploadImage(@Part("fileName") String description,
@Part("file\"; filename=\"imagepng\"")RequestBody imgs);
调用:
Call<String> call = apiManageruploadImage( m[0],requestBody1,requestBody2,null);
这样写看上去很是高端,不幸的是只能传一张
3最后是实现胡过程
31创建FileUploadService接口
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public interface FileUploadService {
/
上传一张
@param description
@param imgs
@return
/
@Multipart
@POST("/upload")
Call<String> uploadImage(@Part("fileName") String description,
@Part("file\"; filename=\"imagepng\"")RequestBody imgs);
/
上传三张
@param description
@param imgs
@param imgs1
@param imgs3
@return
/
@Multipart
@POST("/upload")
Call<String> uploadImage(@Part("fileName") String description,
@Part("file\"; filename=\"imagepng\"")RequestBody imgs,
@Part("file\"; filename=\"imagepng\"")RequestBody imgs1,
@Part("file\"; filename=\"imagepng\"")RequestBody imgs3);
}
32创建Retrofit对象
1
2
3
4
5
6
7
private static final Retrofit sRetrofit = new Retrofit Builder()
baseUrl(ENDPOINT)
addConverterFactory(GsonConverterFactorycreate())
// addCallAdapterFactory(RxJavaCallAdapterFactorycreate()) // 使用RxJava作为回调适配器
build();
private static final FileUploadService apiManager = sRetrofitcreate(FileUploadServiceclass);
33调用上传的方法
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public static void upload(String path){
String descriptionString = "hello, this is description speaking";
String[] m = new String[2];
m[0]= "sharepng";
m[1]= "Screenshot_20160128-140709png";
File[] ssssss= new File[2];
File file1 = new File("/storage/emulated/0/sc/sharepng");
File file = new File("/storage/emulated/0/Pictures/ScreenShots/Screenshot_20160128-140709png");
ssssss[0]=file;
ssssss[0]=file1;
RequestBody requestBody[] = new RequestBody[3];
RequestBody requestBody1 =
RequestBodycreate(MediaTypeparse("multipart/form-data"), file);
RequestBody requestBody2 =
RequestBodycreate(MediaTypeparse("multipart/form-data"), file1);
requestBody[0]=requestBody1;
requestBody[1]=requestBody2;
Call<String> call = apiManageruploadImage( m[0],requestBody1,requestBody2,null);
callenqueue(new Callback<String>() {
@Override
public void onResponse(Response<String> response, Retrofit retrofit) {
Logv("Upload", responsemessage());
Logv("Upload", "success");
}
@Override
public void onFailure(Throwable t) {
Loge("Upload", ttoString());
}
});
}
4服务器段代码:
服务器用的是struts接收:
@Controller
public class GetToken extends ActionSupport {
/
/
private static final long serialVersionUID = 1L;
private File[] file;
private String[] fileName;
public File[] getFile() {
return file;
}
public void setFile(File[] file) {
thisfile = file;
}
public String[] getFileName() {
return fileName;
}
public void setFileName(String[] fileName) {
thisfileName = fileName;
}
@Action("/upload")
public void login() {
Systemoutprintln("------"+ArraystoString(file));
Systemoutprintln("------"+ArraystoString(fileName));
}
}
以上就是关于fit2怎么转换另一个卡全部的内容,包括:fit2怎么转换另一个卡、Retrofit的CallAdapter详解、在Android中使用retrofit时,怎样获取响应的头信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)