Kommunikatsiyalarini rivojlantirish vazirligi toshkent axborot texnologiyalari universiteti qarshi filiali
Download 1.9 Mb. Pdf ko'rish
|
android platformasida java dasturlashtrish tilidan foydalanib akt ga oid lugat yaratish (1)
Lection ko’rinishi.
3.7.rasm. Leksikon lug’atning ko’rinishi.
package com.aiw.ictdictionary;
import android.content.Context; import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.util.Log; import android.widget.Toast;
import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.sql.SQLException; import java.util.ArrayList;
- 65 - public class DatabaseManager {
public final String APP_TAG = "ICT_DICTIONARY"; public final String DB_NAME = "ict_dict.db"; public final String DB_FOLDER = "databases";
private static DatabaseManager instance; private SQLiteDatabase db;
this.context = context; this.db = openDatabase(DB_NAME); }
public static DatabaseManager getInstance(Context context) {
if (instance == null) { instance = new DatabaseManager(context); }
return instance; }
private SQLiteDatabase openDatabase(String dbName) { File dbFile = this.context.getDatabasePath(dbName); - 66 - String dbPath = dbFile.toString(); File dbDir = new File(dbPath.substring(0, dbPath.lastIndexOf('.')));
if ( ! dbFile.exists()) { if ( ! dbDir.exists() ) dbDir.mkdirs();
copyDatabase(dbFile, dbName); }
return SQLiteDatabase.openDatabase(dbPath, null, 0); }
private void copyDatabase(File dbFile, String dbName) { try { InputStream istream = this.context.getAssets().open(DB_FOLDER + "/" + dbName); OutputStream ostream = new FileOutputStream(dbFile); byte[] buffer = new byte[100 * 1024]; int length;
while ((length = istream.read(buffer)) > -1) { ostream.write(buffer, 0, length); } } catch (IOException e) {
Log.e(APP_TAG, e.toString()); Toast.makeText(this.context, e.getMessage(), Toast.LENGTH_LONG).show(); } - 67 - }
public ArrayList
ArrayList Cursor cursor;
String lang = "uz"; switch (langCode) {
case 0: lang = "uz"; break; case 1: lang = "en"; break; case 2: lang = "ru"; break; }
cursor = db.query( "dictionary", new String[] { "word_" + lang }, "word_" + lang + " like \"%" + word + "%\" limit 10", null, null, null, null );
if ( ! cursor.isAfterLast() ) {
do { result.add( cursor.getString(0) ); - 68 - } while (cursor.moveToNext()); }
cursor.close(); return result; }
String fromLang, toLang, returnString; Cursor cursor;
switch (fromLangCode) { case 0: fromLang = "word_uz"; break; case 1: fromLang = "word_en"; break; case 2: fromLang = "word_ru"; break;
default: fromLang = "word_uz"; }
switch (toLangCode) { case 0: toLang = "word_uz"; returnString = "Bunday so'z topilmadi."; break;
- 69 - case 1: toLang = "word_en"; returnString = "This word was not found"; break;
case 2: toLang = "word_ru"; returnString = "Такое слово не найдено."; break;
default: toLang = "word_en"; returnString = "This word was not found"; }
cursor = db.query( "dictionary", new String[] {toLang}, fromLang + " = \"" + word + "\"", null, null, null, null );
Toast.makeText(context, fromLang.toString()) cursor.moveToFirst();
if ( ! cursor.isAfterLast() ) { return returnString; }
|
ma'muriyatiga murojaat qiling