- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在制作一个应用程序,它在 listView 中显示在线电台列表,该列表是通过在线 MySql 数据库获得的。我在所有版本的模拟器中测试了我的应用程序,它运行良好。但在设备中,应用程序终止。当我通过 usb 连接时,应用程序没有关闭,但没有加载 Json 内容。
通过usb调试连接的设备不会对 radio 充电
日志:
03-01 17:35:05.109: E/Buffer Error(2273): Error converting result java.lang.NullPointerException
03-01 17:35:05.109: E/JSON Parser(2273): Error parsing data org.json.JSONException: End of input at character 0 of
代码如下:
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.app.ListActivity;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
public class ListaRadios extends ListActivity {
private ProgressDialog pDialog;
JSONParser jParser = new JSONParser();
ArrayList<HashMap<String, String>> listaradios;
private static String url_radios = "Url to php mysql connection with";
private static final String TAG_SUCESSO = "sucesso";
private static final String TAG_RADIOS = "radios";
private static final String TAG_ID = "id";
private static final String TAG_NOME = "nome";
JSONArray radios = null;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lista_radios);
listaradios = new ArrayList<HashMap<String, String>>();
new LoadAllRadios().execute();
ListView lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view, int position, long id_item) {
String id = ((TextView) view.findViewById(R.id.id)).getText().toString();
Intent in = new Intent(getApplicationContext(), Player.class);
in.putExtra(TAG_ID, id);
startActivityForResult(in, 100);
}
});
}
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
return true;
}
private void direciona(Class<?> menu){
Intent myIntent = new Intent(this, menu);
startActivity(myIntent);
}
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.contato:
direciona(Contato.class);
return true;
case R.id.sugerir:
direciona(Sugerir.class);
return true;
case R.id.listar:
direciona(ListaRadios.class);
return true;
case R.id.player:
direciona(Player.class);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 100) {
Intent intent = getIntent();
finish();
startActivity(intent);
}
}
class LoadAllRadios extends AsyncTask<String, String, String> {
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(ListaRadios.this);
pDialog.setMessage("Buscando rádios. Aguarde...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show();
}
protected String doInBackground(String... args) {
List<NameValuePair> params = new ArrayList<NameValuePair>();
JSONObject json = jParser.makeHttpRequest(url_radios, "GET", params);
Log.d("Todas as rádios: ", json.toString());
try {
// Checking for SUCCESS TAG
int sucesso = json.getInt(TAG_SUCESSO);
if (sucesso == 1) {
radios = json.getJSONArray(TAG_RADIOS);
for (int i = 0; i < radios.length(); i++) {
JSONObject c = radios.getJSONObject(i);
String id = c.getString(TAG_ID);
String nome = c.getString(TAG_NOME);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_ID, id);
map.put(TAG_NOME, nome);
listaradios.add(map);
}
} else {
}
} catch (JSONException e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
ListAdapter adapter = new SimpleAdapter(ListaRadios.this,
listaradios, R.layout.lista_item_radios,
new String[] {TAG_ID, TAG_NOME},
new int[] {R.id.id, R.id.nome});
setListAdapter(adapter);
}
});
}
}
}
php代码:
<?php
$resposta = array();
require_once 'db_connect.php';
$db = new DB_CONNECT();
$resultado = mysql_query("SELECT * FROM radios") or die(mysql_error());
if (mysql_num_rows($resultado) > 0) {
$resposta["radios"] = array();
while ($row = mysql_fetch_array($resultado)) {
$radio = array();
$radio["id"] = $row["id"];
$radio["nome"] = $row["nome"];
$radio["site"] = $row["site"];
$radio["imagem"] = $row["imagem"];
$radio["url_streaming"] = $row["url_streaming"];
array_push($resposta["radios"], $radio);
}
$resposta["sucesso"] = 1;
echo json_encode($resposta);
} else {
$resposta["sucesso"] = 0;
$resposta["mensagem"] = "Não foram encontradas rádios.";
echo json_encode($resposta);
}
?>
它可以是什么?
如果我运行模拟器,输出如下:
03-01 18:41:40.047: D/Todas as rádios:(594): {"sucesso":1,"radios":[{"site":"www.radiomiriam.com.br","id":"1","url_streaming":"http:\/\/69.64.48.96:9880\/","nome":"Radio Miriam","imagem":""},{"site":"www.clarimdopampa.com.br","id":"2","url_streaming":"http:\/\/70.36.96.25:9928\/","nome":"Radio Clarim do Pampa","imagem":""},{"site":"","id":"5","url_streaming":"http:\/\/189.76.158.139:50004\/","nome":"Itapema FM - RS","imagem":""}]}
但是如果我运行 usb 调试输出不会只列出这个:
03-01 18:48:21.319: I/System.out(3717): Debugger has connected
03-01 18:48:21.319: I/System.out(3717): waiting for debugger to settle...
03-01 18:48:21.519: I/System.out(3717): waiting for debugger to settle...
03-01 18:48:21.719: I/System.out(3717): waiting for debugger to settle...
03-01 18:48:21.919: I/System.out(3717): waiting for debugger to settle...
03-01 18:48:22.119: I/System.out(3717): waiting for debugger to settle...
03-01 18:48:22.319: I/System.out(3717): waiting for debugger to settle...
03-01 18:48:22.519: I/System.out(3717): waiting for debugger to settle...
03-01 18:48:22.719: I/System.out(3717): waiting for debugger to settle...
03-01 18:48:22.919: I/System.out(3717): debugger has settled (1475)
03-01 18:48:23.699: W/System.err(3717): java.net.UnknownHostException: nsi.inf.br
03-01 18:48:23.709: W/System.err(3717): at java.net.InetAddress.lookupHostByName(InetAddress.java:508)
03-01 18:48:23.709: W/System.err(3717): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:296)
03-01 18:48:23.719: W/System.err(3717): at java.net.InetAddress.getAllByName(InetAddress.java:258)
03-01 18:48:23.719: W/System.err(3717): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:136)
03-01 18:48:23.719: W/System.err(3717): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164)
03-01 18:48:23.729: W/System.err(3717): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119)
03-01 18:48:23.739: W/System.err(3717): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:359)
03-01 18:48:23.739: W/System.err(3717): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555)
03-01 18:48:23.749: W/System.err(3717): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487)
03-01 18:48:23.749: W/System.err(3717): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465)
03-01 18:48:23.749: W/System.err(3717): at com.nsistations.JSONParser.makeHttpRequest(JSONParser.java:62)
03-01 18:48:23.749: W/System.err(3717): at com.nsistations.ListaRadios$LoadAllRadios.doInBackground(ListaRadios.java:120)
03-01 18:48:23.749: W/System.err(3717): at com.nsistations.ListaRadios$LoadAllRadios.doInBackground(ListaRadios.java:1)
03-01 18:48:23.749: W/System.err(3717): at android.os.AsyncTask$2.call(AsyncTask.java:185)
03-01 18:48:23.749: W/System.err(3717): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:306)
03-01 18:48:23.749: W/System.err(3717): at java.util.concurrent.FutureTask.run(FutureTask.java:138)
03-01 18:48:23.749: W/System.err(3717): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1088)
03-01 18:48:23.759: W/System.err(3717): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:581)
03-01 18:48:23.759: W/System.err(3717): at java.lang.Thread.run(Thread.java:1019)
03-01 18:48:23.759: E/Buffer Error(3717): Error converting result java.lang.NullPointerException
03-01 18:48:23.759: E/JSON Parser(3717): Error parsing data org.json.JSONException: End of input at character 0 of
最佳答案
java.net.UnknownHostException: nsi.inf.br
您的设备无法访问 nsi.inf.br,但模拟器(即您的工作站)可以。
根据您的工作站设置检查设备的连接设置。检查它们是否在同一网络上以及是否存在代理/防火墙问题。
关于android - 仅在真实设备上出错。适用于所有模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15166591/
我正在使用 node.js 和 mocha 单元测试,并且希望能够通过 npm 运行测试命令。当我在测试文件夹中运行 Mocha 测试时,测试运行成功。但是,当我运行 npm test 时,测试给出了
我的文本区域中有这些标签 ..... 我正在尝试使用 replaceAll() String 方法替换它们 text.replaceAll("", ""); text.replaceAll("", "
早上好,我是 ZXing 的新手,当我运行我的应用程序时出现以下错误: 异常Ljava/lang/NoClassDefFoundError;初始化 ICOM/google/zxing/client/a
我正在制作一些哈希函数。 它的源代码是... #include #include #include int m_hash(char *input, size_t in_length, char
我正在尝试使用 Spritekit 在 Swift 中编写游戏。目的是带着他的角色迎面而来的矩形逃跑。现在我在 SKPhysicsContactDelegate (didBegin ()) 方法中犯了
我正在尝试创建一个用于导入 CSV 文件的按钮,但出现此错误: actionPerformed(java.awt.event.ActionEvent) in cannot implement
请看下面的代码 public List getNames() { List names = new ArrayList(); try { createConnection(); Sta
我正在尝试添加一个事件以在“dealsArchive”表中创建一个条目,然后从“deals”表中删除该条目。它需要在特定时间执行。 这是我正在尝试使用的: DELIMITER $$ CREATE EV
我试图将两个存储过程的表结果存储到 phpmyadmin 例程窗口中的单个表中,这给了我 mariadb 语法错误。单独调用存储过程给出了结果。 存储过程代码 BEGIN CREATE TABLE t
我想在 videoview 中加载视频之前有一个进度条。但是我收到以下错误。我还添加了所有必要的导入。 我在 ANDROID 中使用 AIDE 这是我的代码 public class MainActi
我已经使用了 AsyncTask,但我不明白为什么在我的设备 (OS 4.0) 上测试时仍然出现错误。我的 apk 构建于 2.3.3 中。我想我把代码弄错了,但我不知道我的错误在哪里。任何人都请帮助
我在测试 friend 网站的安全性时,通过在 URL 末尾添加 ' 发现了 SQL 注入(inject)漏洞该网站是用zend框架构建的我遇到的问题是 MySQL -- 中的注释语法不起作用,因此页
我正在尝试使用堆栈溢出答案之一的交互式信息窗口。 链接如下: interactive infowindow 但是我在代码中使用 getMap() 时遇到错误。虽然我尝试使用 getMapAsync 但
当我编译以下代码时出现错误: The method addMouseListener(Player) is undefined for the type Player 代码: import java.
我是 Android 开发的初学者。我正在开发一个接收 MySql 数据然后将其保存在 SQLite 中的应用程序。 我将 Json 用于同步状态,以便我可以将未同步数据的数量显示为要同步的待处理数据
(这里是Hello world级别的自动化测试人员) 我正在尝试下载一个文件并将其重命名以便于查找。我收到一个错误....这是代码 @Test public void allDownload(
我只是在写另一个程序。并使用: while (cin) words.push_back(s); words是string的vector,s是string。 我的 RAM 使用量在 4 或 5
我是 AngularJS 的新手,我遇到了一个问题。我有一个带有提交按钮的页面,当我单击提交模式时必须打开并且来自 URL 的数据必须存在于模式中。现在,模式打开但它是空的并且没有从 URL 获取数据
我正在尝试读取一个文件(它可以包含任意数量的随机数字,但不会超过 500 个)并将其放入一个数组中。 稍后我将需要使用数组来做很多事情。 但到目前为止,这一小段代码给了我 no match for o
有些人在使用 make 命令进行编译时遇到了问题,所以我想我应该在这里尝试一下,我已经在以下操作系统的 ubuntu 32 位和挤压 64 位上尝试过 我克隆了 git 项目 https://gith
我是一名优秀的程序员,十分优秀!