【发布时间】:2017-02-02 20:19:10
【问题描述】:
我的项目的目的是我想制作一张词汇卡。应用程序会给你一个英文单词,在英文单词下面会有 4 个土耳其语单词(1 个单词是真词。Ex : hello= merhaba)。你会猜到真词。我会用array 来做到这一点。我错了还是你想给我一个建议?
我一直在开发一个小项目。我想在不同的活动中使用数据库中的数据。我的数据在数据库中是这样的:
ID word word_tr
1 hello merhaba
2 hi selam
....
我希望在不同的活动(WordsActivity)中排列数据
数组1
你好
嗨
...
数组2
梅哈巴
塞拉姆 ...
这是我的代码:
package de.murattekinlive.pwords;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import java.util.ArrayList;
import java.util.List;
public class DataBase extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "DBWORDS";
private static final String TABLE_NAME = "WTABLE";
private static final String ID ="ID";
private static final String WORD = "WORD";
private static final String WORD_TR1 = "TURKCE_1";
public DataBase(Context context){
super(context,DATABASE_NAME,null,DATABASE_VERSION);
}
public DataBase(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_DBTABLE = "CREATE TABLE " + TABLE_NAME + "(" + ID +" INTEGER PRIMARY KEY AUTOINCREMENT," +WORD+
" TEXT," +WORD_TR1+" TEXT" + " )";
db.execSQL(CREATE_DBTABLE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
String TABLE_DELETE = "DROP TABLE IF EXISTS" + TABLE_NAME ;
db.execSQL(TABLE_DELETE);
onCreate(db);
}
public long addRecord(Words words){
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
ContentValues contentValues = new ContentValues();
contentValues.put(WORD,words.getWORD());
contentValues.put(WORD_TR1,words.getTR1());
long status = sqLiteDatabase.insert(TABLE_NAME,null,contentValues);
sqLiteDatabase.close();
return status;
}
public List<Words> allRecords(){
List<Words> wordsList = new ArrayList<>();
String sql_query = "SELECT *FROM " + TABLE_NAME;
SQLiteDatabase sqLiteDatabase =this.getWritableDatabase();
Cursor cursor =sqLiteDatabase.rawQuery(sql_query,null);
if(cursor.moveToFirst()){
Words words =null;
do{
words = new Words();
words.setID(cursor.getInt(0));
words.setWORD(cursor.getString(1));
words.setTR1(cursor.getString(2));
wordsList.add(words);
}while (cursor.moveToNext());
}
return wordsList;
}
public String getRandomQuote(){
SQLiteDatabase sqLiteDatabase = this.getWritableDatabase();
Cursor cursor = sqLiteDatabase.query(TABLE_NAME + " ORDER BY RANDOM() LIMIT 1",new String[]
{WORD,WORD_TR1},null,null,null,null,null);
if(cursor.moveToFirst()){
return
cursor.getString(cursor.getColumnIndex(WORD))+
cursor.getString(cursor.getColumnIndex(WORD_TR1));
}
else
return "nothing";
}
}
我的 wordActivity(我想用数据完成所有任务)
package de.murattekinlive.pwords;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import java.util.List;
public class WordsActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_words);
textView = (TextView) findViewById(R.id.textView);
Intent intent = getIntent();
String random = intent.getStringExtra("random"); // this is just test...
textView.setText("Number : " + random);
}
}
【问题讨论】:
标签: java android arrays android-sqlite