通过 http retrofit2 请求发送 WAV 文件 - Android Studio
Send WAV files though http retrofit2 requests - Android Studio
我是 运行 服务器上的机器学习模型,可处理 WAV 文件。我可以使用 Android Studio 通过 HTTP 请求以 WAV 格式发送存储在移动 phone 中的 WAV 文件吗?
到目前为止,我正在使用这样的 retrofit2 发出(获取)请求:
MainActivity.java:
private void getbuttonclicked() {
Call call = RequestManager.INSTANCE.getService().getChords();
call.enqueue((Callback)(new Callback() {public void onResponse(@NotNull Call call, @NotNull Response response) {
Intrinsics.checkParameterIsNotNull(call, "call");
Intrinsics.checkParameterIsNotNull(response, "response");
if (response.isSuccessful()) {
((TextView) findViewById(R.id.output_text)).setText("REQUEST OK");
}
}
DataManager.kt:
object RequestManager {
val interceptor = HttpLoggingInterceptor()
val client = OkHttpClient.Builder().addInterceptor(interceptor).build()
init {
interceptor.level = HttpLoggingInterceptor.Level.BODY
}
val retrofit = Retrofit.Builder()
.baseUrl("http://myip/")
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build()
val service = retrofit.create(Api::class.java)
}
Api.kt:
interface Api {
@GET(".")
fun getChords(): Call<chord_model>
}
chord_model.java:
public class chord_model {
@SerializedName("Chords")
@Expose
private List<String> chords = null;
@SerializedName("Bass")
@Expose
private List<String> bass = null;
public List<String> getChords() {
return chords;
}
public void setChords(List<String> chords) {
this.chords = chords;
}
public List<String> getBass() {
return bass;
}
public void setBass(List<String> bass) {
this.bass = bass;
}
}
我想我必须使用 post 请求,但我该如何发送整个文件?
你应该看看这篇文章:
https://www.c-sharpcorner.com/article/upload-files-to-server-using-retrofit-2-in-android/
基本上您将发送一个 POST 请求。使用邮递员,它会是这样的:
我是 运行 服务器上的机器学习模型,可处理 WAV 文件。我可以使用 Android Studio 通过 HTTP 请求以 WAV 格式发送存储在移动 phone 中的 WAV 文件吗?
到目前为止,我正在使用这样的 retrofit2 发出(获取)请求:
MainActivity.java:
private void getbuttonclicked() {
Call call = RequestManager.INSTANCE.getService().getChords();
call.enqueue((Callback)(new Callback() {public void onResponse(@NotNull Call call, @NotNull Response response) {
Intrinsics.checkParameterIsNotNull(call, "call");
Intrinsics.checkParameterIsNotNull(response, "response");
if (response.isSuccessful()) {
((TextView) findViewById(R.id.output_text)).setText("REQUEST OK");
}
}
DataManager.kt:
object RequestManager {
val interceptor = HttpLoggingInterceptor()
val client = OkHttpClient.Builder().addInterceptor(interceptor).build()
init {
interceptor.level = HttpLoggingInterceptor.Level.BODY
}
val retrofit = Retrofit.Builder()
.baseUrl("http://myip/")
.addConverterFactory(GsonConverterFactory.create())
.client(client)
.build()
val service = retrofit.create(Api::class.java)
}
Api.kt:
interface Api {
@GET(".")
fun getChords(): Call<chord_model>
}
chord_model.java:
public class chord_model {
@SerializedName("Chords")
@Expose
private List<String> chords = null;
@SerializedName("Bass")
@Expose
private List<String> bass = null;
public List<String> getChords() {
return chords;
}
public void setChords(List<String> chords) {
this.chords = chords;
}
public List<String> getBass() {
return bass;
}
public void setBass(List<String> bass) {
this.bass = bass;
}
}
我想我必须使用 post 请求,但我该如何发送整个文件?
你应该看看这篇文章:
https://www.c-sharpcorner.com/article/upload-files-to-server-using-retrofit-2-in-android/
基本上您将发送一个 POST 请求。使用邮递员,它会是这样的: