انجمن سایت کلیدستان


رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
آپگرید دیتابیس (در برنامه نویسی اندروید)

آپگرید دیتابیس (در برنامه نویسی اندروید)

#7
 
کد پی‌اچ‌پی:
package **;

import java.util.ArrayList;
import java.util.List;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;

public class 
DBAdapter {

    
// ebteda sotun ha ro tarif mikonim
    
public static final String KEY_ID "id";
    public static final 
String KEY_ONVAN "onvan";
    public static final 
String KEY_ENONVAN "enonvan";
    public static final 
String KEY_MATN "matn";
    public static final 
String KEY_DATE "date";
    public static final 
String KEY_ENDATE "endate";
    public static final 
String KEY_PIC1 "pic1";
    public static final 
String KEY_PIC2 "pic2";
    public static final 
String KEY_PIC3 "pic3";
    public static final 
String KEY_PIC4 "pic4";
    public static final 
String KEY_PIC5 "pic5";
    public static final 
String KEY_PIC6 "pic6";
    public static final 
String KEY_PIC7 "pic7";
    public static final 
String KEY_PIC8 "pic8";
    public static final 
String KEY_DESPIC1 "despic1";
    public static final 
String KEY_DESPIC2 "despic2";
    public static final 
String KEY_DESPIC3 "despic3";
    public static final 
String KEY_DESPIC4 "despic4";
    public static final 
String KEY_DESPIC5 "despic5";
    public static final 
String KEY_DESPIC6 "despic6";
    public static final 
String KEY_FAV "fav";
    public static final 
String KEY_KHAND "khande";
    public static final 
String KEY_EXTRA "ezafi";
    public static final 
String DATABASE_NAME "dastanha";
    public static final 
String DATABASE_TABLE "versions";
    public static final 
String TAG "FullBook Esfandune";

    
// hala nahve sakhte shodan database ro minevisim
    
static final String CREATE_TABLE "CREATE  TABLE " 
            
DATABASE_TABLE " (" 
              
KEY_ID    " INTEGER PRIMARY KEY  NOT NULL , " 
            
KEY_ONVAN " TEXT, "
            
KEY_ENONVAN " TEXT, "
            
KEY_MATN  " TEXT, " 
            
KEY_DATE  " TEXT, " 
            
KEY_ENDATE  " TEXT, " 
            
KEY_PIC1   " TEXT, " 
            
KEY_PIC2   " TEXT, " 
            
KEY_PIC3   " TEXT, " 
            
KEY_PIC4   " TEXT, " 
            
KEY_PIC5   " TEXT, " 
            
KEY_PIC6   " TEXT, " 
            
KEY_PIC7   " TEXT, " 
            
KEY_PIC8   " TEXT, " 
            
KEY_DESPIC1   " TEXT, " 
            
KEY_DESPIC2   " TEXT, " 
            
KEY_DESPIC3   " TEXT, " 
            
KEY_DESPIC4   " TEXT, " 
            
KEY_DESPIC5   " TEXT, " 
            
KEY_DESPIC6   " TEXT, " 
            
KEY_FAV   " INTEGER NOT NULL  DEFAULT 0, "
            
KEY_KHAND " INTEGER NOT NULL  DEFAULT 0, " 
            
KEY_EXTRA    " TEXT)";
    
// ye arraye vase hame gozine ha minevisim
    
String[] yek_name = new String[] { 
            
KEY_ID,
            
KEY_ONVAN,
            
KEY_MATN,
            
KEY_DATE,
            
KEY_FAV,
            
KEY_KHAND,
            
KEY_EXTRA,
            
KEY_PIC1,
            
KEY_PIC2,
            
KEY_PIC3,
            
KEY_PIC4,
            
KEY_PIC5,
            
KEY_PIC6,
            
KEY_PIC7,
            
KEY_PIC8,
            
KEY_DESPIC1,
            
KEY_DESPIC2,
            
KEY_DESPIC3,
            
KEY_DESPIC4,
            
KEY_DESPIC5,
            
KEY_DESPIC6,
            
KEY_ENONVAN,
            
KEY_ENDATE,

            };

    
// Ebteda cod hayi ke tu site gharar dadam ro inja copy konid
    // import haye lazem ro anjam midim
    // khube
    /*
     * ebteda ye nokte yi begam az inke cod haye zir ro khodeteun naneveshtid va
     * copy kardid negaran nabashid , chun neveshtan cod haye zir aslan manteghi
     * nis amuzesh haye database lynda ro ham ke negah kardan ostad , cod ha ro
     * az dakhele ye file txt copy mikard kolan neveshtan in codhaye khaste
     * konande o tekrari kare manteghi nis va behtare unhar o dark konim ta hefz
     * :) Esfandune.ir yadetun nare
     */
    
final Context context;

    
DatabaseHelper DBHelper;
    
SQLiteDatabase db;

    public 
DBAdapter(Context ctx) {
        
this.context ctx;
        
DBHelper = new DatabaseHelper(context);
    }

    private static class 
DatabaseHelper extends SQLiteOpenHelper {
        
DatabaseHelper(Context context) {
            
// DATABASE_VERSION = 1
            
super(contextDATABASE_NAMEnull1);
        }

        @
Override
        
public void onCreate(SQLiteDatabase db) {
            try {
                
db.execSQL(CREATE_TABLE);
            } catch (
SQLException e) {
                
e.printStackTrace();
            }
        }


        @
Override
        
public void onUpgrade(SQLiteDatabase dbint oldVersionint newVersion) {
            
Log.w(TAG"Upgrading database from version " oldVersion " to "
                    
newVersion ", which will destroy all old data");

            
db.execSQL("DROP TABLE IF EXISTS " DATABASE_TABLE);
            
onCreate(db);
        }
    }

    
// codhaye bala ke chize khasi nis va hamishe bayad tekrar beshan va daran
    // classe databaesemun ro
    // paye rizi mikonan
    // ---ba farakhni method e zir databesemun baz mishe va amade khandano
    //neveshtan e etelaat mishe---
    
public DBAdapter open() throws SQLException {
        
db DBHelper.getWritableDatabase();
        return 
this;
    }

    
// ---methode zir databasemun ro mibande---
    
public void close() {
        
DBHelper.close();
    }

    
// ---age gharar bud masalan ye barname hesabdari ya yaddasht besazim ke
    //karbar betune field ezafe kone niaz be in method dashtim ta karbar betune
    //etelaat ezafe kone vali dakhele barname ma niaz be in method nis
    // chun dastanha az ghabl mojud hasan va karbar faghat gharare una ro bekhune
    // pas hazfesh mikonim---
    /*public long insertContact(String id, String nam, String mavadavaliye,
            String dasturpokht, String note, String ezafi, String fav) {
        ContentValues initialValues = new ContentValues();
        /*

        return db.insert(DATABASE_TABLE, null, initialValues);
    }*/

    // ---retrieves all the contacts---
    /* in method ham ke hame dastan ha ro bar migardune , baraye nemayesh dakhele liste safhe aval*/
    
public List<DastangetAllContacts() {

        
Cursor cursor db.query(DATABASE_TABLEyek_namenullnullnull,
                
nullnull);
        List<
Dastannams cursorToList(cursor);
        return 
nams;
    }
    
    public List<
DastangetRegisteredContacts() {

        
Cursor cursor db.query(DATABASE_TABLEyek_namenullnullnull,
                
nullnull);
        List<
Dastannams = new ArrayList<Dastan>();
        
cursor.moveToFirst();
        do {
            
Dastan nam = new Dastan();
            
nam.setId(cursor.getInt(cursor.getColumnIndex(KEY_ID)));
            
nam.setMatn(cursor.getString(cursor.getColumnIndex(KEY_MATN)));
            
nam.setOnvan(cursor.getString(cursor.getColumnIndex(KEY_ONVAN)));
            
nam.setenOnvan(cursor.getString(cursor.getColumnIndex(KEY_ENONVAN)));
            
nam.setDate(cursor.getString(cursor.getColumnIndex(KEY_ENDATE)));
            
nam.setenDate(cursor.getString(cursor.getColumnIndex(KEY_ENDATE)));
            
nam.setPic1(cursor.getString(cursor.getColumnIndex(KEY_PIC1)));
            
nam.setPic2(cursor.getString(cursor.getColumnIndex(KEY_PIC2)));
            
nam.setPic3(cursor.getString(cursor.getColumnIndex(KEY_PIC3)));
            
nam.setPic4(cursor.getString(cursor.getColumnIndex(KEY_PIC4)));
            
nam.setPic5(cursor.getString(cursor.getColumnIndex(KEY_PIC5)));
            
nam.setPic6(cursor.getString(cursor.getColumnIndex(KEY_PIC6)));
            
nam.setPic7(cursor.getString(cursor.getColumnIndex(KEY_PIC7)));
            
nam.setPic8(cursor.getString(cursor.getColumnIndex(KEY_PIC8)));
            
nam.setdesPic1(cursor.getString(cursor.getColumnIndex(KEY_DESPIC1)));
            
nam.setdesPic2(cursor.getString(cursor.getColumnIndex(KEY_DESPIC2)));
            
nam.setdesPic3(cursor.getString(cursor.getColumnIndex(KEY_DESPIC3)));
            
nam.setdesPic4(cursor.getString(cursor.getColumnIndex(KEY_DESPIC4)));
            
nam.setdesPic5(cursor.getString(cursor.getColumnIndex(KEY_DESPIC5)));
            
nam.setdesPic6(cursor.getString(cursor.getColumnIndex(KEY_DESPIC6)));
            
nam.setFav(cursor.getInt(cursor.getColumnIndex(KEY_FAV)));
            
nam.setKhande(cursor.getInt(cursor.getColumnIndex(KEY_KHAND)));
            
nam.SetEzafi(cursor.getString(cursor.getColumnIndex(KEY_EXTRA)));

            
nams.add(nam);
        }while(
cursor.moveToNext());
        
        return 
nams;
    }
    
    
    
//khob, in method vase rahati e karemun dakhele method haye dige , jelogiri az tekrar cod zani
    // sakhtimesh ke cursor i ke database behemun mide ro mikkhunim va dakhele shey Dastanemun mirizim
    // 
    
private List<DastancursorToList(Cursor cursor) {
        List<
Dastannams = new ArrayList<Dastan>();
        if (
cursor.getCount() > 0) {
            while (
cursor.moveToNext()) {
                
Dastan nam = new Dastan();
                
nam.setId(cursor.getInt(cursor.getColumnIndex(KEY_ID)));
                
nam.setMatn(cursor.getString(cursor.getColumnIndex(KEY_MATN)));
                
nam.setOnvan(cursor.getString(cursor.getColumnIndex(KEY_ONVAN)));
                
nam.setenOnvan(cursor.getString(cursor.getColumnIndex(KEY_ENONVAN)));
                
nam.setDate(cursor.getString(cursor.getColumnIndex(KEY_DATE)));
                
nam.setenDate(cursor.getString(cursor.getColumnIndex(KEY_ENDATE)));
                
nam.setPic1(cursor.getString(cursor.getColumnIndex(KEY_PIC1)));
                
nam.setPic2(cursor.getString(cursor.getColumnIndex(KEY_PIC2)));
                
nam.setPic3(cursor.getString(cursor.getColumnIndex(KEY_PIC3)));
                
nam.setPic4(cursor.getString(cursor.getColumnIndex(KEY_PIC4)));
                
nam.setPic5(cursor.getString(cursor.getColumnIndex(KEY_PIC5)));
                
nam.setPic6(cursor.getString(cursor.getColumnIndex(KEY_PIC6)));
                
nam.setPic7(cursor.getString(cursor.getColumnIndex(KEY_PIC7)));
                
nam.setPic8(cursor.getString(cursor.getColumnIndex(KEY_PIC8)));
                
nam.setdesPic1(cursor.getString(cursor.getColumnIndex(KEY_DESPIC1)));
                
nam.setdesPic2(cursor.getString(cursor.getColumnIndex(KEY_DESPIC2)));
                
nam.setdesPic3(cursor.getString(cursor.getColumnIndex(KEY_DESPIC3)));
                
nam.setdesPic4(cursor.getString(cursor.getColumnIndex(KEY_DESPIC4)));
                
nam.setdesPic5(cursor.getString(cursor.getColumnIndex(KEY_DESPIC5)));
                
nam.setdesPic6(cursor.getString(cursor.getColumnIndex(KEY_DESPIC6)));
                
nam.setFav(cursor.getInt(cursor.getColumnIndex(KEY_FAV)));
                
nam.setKhande(cursor.getInt(cursor.getColumnIndex(KEY_KHAND)));
                
nam.SetEzafi(cursor.getString(cursor.getColumnIndex(KEY_EXTRA)));



                
nams.add(nam);
            };
        }
//khube , pas marahel chi shod?
        /*dakhele method haye dige query mizanim be database , bad database be ma 
         * mahale un Dastan ro mige , ma miam in methode "cursorToList" ro seda mizanim
         * va mahale Dastan ro behesh midim , "cursorToList" ham miad etelaat ro mikhune
         * va mirize dakhele ye Dastan be name "nam" va un ro be ma bar migardune :)*/
        
return nams;
    }

    
// ---in method ham ke moshakhase , ye Dastan ro bar migardune (id migire)---
    
public Dastan getContact(int new_idthrows SQLException {
        
        List<
Dastannams = new ArrayList<Dastan>();
        
        
Cursor cursor db.query(trueDATABASE_TABLEyek_nameKEY_ID
                
" == '" new_id "'"nullnullnullnullnull);
        
Dastan nam = new Dastan();
        if (
cursor != null) {
            
cursor.moveToFirst();
            
// khob inja be surate amali didid chi shod,
            // cursorToList ro farukhuni kardim ta Dastane ma ro behemun bede
            
            
nams cursorToList(cursor);
        }
        
Log.i(TAGnam.getOnvan() + ",database");
        
//chun ma faghat ye dune dastan bishtar nadashtim , pas faghat avali nams ro bar migardunim
        
return nams.get(0);
    }

    
// /search
    
public List<DastanfindContacts(String namString row)
            
throws SQLException {
        
Cursor cursor db.query(trueDATABASE_TABLEyek_namerow
                
" LIKE '%" nam "%'"nullnullnullnullnull);
        List<
Dastannams cursorToList(cursor);
        return 
nams;
    }

    
// /fav?
    
public List<DastanfindFAVContacts() throws SQLException {
        
Cursor cursor db.query(trueDATABASE_TABLEyek_nameKEY_FAV
                
" == " ""nullnullnullnullnull);

        List<
Dastannams cursorToList(cursor);
        return 
nams;
    }
    
//in methodam dastanhaye khande shode ro bar miardune
    
public List<DastanfindKhandeContacts() throws SQLException {
        
Cursor cursor db.query(trueDATABASE_TABLEyek_nameKEY_KHAND
                
" == " ""nullnullnullnullnull);

        List<
Dastannams cursorToList(cursor);
        return 
nams;
    }

    
// ---updates a contact---
    
public boolean updateContact(Dastan up_nam) {
        
ContentValues args = new ContentValues();
        
// bale in method ro faramush kardim meghdar dehi konim :D. alan mikonim
            
args.put(KEY_IDup_nam.getId());
            
args.put(KEY_ONVANup_nam.getOnvan());
            
args.put(KEY_ENONVANup_nam.getenOnvan());
            
args.put(KEY_DATEup_nam.getDate());
            
args.put(KEY_ENDATEup_nam.getenDate());
            
args.put(KEY_MATNup_nam.getMatn());
            
args.put(KEY_PIC1up_nam.getPic1());
            
args.put(KEY_PIC2up_nam.getPic2());
            
args.put(KEY_PIC3up_nam.getPic3());
            
args.put(KEY_PIC4up_nam.getPic4());
            
args.put(KEY_PIC5up_nam.getPic5());
            
args.put(KEY_PIC6up_nam.getPic6());
            
args.put(KEY_PIC7up_nam.getPic7());
            
args.put(KEY_PIC8up_nam.getPic8());
            
args.put(KEY_DESPIC1up_nam.getdesPic1());
            
args.put(KEY_DESPIC2up_nam.getdesPic2());
            
args.put(KEY_DESPIC3up_nam.getdesPic3());
            
args.put(KEY_DESPIC4up_nam.getdesPic4());
            
args.put(KEY_DESPIC5up_nam.getdesPic5());
            
args.put(KEY_DESPIC6up_nam.getdesPic6());
            
args.put(KEY_FAVup_nam.getFav());
            
args.put(KEY_KHANDup_nam.getKhande());
            
args.put(KEY_EXTRAup_nam.getEzafi());

        
        return 
db.update(DATABASE_TABLEargsKEY_ID "=" up_nam.getId(),
                
null) > 0;
    }

}
// khob class e DBAdapter emun tamum shod, ehtemalan ye sery taghirat dige badan behesh bedam :) 
 
پاسخ


پیام‌های این موضوع
RE: آپگرید دیتابیس (در برنامه نویسی اندروید) - توسط M@MmAd - ۱۳۹۴/۰۵/۲۲, ۰۴:۳۴ ق.ظ

پرش به انجمن:


کاربران در حال بازدید این موضوع: 2 مهمان