java - 如何停止向数据库sqlite添加数据?

标签 java android eclipse android-sqlite

我的项目包括 db sqlite。每次运行时都会在数据库中添加数据。这是我的项目的代码。它将有关药房的信息添加到列表中。当它在设备中运行时,它每次运行时都会添加此信息。必须在一次后停止添加信息。我怎样才能做到这一点?

import android.app.Activity;
import android.content.ContentValues;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.widget.TextView;
import static com.ahmety.eczanezonguldak.Sbtalapli.*;

public class Alapli extends Activity { 
private Vtalapli data;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alapli);

data = new Vtalapli(this);
try{addData("","","","");
addData("17.06.2015","Pharmacy Name ","pharmacy addres","pharmacy tel no");   
Cursor cursor = getData();
showData(cursor);
}
finally{
data.close();
}
}

private void addData(String date, String pharmacy, String address, String tel){

SQLiteDatabase db = data.getWritableDatabase();
ContentValues values = new ContentValues();
values.put(DATE, date);
values.put(PH,pharmacy);
values.put(ADDRESS,address);
values.put(TEL,tel);
db.insertOrThrow(TABLE_ALAPLI, null, values);
db.isDbLockedByCurrentThread();
}

private static String[] SELECT = {DATE, PH, ADDRESS,TEL};
private Cursor getData(){
SQLiteDatabase db = data.getReadableDatabase();
Cursor cursor = db.query(TABLE_ALAPLI, SELECT, null, null, null, null, null);

startManagingCursor(cursor);
return cursor;
}

private void showData(Cursor cursor){
StringBuilder builder = new StringBuilder("                                                              Nöbetçi Eczane/Alapli\n\n\n "
    + "  Tarih                      Eczane                                            Addres                                           Tel\n");

while(cursor.moveToNext()){

String date = cursor.getString((cursor.getColumnIndex(DATE)));
String ph = cursor.getString((cursor.getColumnIndex(PH)));
String address = cursor.getString((cursor.getColumnIndex(ADDRESS)));
String tel = cursor.getString((cursor.getColumnIndex(TEL)));

builder.append(date).append("    ");
builder.append(ph).append("  ");
builder.append(address).append("  ");
builder.append(tel).append("\n");
}
TextView text = (TextView)findViewById(R.id.textalapli);
text.setText(builder);
}
} 

最佳答案

您可以使用 SharedPreferences 保存一个 boolean 值来检查您是否是第一次运行该应用程序。

这里有一些例子:Android Shared preferences example

关于java - 如何停止向数据库sqlite添加数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30966758/

相关文章:

java - 随机化特定数组中的数字,不重复

java - 将上下文传递给计时器 android eclipse

java - JTextPane 和键盘输入

Android从json文件(.txt)获取数据

java - 如何将数据从 Activity 传递到抽屉导航 Android 内的 fragment

android - 使用 actionbarsherlock 选项卡样式的选项卡内容

android - 如何提高模拟器的速度?

Eclipse Indigo - 无法升级 m2e

java - 如何正确处理非英文字符?

Java : Divide 2 bigdecimals and retain maximum number of digits after the decimal point