0

您好,当应用程序写入 parcelable 时,我遇到了一个奇怪的错误。

使用代码:

package com.android.edl;
import java.io.IOException;
import org.xmlpull.v1.XmlSerializer;
import com.tools.edl.Tools;


import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Parcel;
import android.os.Parcelable;

public class ElementDescription implements Parcelable  {

private int Id;
private String natureText = "";
private String UsureText = "";
private String FonctionnementText = "";
private String EtatText = "";
private Tools tools = new Tools();
private static String table = "edl_ElementDescription";

public ElementDescription (Parcel in)
{
    Id = in.readInt();
    natureText = in.readString();
    UsureText = in.readString();
    FonctionnementText = in.readString();
    EtatText = in.readString();
}
public ElementDescription ()
{

}
public int update(SQLiteDatabase db)
{
    ContentValues values = new ContentValues();
    values.put("natureText", natureText);
    values.put("usureText", UsureText);
    values.put("fonctionnementText", FonctionnementText);
    values.put("fonctionnement", FonctionnementText);
    values.put("etatText", EtatText);
    this.Id = (int) db.insert(table, null, values);
    return this.Id;
}
public void maj(SQLiteDatabase db)
{
    ContentValues values = new ContentValues();
    values.put("natureText", natureText);
    values.put("usureText", UsureText);
    values.put("fonctionnementText", FonctionnementText);
    values.put("fonctionnement", FonctionnementText);
    values.put("etatText", EtatText);
    db.update(table, values, "id=?", new String[] {String.valueOf(Id)});
}
public void init(SQLiteDatabase db,int id)
{
    Cursor description = db.query(table, new String[]{"natureText","usureText","fonctionnementText","etatText","id"}, "id=?", new String[] {String.valueOf(id)}, null, null, null);
    description.moveToFirst();
    if(description.getCount()>0)
    {
        natureText = tools.isNull(description.getString(0));
        UsureText = tools.isNull(description.getString(1));
        FonctionnementText = tools.isNull(description.getString(2));
        EtatText = tools.isNull(description.getString(3));
        Id = description.getInt(4);
    }
}

public void createXml(XmlSerializer xmlSerializer) throws IllegalArgumentException, IllegalStateException, IOException
{
    xmlSerializer.startTag("", "Description");
        if(!tools.isEmpty(natureText))
        {
            xmlSerializer.startTag("", "NatureText");
            xmlSerializer.text(natureText);
            xmlSerializer.endTag("", "NatureText");
        }
        if(!tools.isEmpty(UsureText))
        {
            xmlSerializer.startTag("", "UsureText");
            xmlSerializer.text(UsureText);
            xmlSerializer.endTag("", "UsureText");
        }
        if(!tools.isEmpty(FonctionnementText))
        {
            xmlSerializer.startTag("", "FonctionnementText");
            xmlSerializer.text(FonctionnementText);
            xmlSerializer.endTag("", "FonctionnementText");
        }
        if(!tools.isEmpty(EtatText))
        {
            xmlSerializer.startTag("", "EtatText");
            xmlSerializer.text(EtatText);
            xmlSerializer.endTag("", "EtatText");
        }
    xmlSerializer.endTag("", "Description");
}
public int getId() {
    return Id;
}
public void setId(int id) {
    Id = id;
}

public String getNatureText() {
    if(natureText==null)
        return "";
    else
        return natureText;
}
public void setNatureText(String natureText) {
    this.natureText = natureText;
}
public String getUsureText() {
        return UsureText;
}
public void setUsureText(String usureText) {
    UsureText = usureText;
}
public String getFonctionnementText() {
    return FonctionnementText;
}
public void setFonctionnementText(String fonctionnementText) {
    FonctionnementText = fonctionnementText;
}
public String getEtatText() {
    return EtatText;
}
public void setEtatText(String etatText) {
    EtatText = etatText;
}
@Override
public void writeToParcel(Parcel out, int flags) {
    out.writeInt(Id);
    out.writeString(natureText);
    out.writeString(UsureText);
    out.writeString(FonctionnementText);
    out.writeString(EtatText);
}

public static final Parcelable.Creator<ElementDescription> CREATOR
= new Parcelable.Creator<ElementDescription>() {

    public ElementDescription createFromParcel(Parcel in) {
        return new ElementDescription(in);
    }

    public ElementDescription[] newArray(int size) {
        return new ElementDescription[size];
        }
};

@Override
public int describeContents() {
    // TODO Auto-generated method stub
    return 0;
}
}

在“out.writeString(EtatText)”行

当我执行应用程序时,当我单击 listView 的项目时,十个之一。当发送到其他活动的可感知对象出现错误时:

“打开跟踪文件时出错:没有这样的文件或目录!” 在无限循环中出现错误“无法绑定到本地 8700 以供调试器”

有人遇到你这个错误吗?

4

1 回答 1

0
"Cannot bind to local 8700 for debugger"

当我们尝试从 Eclipse 启动设备上的 Android 应用程序并且调试器无法连接到特定端口的 localhost 并超时时,就会发生这种情况。

要解决此问题,请完全按照给定的顺序执行以下步骤:

您正在使用 Base 本地调试器端口 8700。请将其更改为 8600 或 8601 ,重新启动 eclipse 然后尝试。

你可以这样做:

在下面Window -> Preferences -> Android -> DDMS:

将基本本地调试器端口设置为“8600”或“8601”选中“使用 ADBHOST”框,值应为“127.0.0.1”

  1. 关闭日食
  2. 断开 USB 电缆
  3. 杀死计算机任务管理器上的所有 adb 实例
  4. 启动 Eclipse
  5. 连接 USB 数据线
  6. 启动应用程序

如果这没有帮助,请确保您使用 IPv4 地址作为 localhost DNS 环回名称。

于 2013-08-26T08:53:03.177 回答