0

当我尝试向我的 SQLite 数据库创建/添加数据时,我遇到了很多错误,但不知道为什么它看起来对我应该有用。代码在下面,并在下面发布错误。提前一百万感谢您的帮助。

enter code here
public class MyActivity extends Activity
{
   @Override
   public void onCreate(Bundle savedInstanceState)
   {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.main);

      //create an instance of the PlayerDatabase class and pass this context through parameters;
      PlayerDatabase playerProfile = new PlayerDatabase(this);

      try
      {
         //open the database;
         playerProfile.open();
      }//try;
      catch (SQLException e)
      {
         //print description of the error;
         e.printStackTrace();
      }//catch;

      //insert data into the table;
      playerProfile.createInsert("Player", "Connor", "5", "1234");
      //close the database;
      playerProfile.close();
   }//onCreate;
}//class;



public class PlayerDatabase
{
   public static final String KEY_PLAYER = "Player";
   public static final String KEY_NAME = "Name";
   public static final String KEY_GUESSES = "NumberOfGuesses";
   public static final String KEY_NUMBER= "NumberToGuess";

   private static final String DATABASE_NAME = "PlayerData.db";
   private static final String DATABASE_MARKSTABLE = "PlayerData";
   private static final int DATABASE_VERSION = 1;

   //create instance of DbHelper class called ourHelper;
   private DbHelper ourHelper;
   //create a context called ourContext;
   private final Context ourContext;
   //create an instance of SQLiteDatabase called ourDatabase to be the database;
   private SQLiteDatabase ourDatabase;


   //constructor to pass through context;
   public PlayerDatabase(Context c)
   {
      ourContext = c;
   }//constructor;


   //open the database;
   public PlayerDatabase open()throws SQLException
   {
      //finish creating the instance of the DbHelper class;
      ourHelper = new DbHelper(ourContext);
      //create database;
      ourDatabase = ourHelper.getWritableDatabase();
      return this;
   }//open;

   //close the database;
   public void close()
   {
      ourHelper.close();
   }//close;


   //insert data into the database;
   public long createInsert(String player, String name, String guesses,
                        String number)
   {
      // TODO Auto-generated method stub
      ContentValues cv = new ContentValues();
      cv.put(KEY_PLAYER, player);
      cv.put(KEY_NAME, name);
      cv.put(KEY_GUESSES, guesses);
      cv.put(KEY_NUMBER, number);
      return ourDatabase.insert(DATABASE_MARKSTABLE, null, cv);
   } //createInsert;




   //DbHelper class within PlayerDatabase class;
   private static class DbHelper extends SQLiteOpenHelper
   {

      public DbHelper(Context context)
      {
         super(context, DATABASE_NAME, null, DATABASE_VERSION);
         // TODO Auto-generated constructor stub
      }//DbHelper constructor;


      //when DbHelper is first created it will create this table;
      @Override
      public void onCreate(SQLiteDatabase db)
      {
         // TODO Auto-generated method stub
         db.execSQL(" CREATE TABLE " + DATABASE_MARKSTABLE + " (" +
             KEY_PLAYER + " TEXT PRIMARY KEY, " +
             KEY_NAME + " TEXT NOT NULL, " +
             KEY_GUESSES + " TEXT NOT NULL, " +
             KEY_NUMBER + " TEXT NOT NULL);"
         );
      }//DbHelper onCreate;


      //only used when database is upgraded;
      @Override
      public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
      {
         // TODO Auto-generated method stub

         db.execSQL("DROP TABLE IF EXISTS " + DATABASE_MARKSTABLE);
         onCreate(db);
      }//DbHelper onUpgrade;
    } //class DbHelper;
}//class;

这是错误报告

12-27 13:15:43.549: ERROR/ActivityThread(6572): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cea8d8 that was originally bound here
        android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cea8d8 that was originally bound here
        at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
        at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
        at android.app.ContextImpl.bindService(ContextImpl.java:1418)
        at android.app.ContextImpl.bindService(ContextImpl.java:1407)
        at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
        at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
        at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
        at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
        at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
        at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
        at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
        at android.os.AsyncTask$2.call(AsyncTask.java:287)
        at java.util.concurrent.FutureTask.run(FutureTask.java:234)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
        at java.lang.Thread.run(Thread.java:856)
12-27 13:15:43.549: ERROR/StrictMode(6572): null
        android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cea8d8 that was originally bound here
        at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
        at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
        at android.app.ContextImpl.bindService(ContextImpl.java:1418)
        at android.app.ContextImpl.bindService(ContextImpl.java:1407)
        at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
        at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
        at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
        at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)
        at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)
        at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)
        at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)
        at android.os.AsyncTask$2.call(AsyncTask.java:287)
        at java.util.concurrent.FutureTask.run(FutureTask.java:234)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
        at java.lang.Thread.run(Thread.java:856)
12-27 13:15:43.739: ERROR/ActivityThread(6572): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cd08b0 that was originally bound here
        android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cd08b0 that was originally bound here
        at android.app.LoadedApk$ServiceDispatcher.<init>(LoadedApk.java:969)
        at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)
        at android.app.ContextImpl.bindService(ContextImpl.java:1418)
        at android.app.ContextImpl.bindService(ContextImpl.java:1407)
        at android.content.ContextWrapper.bindService(ContextWrapper.java:473)
        at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)
        at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)
        at com.android.emailcommon.service.AccountServiceProxy.getDeviceId12-27 13:24:07.950: ERROR/StrictMode(6572): null
12-27 13:24:10.041: ERROR/ThrottleService(6245): problem during onPollAlarm: java.lang.IllegalStateException: problem parsing stats: java.io.FileNotFoundException: /proc/net/xt_qtaguid/iface_stat_all: open failed: ENOENT (No such file or directory)
4

2 回答 2

0

您看到的错误来自 Android 中的内置电子邮件应用程序。它似乎有一个泄漏的ServiceConnection,并且您在 LogCat 中看到了一些错误。这与您的应用程序完全无关,您可以放心地忽略它。

将来,您可以尝试使用您的应用程序进程 ID 过滤 logcat,以便仅显示来自您的应用程序的消息,并隐藏此类可能导致误报的消息。

于 2013-01-20T20:18:02.510 回答
0

这个问题是因为你的 android emolator 无法获取 ID 的交换服务。您应该设置-> 应用程序-> 所有应用程序-> 并从那里禁用交换服务。

希望问题的答案。

于 2013-05-11T09:25:36.440 回答