2017-05-29 3 views
-3

エミュレータでプロジェクトを実行すると、「残念ながらdezo12が停止しました」というメッセージが表示されます。なぜAndroid上の私の単純なSQLiteアプリはうまくいかないのですか?

LogCatに何も表示されず、スマートフォンで直接実行しようとしましたが、アプリがクラッシュしました。

私はEclipseネオンで作業しています。最近、Android SDKマネージャに必要なすべてのツールをインストールします。

MAIN ACTIVITY.java

package com.example.dezo12; 

import android.app.Activity; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.os.Bundle; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.widget.TextView; 

public class MainActivity extends Activity { 

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

     TextView textView = (TextView)findViewById(R.id.textView1); 

     SQLiteDatabase database = openOrCreateDatabase("rex.db", MODE_PRIVATE, null); 
     database.execSQL("create table if not exist sampletable(name text, location text)"); 
     database.execSQL("insert into sampletable values('dezo', 'bela')"); 
     Cursor cursor = database.rawQuery("select * from sampletable", null); 
     cursor.moveToFirst(); 
     String name = cursor.getString(0); 
     String location = cursor.getString(1); 
     textView.setText(name+ "/n" +location); 


     database.close(); 

    } 
} 

ACTIVITY_MAIN xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context="${relativePackage}.${activityClass}" > 

    <TextView 
     android:id="@+id/textView1" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentLeft="true" 
     android:layout_alignParentTop="true" 
     android:layout_marginLeft="49dp" 
     android:layout_marginTop="40dp" 
     android:text="Large Text" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

</RelativeLayout> 

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.example.dezo12" 
    android:versionCode="1" 
    android:versionName="1.0" > 

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

    <application 
     android:allowBackup="true" 
     android:icon="@drawable/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/AppTheme" > 
     <activity 
      android:name=".MainActivity" 
      android:label="@string/app_name" > 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 

       <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
     </activity> 
    </application> 

</manifest> 
+1

'LogCat doesntのショーanything'のように、この行を編集... – John3136

+0

は' SQLiteOpenHelper'は、理想的にはあなたの答えのためのbedesten1618 –

答えて

1

あなたが作っ:ここでは

コードです「存在する」と書く間違い。信じることはかなり難しいです。この

database.execSQL("create table if not exists sampletable(name text, location text)"); 
+0

感謝を使用する必要があります。 – Dezo

+0

あなたが書いたように、問題は間違ったスペルの "存在"の言葉でした。 – Dezo

+0

@Dezoこの回答は、チェックマーク –

関連する問題