آموزش دیتابیس SQLite در اندروید

SQLite یک مقر داده ی opensource برای SQL  میباشد طراحی اپلیکیشن در مشهد که داده ها را برای یک فولدر متن (text file) روی یک دستگاه ذخیره می نماید. اندروید با اجرای مقر داده ی SQLite داخلی (built in SQLite database)  وارد میگردد.

SQLite همگی ی خصوصیت های ارتباطی مقر داده را امان می نماید. برای استخراج بدین مقر داده ، نیاز وجود ندارد هیچگونه اتصالی از قبیل JDBC ، ODBC و غیره برای آن برقرار فرمائید.

مقر داده – Package

مهمترین پکیج android.database.sqlite  میباشد رایاپارس که مشمول کلاس هایی برای سازماندهی مقر داده ی شما می‌گردد.

مقر داده – Creation (ساخت‌و‌ساز)

برای ساخت و ساز مقر داده کافیست مشی openOrCreateDatabase را با اسم مقر داده و mode پارامتر، فرا بخوانید. این روال یک مثال از مقر داده ی SQLite  را گزارش میدهد که بایستی آن را در آبجکت خودتان اخذ نمایید. سینتکس آن مانند تحت است :

SQLiteDatabase mydatabase = openOrCreateDatabase(\"your database name\",MODE_PRIVATE,null);

خلال این ، تابع های دیگری در پکیج مقر داده وجود دارا‌هستند که‌این عمل را اجرا میدهند. لیست آن‌ها در پایین ارائه گردیده اند :

openDatabase(String path, SQLiteDatabase.CursorFactory factory, int flags, DatabaseErrorHandler errorHandler)

این روال مقر داده ی مو جود را با flag mode مطلوب گشوده می نماید. flag mode های متداول میتوانند OPEN_READWRITE OPEN_READONLY  باشند.

(openDatabase(String path, SQLiteDatabase.CursorFactory factory, int flags 

این سیاق در مورد گشودن مقر داده ی جان دار مشابه به اسلوب بالاست، البته هیچ پژوهش کننده ای را برای رسیدگی خطاهای مرتبط با مقر داده معرفی نمی نماید.

openOrCreateDatabase(String path, SQLiteDatabase.CursorFactory factory)

این روال خیر صرفا مقر داده را گشوده می نماید، بلکه در‌حالتی که مقر داده ای وجود نداشته باشد، ساخت می نماید. این اسلوب هم اندازه روال openDatabase  میباشد.

openOrCreateDatabase(File file, SQLiteDatabase.CursorFactory factory)

این اسلوب مشابه به روال بالا است البته پوشه آبجکت را تحت عنوان یک مسیر می‌گیرد و خیر تحت عنوان یک string . این روال متساوی مشی file.getPath()  است.


استفاده از Wifi در اندروید

اندروید به اپلیکیشن ها اذن می‌دهد تا حالت دسترسی به اتصالات بی سیم را حتی به طور داده ها ناپخته مشاهده نمایند. پس اپ میتواند نسبتاًً به کل داده ها اتصال وای فای دسترسی داشته باشد. طراحی اپلیکیشن در مشهد اطلاعاتی که یک نرم افزار قادر است به آن‌ها دسترسی داشته باشد مشتمل بر سرعت اتصال به کانال، نشانی آی پی، موقعیت اتصال و بقیه داده ها کانال میباشد. نرم افزار ها همینطور می‌توانند اتصالات وای فای را نسخه برداری، اضافه، ذخیره و انقطاع یا این که وصل نمایند. اندروید کلاسWifiManager  را تحت عنوان رابطی برای رئیس همگی جنبه های اتصال وای فای مهیا می نماید. ما خواهیم توانست با فراخوانی اسلوب getSystemService بدین کلاس دسترسی پیدا کنیم. رایاپارس طریق اینکار را در تحت میبینید:

WifiManager mainWifiObj;

mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);

برای نسخه برداری لیست کانال های بی سیم ، می بایست BroadcastReceiver خویش را نیز تصویب نمائید. با به کارگیری از روال RegisterReceiver با آرگومانی از شی کلاس گیرنده می قدرت آن را تصویب کرد به طور تحت:

class WifiScanReceiver extends BroadcastReceiver {

public void onReceive(Context c, Intent intent) {

}

}

WifiScanReceiver wifiReciever = new WifiScanReceiver();

registerReceiver(wifiReciever, new IntentFilter(WifiManager.SCAN_RESULTS_AVAILABLE_ACTION));

با فراخوانی سیاق startScan از کلاس WifiManager می اقتدار نسخه برداری وای فای را آغاز کرد. این اسلوب لیستی از شی ءها ScanResult را برمی گرداند. با فراخوانی اسلوب get از لیست میتوانید به هر شیئی دسترسی پیدا نمائید. طریق ایفا این فعالیت در تحت بیان شده میباشد:

WifiManager mainWifiObj = (WifiManager) getSystemService(Context.WIFI_SERVICE);

List wifiScanList = mainWifiObj.getScanResults();

String data = wifiScanList.get(0).toString();


حروف بزرگ اولین پاراگراف

تمامی ی خواننده ها حروف گران قدر اولیه گزاره را دوست دارا هستند. آن حروف درشت یادآور کتاب های چاپ گردیده ی سنتی می‌باشند و یک خط مش بهتر برای آغاز یک شیت ی محتوا می‌باشند. او‌لین کلام گران قدر در نوشته، مسلماً دقت شمارا جلب خواهد کرد. یک رویکرد سهل وآسان برای ساخت‌و‌ساز حروف درشت اولی کلمه و واژه جمله در CSS وجود دارااست و با امداد این امر ایفا می‌گردد: :first letter .

از جمله:

این فرمان کلام را 3 موازی سایز حروف دیگر می نماید.  طراحی اپلیکیشن در مشهد این امر 3 پیکسل به دور صحبت مسافت می اندازد تا هیچ سیرتکامل تداخلی تولید نشود و رنگ سخن را قرمز‌رنگ می نماید.

18. اکران نوشته ها به طور به طور کاملً حروف بلندمرتبه، کاملاً حروف خرد یا این که صرفا تبارک تایپ کردن سخن نخستین کلمه ها

فعالیت بیهوده ای میباشد که یک قسمت بی نقص را با حروف تعالی بنویسید. رایاپارس فکر کنید وقتی که فرمت تارنما تغییر میکند یا این که آپ دیت رسانی میشود، موظف میباشید آحاد متن را اصلاح نمائید. در قبال، از تکنیک CSS ذیل به کارگیری نمایید تا متن را به فرمت خاص تبدیل فرمایید. مقصود این فرمان css تگ h2می باشد.

h2 { text-transform: uppercase; } – all caps

h2 { text-transform: lowercase; } – all lowercase

h2 { text-transform: capitalize; } – capitalizes the 1st letter of each word.

19. طول عمودی کاغذ

برخی اوقات سوای اعتنا به سایز شیت اکران، می‌خواهید یک قسمت، آحاد شیت اکران را لبریز نماید. میتوانید این فعالیت را با فرمان vh یا این که طول اکران در اختیار گرفتن نمائید. عدد پیش از vh یک درصد میباشد، براین اساس چنانچه میخواهید آن متن 100% مرورگر شمارا پوشش دهد، می بایست آن را 100 تهیه و تنظیم نمائید. شاید عالی باشد مقدار را 85% قرار دهید تا بر پایه ی با یک منو اثبات باشد.

 

موضوعی که می بایست به آن مداقه دهید، کدهای مرتبط با فیلم ها برای ورقه اکران های خاص یا این که چرخش ها (مانند موبایل ها در شرایط چرخش) میباشد. به عنوان مثالً در حالتی‌که تصویر یک چشم انداز را بکشید تا بر پایه ی با شرایط چرخش باشد؛ حتماً عالی به لحاظ نخواهد رسید.


متد های GET و POST در PHP

بعداز تولید مقر داده mysql نیز ، همچنان PHP برای واکشی رکورد از آن به کار گیری می گردد.  طراحی اپلیکیشن در مشهد برای واکشی رکورد ، بعضا از داده ها بایستی درباره‌ی اینکه چه رکوردی از مقر داده ما یحتاج میباشد به کاغذ PHP منتقل گردد.

اولی شیوه برای جابجایی داده ها از روش نحوه GET میباشد. رایاپارس در کد PHP متغیر های ارسال گردیده با این طرز در آرایه GET_$ اخذ میشوند. در‌این طریق متغیرها در url انتقال می یابد و PHP بعداز اخذ متغیر ها در شکل ضرورت  رکورد ها را واکشی می نماید. طریق ایفا این شغل در تحت اورده شده میباشد:

$con=mysqli_connect(\"example.com\",\"username\",\"password\",\"database name\");

if (mysqli_connect_errno($con)) {

echo \"Failed to connect to MySQL: \" . mysqli_connect_error();

}

$username = $_GET[\"username\"];

$password = $_GET[\"password\"];

$result = mysqli_query($con,\"SELECT Role FROM table1 where Username=\"$username\"

and Password=\"$password\"\");

$row = mysqli_fetch_array($result);

$data = $row[0];

if($data){

echo $data;

}

mysqli_close($con);

?>

طرز دوم استعمال از روال POST میباشد. برای به کار گیری از طریق POST فقط تغییر‌و تحول موردنیاز در اسکریپت فوق جایگزینی GET_$ با POST_$ میباشد. در طریق POST ، متغیرها از روش URL منتقل نمیشوند (متغیرها در بدنه (body) درخواست (request) ارسال می‌شوند).

اتصال اندروید به PHP

اتصال با نحوه GET

اندروید برای اتصال به مقر داده MYSQL از روش کاغذ PHP ، میتواند از دو طرز متفاوت استعمال نماید. اولین طرز GET اسم داراست. برای اتصال با استعمال از طریق GET از کلاس HttpGet و HttpClient به کار گیری خوا هیم کرد. طرز اجرا آن در پایین اورده شده میباشد:

URL url = new URL(link);

HttpClient client = new DefaultHttpClient();

HttpGet request = new HttpGet();

request.setURI(new URI(link));

بعداز آن ، بایستی مشی execute از کلاس HttpClient را فراخوانی کرده و فیض آن را در یک شی HttpResponse اخذ فرمائید. بعد از آن جهت کسب اطلاعات ، بایستی از stream به کارگیری فرمائید.

HttpResponse response = client.execute(request);

BufferedReader in = new BufferedReader

(new InputStreamReader(response.getEntity().getContent()));

اتصال با طرز POST

در شیوه POST ، از کلاس URLEncoder و URLConnection به کار گیری می‌کنیم. کلاس URLEncoder داده ها متغیرهای عبوری را کد می نماید. طرز اعمال آن در ذیل نقل شده میباشد:

URL url = new URL(link);

String data = URLEncoder.encode(\"username\", \"UTF-8\")

+ \"=\" + URLEncoder.encode(username, \"UTF-8\");

data += \"&\" + URLEncoder.encode(\"password\", \"UTF-8\")

+ \"=\" + URLEncoder.encode(password, \"UTF-8\");

URLConnection conn = url.openConnection();

واپسین کاری که می بایست جاری ساختن دهید تایپ کردن این اطلاعات در اتصال میباشد. بعداز تایپ کردن ، برای اخذ داده های جواب بایستی از stream به کار گیری نمائید.

OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());

wr.write( data );

BufferedReader reader = new BufferedReader(new

InputStreamReader(conn.getInputStream()));


برخی دیگر از قابلیت های JSONB در پایگاه داده PostgreSQL

نکته دیگری که درباره به کارگیری از JSONB در مقر داده PostgreSQL وجود داراست این میباشد که برای بعضی از اشکال رکوردها تعداد متعددی از مشخصات( مانند رنگ، بها در واحد و اندازه) ممکن میباشد نیاز به ذخیره شدن داشته باشند طراحی اپلیکیشن در مشهد و این در حالی میباشد که بعضی دیگر ممکن میباشد نیازی به ذخیره شدن نداشته باشند( مانند تاریخ ساخت‌و‌ساز، وزن و ...). به این ترتیب در حالتی که شما فقط از جدول ها استعمال می‌کنید و مستلزم اضافه کردن خصوصیت های بیشتری می باشید می بایست ساختار داده های خویش را تغییر تحول دهید و مشخص و معلوم نمائید که کدام مشخصات اجباری میباشند. خلال این شما می بایست معین فرمایید که آیا رکوردهای کهن نیازهای تازه را برآورده می نمایند رایاپارس یا این که نه و به صورت بالقوه آنها‌را بر این مبنا اصلاح فرمائید. اعتنا داشته باشید که JSONB و مقر داده PostgreSQL انعطاف پذیری را در تعریف و تمجید شِمای داده برای شما آماده می نماید و به پیشرفت دهندگان اذن می‌دهد تا اپ ها و نرم افزار های خویش را سریع خیس ساخت کرده و آن‌ها را عالی با نیازهای مشتری خویش تطبیق دهند.

نکاتی اصلی درباره JSONB

از آنجایی که JSONB در مقر داده PostgreSQL اطلاعات را در پوسته باینری ذخیره می نماید کوئری های جان دار به صورت قابل توجهی با سرعت بیشتری پردازش میگردند. ذخیره اطلاعات به طور باینری به‌این مقر داده اذن میدهد تا فارغ از تلاوت تک تک رکورد جیسون به یک جفت کلید-مقدار خاص دسترسی پیدا نماید. این مورد نیز میتواند به ترازو متعددی روی افزایش عملکرد تاثیرگذار باشد.

حمایت از قابلیت و امکان ایندکس کردن مشخصات سبب دسترسی سریع خیس به جفت های کلید-مقدار جیسون می‌گردد که سبب ساز برآورده شدن معیارهای خاصی درین مقر داده شود. مقر داده PostgreSQL فعلا داده ها بیشتری درباره داده های درون رکوردهای JSONB داراست و همین دلیل نیز سبب ساز میگردد تا فقط جفت های کلید-مقدار ما یحتاج برای ایفا کوئری ها در مقر داده PostgreSQL را تعیین نماید.

کاربردهای این مقر داده در Fintech

نرم افزار های Fintech دائما در هم اکنون بسط می‌باشند. به صورت معمول گروه های توسعه و گسترش دهنده متعدد می بایست بتوانند خصوصیت های نو را اضافه کرده و هم‌زمان ورژن هایی را منتشر نمایند. JSONB در مقر داده PostgreSQL قادر است انعطاف پذیری مایحتاج برای تغییر تحول ساختار اطلاعات در‌این موقعیت را مهیا نماید. یکی‌از ارائه دهندگان خدمت های Fintech از JSONB تحت عنوان یک پوسته یک دست به کارگیری می نماید که قابلیت و امکان جابجایی داده ها فی مابین سیستم های فرانت اند و بک اند و همچنین مقر داده های ارتباط ای را آماده می نماید. به لطف استعمال از JSONB ساختار داده استوار تخصیص داده گردیده در درون مقر داده را می شود به طور یکدست تغییر تحول یا این که توسعه و گسترش اعطا کرد.