2011-10-24 15 views
0

よくある質問ですが、sqliteを使用するプログラムに問題がありますが、 "予期しないエラー"が返されます。ちょうど私が何らかの種類のサーバー、デーモンまたはサービスを開始しなければならないのかと疑問に思っていましたか?アンドロイドアプリケーションで使用する前にsqliteサーバを起動する必要がありますか?

androidManifest [スニペット]

<activity android:name=".About"> 
android:label="@string/about_title" 
android:theme="@android:style/Theme.Dialog" > 
</activity> 
<activity android:name=".Exit"> 
andorid:label="@string/exit_title">  
</activity> 
<activity android:name=".Options"> 
</activity> 
<activity android:name=".Start"> 
</activity> 
<activity android:name=".Create"> 
</activity> 

</application> 

AndroidSQLite

public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.sql); 
TextView listContent = (TextView)findViewById(R.id.contentlist); 
mySQLiteAdapter = new SQLiteAdapter(this); 
mySQLiteAdapter.openToWrite(); 
mySQLiteAdapter.deleteAll(); 
mySQLiteAdapter.insert("ABCDE"); 
mySQLiteAdapter.insert("FGHIJK"); 
mySQLiteAdapter.insert("1234567"); 
mySQLiteAdapter.insert("890"); 
mySQLiteAdapter.insert("Testing"); 
mySQLiteAdapter.close(); 
mySQLiteAdapter = new SQLiteAdapter(this); 
mySQLiteAdapter.openToRead(); 
String contentRead = mySQLiteAdapter.queueAll(); 
mySQLiteAdapter.close(); 
listContent.setText(contentRead); 
} 

sql.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
> 
<TextView 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/app_name" 
/> 
<ListView 
android:id="@+id/contentlist" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent"/> 
</LinearLayout> 

main.xml [スニペット]

<Button 
android:id="@+id/where_button" 
android:onClick="WhereCl" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:text="@string/where_label" /> 

ボタンの責任コードはどこですか?

mainActivity.java

public class MainActivity extends Activity 
{ 


@Override 
public void onCreate(Bundle savedInstanceState) 

{ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 

View startButton = findViewById(R.id.start_button); 
View whereButton = findViewById(R.id.where_button); 
View aboutButton = findViewById(R.id.about_button); 
View exitButton = findViewById(R.id.exit_button); 

} 

public void OptionsCl(View v){ 

startActivity(new Intent(this,Options.class)); 
} 

public void WhereCl(View v){ 

startActivity(new Intent(this,AndroidSQLite.class)); 
} 

public void StartCl(View v){ 

Intent idd = new Intent(this,Start.class); 
startActivity(idd); 
} 
public void AboutCl(View v){ 

startActivity(new Intent(this,About.class)); 
} 
public void ExitCl(View v){ 

finish(); 
} 

} 

私は受信エラーがunregistredアクションを思い付くれ、これに似ていますが、アクションはregistredある[コードをチェック]

それだけで「アプリケーションblablaです(menu.dot)が予期せず停止しました。もう一度 "強制終了"してください。

+0

いいえ、SQLiteは、とにかくファイルベースですので、指定されたライブラリですぐに使用できます。あなたのテーブルのスキーマとクエリを投稿してください。間違ったことを教えてください。 – Knickedi

+0

エラーログを表示します。メインポストの – user370305

+0

更新 – iie

答えて

1

Android SQLiteは、レディメイドライブラリです。したがって、サービス、サーバー、または悪魔を起動する必要はありません。 SQLite DatabaseHelperクラスを継承したデータベースクラスを開始して使用するだけです。

ありがとうございました。