راهنمایی در مورد چند کلاس

0 امتیاز
57 بازدید
سوال شده آذر 3, 1394 توسط android  
سلام جناب آشکاران

این کلاس هارو میتونید بهم بدید من قالبشو ندارم
 

-افزودن به بانک

مثلا ای دی کاربر که اتوو هست.بعد نام و نام خانوادگی و شماره تلفن

-حذف یوزر های موجود در بانک-ویرایش یوزر های موجود در بانک

-نمایش توی یک لیست
 

و اینکه ایکس ام ال صفحه ای که میخواد کاربران رو سلکت کنه باید به چه شکل باشه و برای هر کاربری که اضافه میشه یک لینیر لیوت در نظر بگیره تا زیر هم نمایش داده بشه
این مطلب را به اشتراک بگذارید
دارای دیدگاه آذر 3, 1394 توسط ASHKARAN  
با عرض سلام

دقیق متوجه منظورتون نشدم....

شما می خواین با دیتابیس تعامل داشته باشید و دستورات بالا رو انجام بدید؟

لطفا بیشتر توضیح  بدید....

برای نمایش نتایج دستور SELECT بهتره از LISTVIEW استفاده بفرمایید.
دارای دیدگاه آذر 3, 1394 توسط android  
بله دقیقا

میخوام با دیتابیس تعامل داشته باشم

1 پاسخ

0 امتیاز
پاسخ داده شده آذر 3, 1394 توسط ASHKARAN  
انتخاب شده آذر 4, 1394 توسط ASHKARAN
 
بهترین پاسخ

با عرض سلام

بنده در اکثر پروژه های خود  از کلاس زیر استفاده می کنم......

package classes;

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;

import org.json.JSONObject;

 
import ali.ASHKARAN.HOTO.MainActivity;
import android.database.sqlite.SQLiteDatabase;

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.SQLiteDatabase.CursorFactory;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
import android.widget.Toast;

public class dbConnector extends SQLiteOpenHelper {

	private static final int DATABASE_VERSION = 1;
	private static final String DATABASE_NAME = "HOTO.db";
	 
	SQLiteDatabase db;
	Context context ;
	
	 
	
	public dbConnector(Context context, String name, 
			CursorFactory factory, int version) {
		
		super(context, DATABASE_NAME, factory, DATABASE_VERSION);
		
		this.context = context;
		this.createTables();
		 
		}
	
	@Override
	public void onCreate(SQLiteDatabase arg0) {

 
		Log.e("HOTO", "creating tables");

	}

	@Override
	public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
		// TODO Auto-generated method stub

	}
	
	
	public void createTables()
	{
		Log.e(DATABASE_NAME, "creating tables");
		
		String mytable           			  			 = ""; 
		
		mytable = 
				"CREATE TABLE IF NOT EXISTS mytable(" +
				"id                       INTEGER   PRIMARY KEY," +
				"fname                    VARCHAR              ," +
				"lname                    VARCHAR              ," +
				"password                 VARCHAR              ," +
				"address                  VARCHAR              ," +
				"tell                     VARCHAR              ," +
				"somethingelse            VARCHAR              ," +  
				"registrationdate         DATE                );";   
		 
		
	 
		
		 
		this.exec(mytable); 
		 
 
		
	}
	
	 
	
	public Cursor read(String query)
	{
		 Cursor c = null;
		try {
			 c = db.rawQuery(query, null);
		} catch (Exception e) {
			//Toast.makeText(context, e.toString(), Toast.LENGTH_LONG).show();
			Log.e(DATABASE_NAME , e.toString());
		}
		 
		 return c;
		
	}
	
	public Boolean exec(String query) 
	{  
		try {
			this.db = this.getWritableDatabase();
			this.db.execSQL(query);
			//Log.e(DATABASE_NAME , "SQL query successfully executed");
		
		} catch (SQLException e) {

			
			Log.e(DATABASE_NAME , "SQL error accurred saving into error.txt");
			
			FileWriter fr;
			try {
				fr = new FileWriter("/sdcard/error.txt");
				BufferedWriter bw = new BufferedWriter(fr);
				bw.write(e.toString());
				bw.close();
			} catch (IOException e1) {
				// TODO Auto-generated catch block
				e1.printStackTrace();
			}
			return false;

		}
		
		 
		return true;
		
		
		
		
	}
	
	
	public Boolean insert(String table , ContentValues values)
	{
		try {
			this.db = this.getWritableDatabase();
			this.db.insert(table, null, values);
			//Log.e(DATABASE_NAME , "SQL query data inserted");
		
		} catch (SQLException e) {

			 Log.e("INSERT_SQL_ERROR" , e.toString());
			return false;

		}
		
		return true;
	}
	
	
	public String getSpecialColumn(String column , String query)
	{
	   Cursor c = null;
	   String result = "";
	   try {
		     c = db.rawQuery(query, null);
		     
			  if(c.getCount() == 1)
			   {
			 	  c.moveToLast();
			   	  result = c.getString(c.getColumnIndex(column)); 
		 	   }
		} catch (Exception e) {
			Toast.makeText(context, "dbConnector line 200 \n"+e.toString(), 2000).show();
		}
		
		
		 
		 return result;
	}
	
	public Boolean exists(String query)
	{
		Cursor c = null;
		    
		   try {
			     c = db.rawQuery(query, null);
			     if(c == null)
			     {
			    		//Toast.makeText(context, "c is null", 2000).show();
			    		return false;
						
			     }
				  if(c.getCount() > 0)
				   {
				 	  return true;
			 	   }
			} catch (Exception e) {
				//Toast.makeText(context, "dbConnector line 185 \n"+e.toString(), 2000).show();
				Log.e(DATABASE_NAME , e.toString());
			}
			
		
			 
			 return false;
	}
	
	  

} 

البته این کلاس خیلی قدیمی بوده و می توان آن را بهینه سازی کرد.....

ولی کارایی بالا و کاربری آسانی دارد.....

بسیار ساده می توانید دستورات SQLITE  را به کمک این کلاس اجرا کنید

دارای دیدگاه آذر 4, 1394 توسط android  
ممنونم از شما استاد

971 سوال

817 پاسخ

1,318 دیدگاه

1,270 کاربر

متاسفانه نیستم

این مطلب را به اشتراک بگذارید

ali.ashkaran@gmail
ما .....
  • سعی بر پاسخگویی به سوالات دیگران داریم.
  • به سوال و یا نظر دیگران احترام می گذاریم .
  • این وبسایت را به دیگران معرفی می کنیم.
  • همواره صمیمیت و ادب را رعایت می کنیم.
  • به سوالمان برچسب های مرتبط اضافه می کنیم.
  • در حین طرح سوال فرد خاصی را مخاطب قرار نمی دهیم .
...