- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
注意:下面的代码与我的 Galaxy s5 和 Android 5.0 完美配合,但在使用我的 Galaxy s3 和 Android 4.1 时似乎总是无法保存。我的应用程序的所有其他部分在两部手机上都运行良好。
这就是我填充 JSArray 的方式,所有数据都经过检查并且全部有效,没有空值。
int i = 0;
while (i<StudentIDzArray.length)
{
//InsertMarks(getApplicationContext(), StudentIDzArray[i], SubjectID, SubjectName, StudentMarksArrayTemp[i], ClassID, ClassName, ExamNumber, StudentsArray[i]);
String SingleStudentInfo[] = {StudentIDzArray[i], SubjectID, SubjectName, StudentMarksArrayTemp[i], ClassID, ClassName, ExamNumber, StudentsArray[i]};
AllStudentInfo.add(SingleStudentInfo);
i++;
}
jsArray = new JSONArray(AllStudentInfo);
将json数组定义为全局变量
JSONArray jsArray;
使用此函数使用Volley Library将数据保存到mysql数据库
public void InsertMarks(final Context context)
{
RequestQueue queue = Volley.newRequestQueue(context);
StringRequest sr = new StringRequest(Request.Method.POST,SaveUrl, new Response.Listener<String>() {
@Override
public void onResponse(String response)
{
if(response.equals("success"))
{
Toast.makeText(context,"Success added " ,Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(context, "Failure to add"+ response,Toast.LENGTH_LONG).show();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error)
{
Toast.makeText(context,"connection error",Toast.LENGTH_LONG).show();
}
}){
@Override
protected Map<String,String> getParams()
{
Map<String,String> params = new HashMap<String, String>();
params.put("StudentsData",jsArray.toString());
return params;
}
@Override
public Map<String, String> getHeaders() throws AuthFailureError {
Map<String,String> params = new HashMap<String, String>();
params.put("Content-Type","application/x-www-form-urlencoded");
return params;
}
};
queue.add(sr);
}
这是读取数组并获取所有值以便保存到 mysql 的 php 代码。
$AllStudentsData =$_POST['StudentsData'];
$AllObj = json_decode($AllStudentsData);
// Create connection
$con=mysqli_connect("****","*****","********","*****") or die ( mysqli_error($MySQL_Handle) );
$sSQL= 'SET CHARACTER SET utf8';
mysqli_query($con,$sSQL) or die ('Can\'t charset in DataBase');
mysql_query("SET NAMES utf8;");
mysql_query("SET CHARACTER_SET utf8;");
$ww = 0;
while ($ww < count($AllObj))
{
$StudentID = $AllObj[$ww][0];
$SubjectID = $AllObj[$ww][1];
$SubjectName = $AllObj[$ww][2];
$Mark = $AllObj[$ww][3];
$ClassNo = $AllObj[$ww][4];
$ClassName = $AllObj[$ww][5];
$Exam_ID = $AllObj[$ww][6];
$StudentFullName = $AllObj[$ww][7];
if($Exam_ID=="0")
{
$result1 = mysql_query("select * from Student_Marks where Student_No='$StudentID' AND Subject_No='$SubjectID'");
if(mysql_num_rows($result1)>0)
{
$result = mysql_query("update Student_Marks SET
S1_Mark_1A ='$Mark'
where Student_No='$StudentID' AND Subject_No='$SubjectID' AND ClassID='$ClassNo' ");
}
else
{
$result = mysql_query("INSERT INTO Student_Marks (Student_No,StudentFullName,Subject_No,Subject_Name,S1_Mark_1A,ClassID,ClassName)
VALUES
('".$StudentID."','".$StudentFullName."','".$SubjectID."','".$SubjectName."','".$Mark."','".$ClassNo."','".$ClassName."')");
}
}
在尝试找出问题所在和位置之后,在 android 4 上使用 JSONArray.toString 时,数据似乎变得垃圾,而在 android 5 上则保持良好。
params.put("StudentsData",jsArray.toString());
此代码在 android 5 和 android 4 上的 java 上的编译是否不同?
最佳答案
似乎 .toString 在 android 5.0 上得到了正确的结果...但是在 android 4+ 上,它使数组变得困惑,不知道为什么。
我修复它的方法是下载 gson 库,将其导入到我的项目中并使用以下代码
Gson gson = new Gson();
gson.tojson(myarray);
而不是
myarray.toString();
然后该应用程序在该应用程序支持的所有 Android 版本(Android 4+)上运行良好。
关于php - 将数组从 android 传递到 php 在 android 4.1 上失败,但在 android 5+ 上成功,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33268062/
这里有一个问题要问你 mysql + python 的人。 为什么这个 mysql sql 命令序列在我通过 Python 执行时不起作用,但在我通过 mysql CLI 执行时却起作用? #!/us
我正在处理来自 Android SQLite API 的 execSQL 函数。因为我将查询作为参数传递,所以我直接通过这个函数执行它,所以我不处理它(我不想这样做)以了解我们是否正在创建、插入、删除
基本上,我进行了一次 post 调用来获取访问 token ,并使用 RestTemplate 得到了“400 Bad Request”。 通过 Postman 进行的相同调用可以使用完全相同的参数成
我有一些数据将通过 http(s) 从 Android 应用程序发送到服务器。需要按顺序发送。 是否已经存在一种将 http 请求排队(针对同一服务器)并重试直到它们完成(不一定成功)的方法? 我的问
语境 我正在使用 Xcode 12.3 为 iOS 应用程序构建 watchOS 应用程序(即它不是独立的 watchOS 应用程序)。 由于用户在 watch 上的操作,我的 watchOS 应用程
我不知道为什么 HttpURLConnection 在 android 上失败但在 java Eclipse 上成功。我已经面对这个问题很多天了,并试图解决它,但从未通过。我的例子的代码如下: try
我有一个 Java Web 应用程序(使用 Spring),使用 Jetty 部署。如果我尝试在 Windows 计算机上运行它,一切都会按预期运行,但如果我尝试在 Linux 计算机上运行相同的代码
我有一个在 Windows XP 上的 Apache 上运行的 PHP 脚本,可以成功执行 LDAP 身份验证。我将相同的脚本复制到 Linux Red Hat 上的 Apache,并且 ldap_b
正如这篇文章的名称所暗示的,我正面临 Xcode 11 Beta 的构建系统问题。自 6 月以来,我一直在更新我的应用程序,但直到最近才尝试将其存档以供 TestFlight 使用。这样做后,我发现存
我在 Firefox 和 Chrome 之间遇到了不同的行为 JQuery.val('') 这是显示问题的 jsfiddle。 https://jsfiddle.net/mdqfbj/d4eovkg8
我在 Firefox 3.6 上的应用程序的文件上传功能遇到了一些问题。文件上传功能在 firefox 2.0 上是成功的,但最近我们的客户升级到 firefox 3.6 并且该功能停止工作。 我访问
我已经从 DigiCert 购买了 SSL 证书并将其安装到我的 Nexus 服务器(在 tomcat、jks 中运行) 它在 firefox 和 chrome 中运行良好(绿色地址栏表示收到了有效证
考虑以下用于清理目录的 python 函数: def cleanDir(path): shutil.rmtree(path) os.mkdir(path) 在 Windows 上(实际使用 p
注意:下面的代码与我的 Galaxy s5 和 Android 5.0 完美配合,但在使用我的 Galaxy s3 和 Android 4.1 时似乎总是无法保存。我的应用程序的所有其他部分在两部手机
我是一名优秀的程序员,十分优秀!