رفتن به مطلب
انجمن اندروید ایران | آموزش برنامه نویسی اندروید و موبایل
  • android.png.1fab383bc8500cd93127cebc65b1dcab.png

کار با فایلی که دارای lat و lng


پست های پیشنهاد شده

با سلام

 

من یه فایل دارم حدود 10000 رکورد داره و هر رکورد شمال ده تا متغیر از جمله lat,lng،سرعت خوردرو و.... که میخوام تو برنامه از این متغیرها استفاده کنم میخواستم بدونم باید چیکار کنم؟

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 23 ساعت قبل، Farzad Sarseifi گفته است :

هدفتون از استفاده از این دیتابیس چی هستش که بتونیم بهتون راهکار ارائه بدیهم

چون پروژم دیتا بیس نداره می خوام داخلش از دیتابیس استفاده کنم!

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

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 45 دقیقه قبل، sajjad75_75 گفته است :

چون پروژم دیتا بیس نداره می خوام داخلش از دیتابیس استفاده کنم!

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

 

سلام...

اگر دیتابیس رو در اپ نمیسازید باید در پوشه assets یه پوشه جدید تحت عنوان database ایجاد کنید بعد فایل دیتابیس رو (که پسوند .db داره) به اونجا انتقال بدید، حالا با کتابخانه زیر از دیتابیس استفاده کنید:

https://github.com/jgilfelt/android-sqlite-asset-helper

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در در 1397/05/24, 11:16:57، شاهرخ جهان زاده گفته است :

سلام...

اگر دیتابیس رو در اپ نمیسازید باید در پوشه assets یه پوشه جدید تحت عنوان database ایجاد کنید بعد فایل دیتابیس رو (که پسوند .db داره) به اونجا انتقال بدید، حالا با کتابخانه زیر از دیتابیس استفاده کنید:

https://github.com/jgilfelt/android-sqlite-asset-helper

من الان اطلاعاتم رو داخل دیتابیس sql اماده کردم ،ولی فایل با پسوند .db پیدا نکردم با پسوند .mdf هستش !

لطفا راهنمایی بفرمائید

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 2 ساعت قبل، sajjad75_75 گفته است :

من الان اطلاعاتم رو داخل دیتابیس sql اماده کردم ،ولی فایل با پسوند .db پیدا نکردم با پسوند .mdf هستش !

لطفا راهنمایی بفرمائید

من تا الان با پسوند .mdf کار نکردم ولی یه سرچ زدم برای تبدیل فرمت به db که به سایت زیر برخوردم:

https://www.rebasedata.com/convert-mdf-to-mysql-online

فایل رو اینجا تبدیل کنید به .sql بعد با نرم افزاری مثل DB browser for sqlite اون رو باز کنید با پسوند .db خروجی بگیرید ببینید جواب میده یا نه...

اگر جواب داد اطلاع بدید تا مابقی مراحل رو با هم بررسی کنیم...

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 18 ساعت قبل، شاهرخ جهان زاده گفته است :

من تا الان با پسوند .mdf کار نکردم ولی یه سرچ زدم برای تبدیل فرمت به db که به سایت زیر برخوردم:

https://www.rebasedata.com/convert-mdf-to-mysql-online

فایل رو اینجا تبدیل کنید به .sql بعد با نرم افزاری مثل DB browser for sqlite اون رو باز کنید با پسوند .db خروجی بگیرید ببینید جواب میده یا نه...

اگر جواب داد اطلاع بدید تا مابقی مراحل رو با هم بررسی کنیم...

تبدیل به .db کردم وداخل پوشه assets در پروژه قرار دادم،چه طور میتونم با متغیرهای داخلش دسترسی پیدا کنم؟

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در 21 ساعت قبل، sajjad75_75 گفته است :

تبدیل به .db کردم وداخل پوشه assets در پروژه قرار دادم،چه طور میتونم با متغیرهای داخلش دسترسی پیدا کنم؟

 

بسیار عالی، حالا ابتدا کتابخانه رو به gradle اضافه و بعد sync کنید:

compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'

یه کلاس بسازی مثلا به اسم MyDatabase و کدهای زیر رو متناسب با دیتابیس در اون بنویسید:

import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteQueryBuilder;

import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;

public class MyDatabase extends SQLiteAssetHelper {

	private static final String DATABASE_NAME = "mydatabase.db";
	private static final int DATABASE_VERSION = 1;
	
	public MyDatabase(Context context) {
		super(context, DATABASE_NAME, null, DATABASE_VERSION);
	}

	public Cursor getLatLng() {

		SQLiteDatabase db = getReadableDatabase();
		SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

		String [] sqlSelect = {"_id", "latitude", "longitude"}; //اسم آیتمها
		String sqlTables = "Markers"; // اسم table

		qb.setTables(sqlTables);
		Cursor c = qb.query(db, sqlSelect, null, null,
				null, null, null);

		c.moveToFirst();
		return c;
	}
}

