【问题标题】:Android Log - causing application crashAndroid Log - 导致应用程序崩溃
【发布时间】:2013-12-09 07:46:13
【问题描述】:

我正在开发一个 android 应用程序,用于在 FTP 服务器上上传照片。应用程序运行良好,我尝试修改代码并使用 Log.v 获取日志文件中的用户数据。

现在我的问题开始了,每次我尝试运行我的应用程序时它都会崩溃。

public class MainActivity extends Activity {    

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        SQLiteDatabase db = openOrCreateDatabase("userData",MODE_PRIVATE,null);
        db.execSQL("CREATE TABLE IF NOT EXISTS UserInfo(firstname VARCHAR,lastname VARCHAR);");
        db.execSQL("INSERT INTO UserInfo VALUES('pulkit','gupta');");
        Cursor c = db.rawQuery("SELECT * FROM UserInfo",null);
        //Log.d("result",c.getString(c.getColumnIndex("firstname")));
        db.close();

    }

附上我的日志图像..

12-09 07:23:19.825: E/Trace(1942): error opening trace file: No such file or directory (2)
12-09 07:23:21.165: D/AndroidRuntime(1942): Shutting down VM
12-09 07:23:21.165: W/dalvikvm(1942): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
12-09 07:23:21.196: E/AndroidRuntime(1942): FATAL EXCEPTION: main
12-09 07:23:21.196: E/AndroidRuntime(1942): java.lang.RuntimeException: Unable to start activity ComponentInfo{abc.photoapp/abc.photoapp.MainActivity}: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 12
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.app.ActivityThread.access$600(ActivityThread.java:141)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.os.Handler.dispatchMessage(Handler.java:99)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.os.Looper.loop(Looper.java:137)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.app.ActivityThread.main(ActivityThread.java:5041)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at java.lang.reflect.Method.invokeNative(Native Method)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at java.lang.reflect.Method.invoke(Method.java:511)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at dalvik.system.NativeStart.main(Native Method)
12-09 07:23:21.196: E/AndroidRuntime(1942): Caused by: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 12
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.database.AbstractCursor.checkPosition(AbstractCursor.java:424)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.database.AbstractWindowedCursor.checkPosition(AbstractWindowedCursor.java:136)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.database.AbstractWindowedCursor.getString(AbstractWindowedCursor.java:50)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at abc.photoapp.MainActivity.onCreate(MainActivity.java:29)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.app.Activity.performCreate(Activity.java:5104)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
12-09 07:23:21.196: E/AndroidRuntime(1942):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
12-09 07:23:21.196: E/AndroidRuntime(1942):     ... 11 more

我的 AVD 配置

设备:4.0" WVGA (480x800 hdpi) 目标:Android 4.2.2 – API 级别 17 CPU/ABI:ARM (armabi-v7a) 内存 512

谁能帮我解决我的问题

【问题讨论】:

    标签: android eclipse android-intent


    【解决方案1】:

    我想你忘了 cursor.moveToFirst() 试试吧

    【讨论】:

    • 感谢您的回答..但我不认为 Cursor.movetofirst() 是预定义的函数 ...您能否进一步详细说明。
    • 试试 curcor.moveToFirst()
    猜你喜欢
    • 2014-05-08
    • 2013-12-02
    • 2014-09-09
    • 1970-01-01
    • 2022-10-05
    • 2020-11-16
    • 2018-01-29
    • 2018-09-23
    • 1970-01-01
    相关资源
    最近更新 更多