我正在努力学习改型,尽管从数据库中检索文本相当容易。我在向数据库提交数据时有点麻烦。
我提交的数据会进入数据库,但每次提交数据时都会显示此错误。toast表示-应为BEGIN_对象,但在第1行第2列路径处为字符串$
这是我的注册API活动:
公共接口注册器API{
@FormUrlEncoded
@POST("/insertText.php")
Call<Result> createUser(
@Field("name") String name,
@Field("age") String age);
}
这是我的个人课:
public class Person {
@SerializedName("name")
private String name;
@SerializedName("age")
private String age;
public Person(String name, String age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public String getAge() {
return age;
}
}
这是我的插入活动:
public static String ROOT_URL = "https://MYURL/";
public void insertUser(){
String name = editTextName.getText().toString().trim();
String age = editTextAge.getText().toString().trim();
Gson gson = new GsonBuilder()
.setLenient()
.create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl(ROOT_URL)
.addConverterFactory(GsonConverterFactory.create(gson))
.build();
RegisterAPI api = retrofit.create(RegisterAPI.class);
Person user = new Person(name, age);
Call<Person> call = api.createUser(user.getName(),user.getAge());
call.enqueue(new Callback<Person>() {
@Override
public void onResponse(Call<Person> call, Response<Person> response) {
Toast.makeText(insertActivity.this, "SUCCESS", Toast.LENGTH_SHORT).show();
}
@Override
public void onFailure(Call<Person> call, Throwable t) {
Toast.makeText(insertActivity.this, t.getMessage(), Toast.LENGTH_LONG).show();
}
});
}
检索文本
[{"name":"Gionne","age":"12"},
{"name":"Harley","age":"25"},
{"name":"Gamboa","age":"30"},
{"name":"Lapuz","age":"35"}]
以下问题的答案
我想回答我自己的问题,但我无法回答下面的问题,因为我被标记为重复。不管怎么说,问题是两件事,我的PHP insertText。php文件和我的对象类。
这是我的插入文本。php文件:
<?php
require_once('dbConnect.php');
$name = $_POST['name'];
$age = $_POST['age'];
$sql = "INSERT INTO javaScriptTesting
(name,age)
VALUES
('$name','$age')";
if(mysqli_query($con,$sql)) {
//ADDED THIS LINE
$response["message"] = "DATA INSERTED";
echo json_encode($response);
} else {
//ADDED THIS LINE
$response["message"] = "UNSUCCESSFUL";
echo json_encode($response);
}
mysqli_close($con);
这是我的对象类:
public class Person {
@SerializedName("name")
private String name;
@SerializedName("age")
private String age;
//ADDED THIS LINE
private String message;
public Person(String name, String age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public String getAge() {
return age;
}
//ADDED THIS LINE
public String getMessage() {
return message;
}
在改造2.0以执行上述POST请求的过程中,您应该使用RequestBody type作为这样的参数。
@Multipart
@POST("XXXX")
Call<PlanResponse> myPlans(@Part(Constants.ACTION_ID) RequestBody actionId, @Part(Constants.OFFER_CODE) RequestBody offerCode);
在这里如何从字符串中获取请求体。
String somevalue = "somevalue";
RequestBody body = RequestBody.create(MediaType.parse("text/plain"), somevalue);
我使用Laravel构建了一个简单的API,它运行良好。我的Android应用程序应该使用这个API中的数据,但对于一些JSON响应,我得到了一个错误 应为BEGIN_对象,但在第1行第1列路径处为字符串 在得到这个错误之前,错误如下: 使用JsonReader。setLenient(true)在第1行第1列路径接受格式错误的JSON 然后我来解决它。 我在许多其他帖子中看到,这个问题是一个畸形的
我试图只获取字符串请求,但它的给定错误如下 我的API输出如下: 响应代码:
这将创建异常 非常感谢你的帮助。
我的java代码 我的JSON 除id外,所有字段均为字符串 我的错误 18/11/26 18:02:55信息mapreduce。作业:任务Id:尝试_1543189350698_0010_m_000000_0,状态:失败错误:com。谷歌。格森。JsonSyntaxException:java。伊奥。EOFEException:com第1行第3列的输入结束。谷歌。格森。格森。fromJson(G
正在学习如何在我的Android应用程序中使用改型,出现以下错误:如果可以,请提供帮助。非常感谢。 以下是我的代码:如果您也有能力,请帮助: 这是我的界面: 以下是我的建议:
我必须使用Reform2创建/注册新用户我的服务器端是 我的模型课是 在职岗位为 将数据过帐为 我出错了 我找到了一些解决方案,并做出了相应的改变 但它也不起作用,同样的错误消息,如何解决这个错误。