در activity هم میتونید به روش زیر عمل کنید:

//معرفي آبجکتها به صورت گلوبال
private MyDatabase myDatabase;

//در بخش onCreate
myDatabase = new MyDatabase(context);
readMarkers();

/*
کلاس
readMarkers
رو هم ميتونيد به اين شکل بسازيد
*/
public void readMarkers(){
	Cursor markerCursor = myDatabase.getLatLng();
	int location = markerCursor.getCount();
	if (location == 0){
	//يعني چيزي موجود نيست 
	}
	else if (location > 0){
	for (int i = 0; i < location; i++){
		String readLat = markerCursor.getString(markerCursor.getColumnIndex("latitude"));
        String readLng = markerCursor.getString(markerCursor.getColumnIndex("longitude"));
        googleMap.addMarker(new MarkerOptions().position(new LatLng(Double.parseDouble(readLat),
        	Double.parseDouble(readLng))).title("My Markers"));
		}
	}
}

کدها رو تست نکردم فقط همینجا نوشتمشون، امیدوارم جواب بده...

ولی شکل کلی به همینجوری هست...

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در در 1397/05/29, 08:55:25، شاهرخ جهان زاده گفته است :

بسیار عالی، حالا ابتدا کتابخانه رو به gradle اضافه و بعد sync کنید:


compile 'com.readystatesoftware.sqliteasset:sqliteassethelper:+'

یه کلاس بسازی مثلا به اسم MyDatabase و کدهای زیر رو متناسب با دیتابیس در اون بنویسید:


import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteQueryBuilder;

import com.readystatesoftware.sqliteasset.SQLiteAssetHelper;

public class MyDatabase extends SQLiteAssetHelper {

	private static final String DATABASE_NAME = "mydatabase.db";
	private static final int DATABASE_VERSION = 1;
	
	public MyDatabase(Context context) {
		super(context, DATABASE_NAME, null, DATABASE_VERSION);
	}

	public Cursor getLatLng() {

		SQLiteDatabase db = getReadableDatabase();
		SQLiteQueryBuilder qb = new SQLiteQueryBuilder();

		String [] sqlSelect = {"_id", "latitude", "longitude"}; //اسم آیتمها
		String sqlTables = "Markers"; // اسم table

		qb.setTables(sqlTables);
		Cursor c = qb.query(db, sqlSelect, null, null,
				null, null, null);

		c.moveToFirst();
		return c;
	}
}

در activity هم میتونید به روش زیر عمل کنید:


//معرفي آبجکتها به صورت گلوبال
private MyDatabase myDatabase;

//در بخش onCreate
myDatabase = new MyDatabase(context);
readMarkers();

/*
کلاس
readMarkers
رو هم ميتونيد به اين شکل بسازيد
*/
public void readMarkers(){
	Cursor markerCursor = myDatabase.getLatLng();
	int location = markerCursor.getCount();
	if (location == 0){
	//يعني چيزي موجود نيست 
	}
	else if (location > 0){
	for (int i = 0; i < location; i++){
		String readLat = markerCursor.getString(markerCursor.getColumnIndex("latitude"));
        String readLng = markerCursor.getString(markerCursor.getColumnIndex("longitude"));
        googleMap.addMarker(new MarkerOptions().position(new LatLng(Double.parseDouble(readLat),
        	Double.parseDouble(readLng))).title("My Markers"));
		}
	}
}

کدها رو تست نکردم فقط همینجا نوشتمشون، امیدوارم جواب بده...

ولی شکل کلی به همینجوری هست...

این تصاویر رو از ارورر ها گرفتم برنامه اجرا نمیشه لطفا راهنمایی بفرمائید اشکال کجاست؟1.thumb.png.7d0e92f158c45721e25745524738acde.png2.thumb.png.c433896e60767f2bae0e5440cd5c1a12.png3.thumb.png.343737a30178fee0984e69111ed53d9a.png

لینک ارسال
به اشتراک گذاری در سایت های دیگر
در در 1397/06/04, 17:06:04، sajjad75_75 گفته است :

این تصاویر رو از ارورر ها گرفتم برنامه اجرا نمیشه لطفا راهنمایی بفرمائید اشکال کجاست؟1.thumb.png.7d0e92f158c45721e25745524738acde.png2.thumb.png.c433896e60767f2bae0e5440cd5c1a12.png3.thumb.png.343737a30178fee0984e69111ed53d9a.png

یه پوشه داخل assets به اسم database بسازید و فایل دیتابیس رو اونجا قرار بدید و ببینید مشکل برطرف میشه یا نه...

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

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...