Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 应用程序在2.2 API级别以外的仿真器上不工作_Java_Android_Sqlite - Fatal编程技术网

Java 应用程序在2.2 API级别以外的仿真器上不工作

Java 应用程序在2.2 API级别以外的仿真器上不工作,java,android,sqlite,Java,Android,Sqlite,我已经创建了一个应用程序。它在安卓2.2上运行良好。当我使用API高于2.2的emulator时,它运行正常,但一些下载代码没有执行。它没有在SQLite中存储任何数据。不过,所有功能在Android 2.2上都能正常工作。错误是在我的代码上还是在模拟器上 <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="19" /> 这是我的密码 helper=new DBHelper(this);

我已经创建了一个应用程序。它在安卓2.2上运行良好。当我使用API高于2.2的emulator时,它运行正常,但一些下载代码没有执行。它没有在SQLite中存储任何数据。不过,所有功能在Android 2.2上都能正常工作。错误是在我的代码上还是在模拟器上

<uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="19" />

这是我的密码

helper=new DBHelper(this);
    try
    {

    XMLParser parser = new XMLParser();
    String xml = parser.getXmlFromUrl(URL); // getting XML
    Document doc = parser.getDomElement(xml); // getting DOM element

    NodeList nl = doc.getElementsByTagName(KEY_TAG);

    db=helper.getReadableDatabase();
    Cursor c=db.query(DBHelper.Old_Data, new String [] {DBHelper.Old_id,DBHelper.OLD_NUM}, DBHelper.Old_id+"=?",new String [] {1+""}, null, null, null);
    if(c != null)
    {
        c.moveToFirst();
    }
    String strIndex = c.getString(1);
    int index = Integer.parseInt(strIndex);
    c.close();

    i=0;
    Log.d("Index , Length ",index + " , " + nl.getLength());
    for (i = index; i < nl.getLength(); i++) 
    {
        Element e = (Element) nl.item(i);

        ContentValues val = new ContentValues();
        val.put(DBHelper.TEST, parser.getValue(e, TEST));
        val.put(DBHelper.FILE, parser.getValue(e, FILE));
        val.put(DBHelper.TEST_NO, parser.getValue(e, TEST_NO));
        val.put(DBHelper.FILE_URL, parser.getValue(e, EXAM_URL));

        db=helper.getWritableDatabase();
        db.insert(DBHelper.EXAM_DATA, null, val);
        db.close();
    }
    if(i != index)
    {
        db=helper.getWritableDatabase();
        ContentValues values = new ContentValues();
        values.put(DBHelper.OLD_NUM, i);
        db.update(DBHelper.Old_Data, values, DBHelper.Old_id+"=?", new String [] {1+""});
        db.close();
    }
    else
    {
        Toast.makeText(UserProfile.this, "No Exam Available", Toast.LENGTH_LONG).show();
    }
    }
    catch (NullPointerException ne) 
    {
        Toast.makeText(this, "NPE", Toast.LENGTH_LONG).show();
    }
    catch (Exception e) 
    {
        Toast.makeText(this, "E", Toast.LENGTH_LONG).show();
    }
helper=newdbhelper(这个);
尝试
{
XMLParser=新的XMLParser();
字符串xml=parser.getXmlFromUrl(URL);//获取xml
Document doc=parser.getDomeElement(xml);//获取DOM元素
NodeList nl=doc.getElementsByTagName(键标记);
db=helper.getReadableDatabase();
游标c=db.query(DBHelper.Old_数据,新字符串[]{DBHelper.Old_id,DBHelper.Old_NUM},DBHelper.Old_id+“=?”,新字符串[]{1+”},null,null,null);
如果(c!=null)
{
c、 moveToFirst();
}
strIndex=c.getString(1);
int index=Integer.parseInt(strIndex);
c、 close();
i=0;
Log.d(“Index,Length”,Index+,“+nl.getLength());
对于(i=index;i
如果您执行的任务类似于解析/下载数据,请使用asynctask。使用asynctask doinbackground方法下载或解析您的数据

您所说的“运行正常,但sime下载代码未执行”是什么意思?请发布您的代码。没有完全理解您所说的内容。能否向我们展示一些相关代码?在更高的API上运行时,logcat会说些什么。我认为您得到的是
NetworkOnMainThreadException
<代码>当应用程序试图在其主线程上执行网络操作时引发的异常。Api-11中已添加此项。请避免使用主线程的后台进程,而不要使用。是的。在
AsyncTask
中执行所有网络处理。是的,您可以尝试将这些代码放入
doInBackground()
中,并首先进行测试。首先粘贴代码。在android版本4.0及更高版本中,您需要在AsyncTaskReference中解析数据。是的…将其放入asyntask doInBackground()中2.2中发生了什么??