- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个安卓应用程序。我试图从 mysql 数据库中获取数据,但一直出现此错误。似乎无法弄清楚出了什么问题。这是我的代码和我的日志。
日志:
02-02 17:00:40.289 89-89/system_process W/InputManagerService: Window already focused, ignoring focus gain of: com.android.internal.view.IInputMethodClient$Stub$Proxy@41993f60
02-02 17:00:48.338 1039-1056/com.example.busscheduledatarecorder E/My Error: Error D
02-02 17:00:48.461 1039-1056/com.example.busscheduledatarecorder E/My Error: Error D
02-02 17:01:05.339 1039-1056/com.example.busscheduledatarecorder E/response string: [ 02-02 17:01:05.762 1039:0x420 E/JSON Parser ]
Error parsing data org.json.JSONException: End of input at character 1 of
02-02 17:01:06.228 1039-1039/com.example.busscheduledatarecorder D/AndroidRuntime: Shutting down VM
02-02 17:01:06.265 1039-1039/com.example.busscheduledatarecorder W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x409c01f8)
02-02 17:01:06.398 1039-1039/com.example.busscheduledatarecorder E/AndroidRuntime: FATAL EXCEPTION: main
java.lang.NullPointerException
at com.example.busscheduledatarecorder.MainActivity$Load_Routes.onPostExecute(MainActivity.java:407)
at com.example.busscheduledatarecorder.MainActivity$Load_Routes.onPostExecute(MainActivity.java:375)
at android.os.AsyncTask.finish(AsyncTask.java:602)
at android.os.AsyncTask.access$600(AsyncTask.java:156)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:615)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
02-02 17:01:06.534 89-473/system_process W/ActivityManager: Force finishing activity com.example.busscheduledatarecorder/.MainActivity
PHP代码:
<?php
$response = array();
$response["success"] = 0;
$response["message"] = "No routes found";
// include db connect class
include('db.php');
// connecting to db
$db = new DB_CONNECT();
// get all routes from route table
$result = mysql_query("SELECT * FROM route");
// check for empty result
if ($result && mysql_num_rows($result) > 0) {
// looping through all results
// products node
$response["routes"] = array();
while ($row = mysql_fetch_array($result)) {
// temp user array
$route = array();
$route["busRouteId"] = $row["busRouteId"];
$route["routeName"] = $row["routeName"];
// push single product into final response array
array_push($response["routes"], $route);
}
// success
$response["success"] = 1;
}
// Echo JSON anyway!
echo json_encode($response);
die();
?>
Java 代码:
public class JSONParser {
String result = null;
DBHelper db;
static InputStream is = null;
static JSONObject jObj = null;
static String json = "";
public JSONParser() {}
public JSONObject getJSONFromUrl(String url) {
// Making HTTP request
try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
HttpResponse httpResponse = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
Log.e("My Error", "Error A " + e.toString());
} catch (ClientProtocolException e) {
e.printStackTrace();
Log.e("My Error", "Error B " + e.toString());
} catch (IOException e) {
e.printStackTrace();
Log.e("My Error", "Error C " + e.toString());
}
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(is, "ISO-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
Log.e("My Error", "Error D ");
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
Log.e("My Error", "Error D ");
}
is.close();
json = sb.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}
// try parse the string to a JSON object
try {
Log.e("response string",json);
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
// return JSON String
return jObj;
}}
主要 Activity :
public class MainActivity extends Activity {
DBHelper db;
int routeloadsuccess;
JSONArray jArray = null
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
spinroute= (Spinner)findViewById(R.id.spinnerroute);
pb = (ProgressBar) findViewById(R.id.progressBar);
pb.setVisibility(View.INVISIBLE);
db = new DBHelper(this);
}
public void shout(String voice)
{Toast.makeText(this, voice,Toast.LENGTH_LONG).show();}
public void insertNewRoutes(int id, String routename){
//check if route exists
boolean exists = db.checkRouteforId(id), result = false;
if(exists)
{
result = db.updateRoute(id, routename);
}
else{ result = db.insertRoute(id, routename);}
if(result){routeloadsuccess = 1;}
}
private class Load_Routes extends AsyncTask<String, String, JSONObject>{
InputStream is;
String url;
private static final String TAG_ROUTE = "bus_route";
public Load_Routes()
{
is = null;
url = "http://busscheduledata.com/RouteMobile.php";
}
@Override
protected JSONObject doInBackground(String... arg0) {
JSONParser jParser = new JSONParser();
JSONObject json = jParser.getJSONFromUrl(url);
return json;
}
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
shout("Loading Routes...");
pb.setVisibility(View.VISIBLE);
}
@Override
protected void onPostExecute(JSONObject json) {
// TODO Auto-generated method stub
pb.setVisibility(View.INVISIBLE);
try {
// Getting JSON Array
int success = json.getInt("success");
if (success == 1) {
JSONArray JAStuff = json.getJSONArray("response");
/** CHECK THE NUMBER OF RECORDS **/
int intStuff = JAStuff.length();
if (intStuff != 0) {
for (int i = 0; i < JAStuff.length(); i++) {
JSONObject JOStuff = JAStuff.getJSONObject(i);
Log.e("ALL THE STUFF", JOStuff.toString());
// Storing JSON item in a Variable
int routeid = JOStuff.getInt("busRouteId");
String routename = JOStuff.getString("routeName");
//Set JSON Data in spinner
insertNewRoutes(routeid,routename );
}
}
}
} catch (JSONException e) {
e.printStackTrace();
shout("Loading failed");
}
}
}//end of loading route thingy
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
populateMenu(menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
applyMenuChoice(item);
return(applyMenuChoice(item) ||super.onOptionsItemSelected(item));
}
private void populateMenu(Menu menu) {
menu.add(0, SIXTEEN_ID, 0, "Get Routes");
}
private boolean applyMenuChoice(MenuItem item) {
Intent intent;
switch (item.getItemId())
{
case SIXTEEN_ID:
db.deleteAllRoutes();
Load_Routes lr = new Load_Routes();
lr.execute();
if(routeloadsuccess == 1){
shout("Loading Complete");
intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);}
return(true);
//break;
}
return true ;
}
}
最佳答案
Log.e("response string",json);
这一行正在打印:E/response string: n
您的回答是“n”,它是字符串。在下一行中,您将其转换为 JsonObject,这肯定会引发异常。
jObj = new JSONObject(json);
将来自服务器的响应从 String 更改为 Json
关于java - 从mysql数据库解析数据时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35158760/
我的问题是如何在 python 中创建一个简单的数据库。我的例子是: User = { 'Name' : {'Firstname', 'Lastname'}, 'Address' : {'Street
我需要创建一个与远程数据库链接的应用程序! mysql 是最好的解决方案吗? Sqlite 是唯一的本地解决方案吗? 我使用下面的方法,我想知道它是否是最好的方法! NSString *evento
给定两台 MySQL 服务器,一台本地,一台远程。两者都有一个包含表 bohica 的数据库 foobar。本地服务器定义了用户 'myadmin'@'%' 和 'myadmin'@'localhos
我有以下灵活的搜索查询 Select {vt:code},{vt:productcode},{vw:code},{vw:productcode} from {abcd AS vt JOIN wxyz
好吧,我的电脑开始运行有点缓慢,所以我重置了 Windows,保留了我的文件。因为我的大脑还没有打开,所以我忘记事先备份我的 MySQL 数据库。我仍然拥有所有原始文件,因此我实际上仍然拥有数据库,但
如何将我的 Access 数据库 (.accdb) 转换为 SQLite 数据库 (.sqlite)? 请,任何帮助将不胜感激。 最佳答案 1)如果要转换 db 的结构,则应使用任何 DB 建模工具:
系统检查发现了一些问题: 警告:?:(mysql.W002)未为数据库连接“默认”设置 MySQL 严格模式 提示:MySQL 的严格模式通过将警告升级为错误来修复 MySQL 中的许多数据完整性问题
系统检查发现了一些问题: 警告:?:(mysql.W002)未为数据库连接“默认”设置 MySQL 严格模式 提示:MySQL 的严格模式通过将警告升级为错误来修复 MySQL 中的许多数据完整性问题
我想在相同的 phonegap 应用程序中使用 android 数据库。 更多说明: 我创建了 phonegap 应用程序,但 phonegap 应用程序不支持服务,所以我们已经在 java 中为 a
Time Tracker function clock() { var mytime = new Date(); var seconds
我需要在现有项目上实现一些事件的显示。我无法更改数据库结构。 在我的 Controller 中,我(从 ajax 请求)传递了一个时间戳,并且我需要显示之前的 8 个事件。因此,如果时间戳是(转换后)
我有一个可以收集和显示各种测量值的产品(不会详细介绍)。正如人们所期望的那样,显示部分是一个数据库+建立在其之上的网站(使用 Symfony)。 但是,我们可能还会创建一个 API 来向第三方公开数据
我们将 SQL Server 从 Azure VM 迁移到 Azure SQL 数据库。 Azure VM 为 DS2_V2、2 核、7GB RAM、最大 6400 IOPS Azure SQL 数据
我正在开发一个使用 MongoDB 数据库的程序,但我想问在通过 Java 执行 SQL 时是否可以使用内部数据库进行测试,例如 H2? 最佳答案 你可以尝试使用Testcontainers Test
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 已关闭 9 年前。 此问题似乎与 a specific programming problem, a sof
我正在尝试使用 MSI 身份验证(无需用户名和密码)从 Azure 机器学习服务连接 Azure SQL 数据库。 我正在尝试在 Azure 机器学习服务上建立机器学习模型,目的是我需要数据,这就是我
我在我的 MySQL 数据库中使用这个查询来查找 my_column 不为空的所有行: SELECT * FROM my_table WHERE my_column != ""; 不幸的是,许多行在
我有那个基地:http://sqlfiddle.com/#!2/e5a24/2这是 WordPress 默认模式的简写。我已经删除了该示例不需要的字段。 如您所见,我的结果是“类别 1”的两倍。我喜欢
我有一张这样的 table : mysql> select * from users; +--------+----------+------------+-----------+ | userid
我有表: CREATE TABLE IF NOT EXISTS `category` ( `id` int(11) NOT NULL, `name` varchar(255) NOT NULL
我是一名优秀的程序员,十分优秀!