parniaznet
جمعه 21 فروردین 1394, 23:23 عصر
سلام
من خیلی در این مورد بین سایت های خارجی گشتم اما هیچ کدوم از پروژه ها روی گوشی من کار نمیکرد و موقعیت نمیداد
مثل این پروژه ها :
http://www.androidhive.info/2012/07/android-gps-location-manager-tutorial/
http://androidexample.com/GPS_Basic__-__Android_Example/index.php?view=article_discription&aid=68&aaid=93
http://www.vogella.com/tutorials/AndroidLocationAPI/article.html
کسی رو این زمینه کار کرده؟ یه نمونه پروژه ای که داخل ایران و روی همه گوشی ها کار کنه اگه دارید بزارید ممنون میشم.
ali_khodayar
شنبه 22 فروردین 1394, 09:06 صبح
این کد دریافت اطلاعات از gps.(هرچند قانون اینجا رفع اشکاله و نه قرار دادن کد کامل اما من کد رو گذاشتم.)
شما خودتون ظاهرش رو از روی کد طراحی کنید.
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.location.Criteria;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.provider.Settings;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
import android.widget.Toast;
import android.widget.EditText;
public class MainActivity extends Activity {
private TextView latitude;
private TextView longitude;
private TextView choice;
private CheckBox fineAcc;
private Button choose;
private Button saveDB;
private TextView provText;
private LocationManager locationManager;
private String provider;
private MyLocationListener mylistener;
private Criteria criteria;
private Button showInfo;
private EditText showLat;
private EditText showLong;
private EditText myLocation;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
latitude = (TextView) findViewById(R.id.lat);
longitude = (TextView) findViewById(R.id.lon);
provText = (TextView) findViewById(R.id.prov);
choice = (TextView) findViewById(R.id.choice);
fineAcc = (CheckBox) findViewById(R.id.fineAccuracy);
choose = (Button) findViewById(R.id.chooseRadio);
saveDB=(Button)findViewById(R.id.SaveDB);
showInfo=(Button)findViewById(R.id.showInfo);
showLat=(EditText) findViewById(R.id.showLat);
showLong=(EditText)findViewById(R.id.showLong);
myLocation=(EditText)findViewById(R.id.Mylocation) ;
// Get the location manager
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// Define the criteria how to select the location provider
criteria = new Criteria();
criteria.setAccuracy(Criteria.ACCURACY_COARSE); //default
// user defines the criteria
choose.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(fineAcc.isChecked()){
criteria.setAccuracy(Criteria.ACCURACY_FINE);
choice.setText("fine accuracy selected");
}else {
criteria.setAccuracy(Criteria.ACCURACY_COARSE);
choice.setText("coarse accuracy selected");
}
}
});
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Save To DB &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
saveDB.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase database = openOrCreateDatabase("GPSDB", MODE_PRIVATE, null);
database.execSQL("create table if not exists myGPS (latitude varchar(20) , longtitude varchar(20), location varchar(50))");
database.execSQL("insert into mygps values ('"+latitude.getText() +"','"+ longitude.getText() +"','"+ myLocation.getText()+"') " );
database.close();
Toast.makeText(getApplicationContext(),"data Inserted",Toast.LENGTH_LONG).show();
myLocation.setText("");
}
});
//&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& Show Info &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
showInfo.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
SQLiteDatabase database = openOrCreateDatabase("GPSDB", MODE_PRIVATE, null);
Cursor cursor= database.rawQuery(" select * from myGPS ;", null);
while(cursor.moveToNext()){
String a=cursor.getString(cursor.getColumnIndex("latitude"));
String b=cursor.getString(cursor.getColumnIndex("longtitude"));
String c=cursor.getString(cursor.getColumnIndex("location"));
showLat.setText(a);
showLong.setText(b);
myLocation.setText(c);
database.close();
}
}
});
criteria.setCostAllowed(false);
// get the best provider depending on the criteria
provider = locationManager.getBestProvider(criteria, false);
// the last known location of this provider
Location location = locationManager.getLastKnownLocation(provider);
mylistener = new MyLocationListener();
if (location != null) {
mylistener.onLocationChanged(location);
} else {
// leads to the settings because there is no last known location
Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(intent);
}
// location updates: at least 1 meter and 200millsecs change
locationManager.requestLocationUpdates(provider, 200, 1, mylistener);
}
private class MyLocationListener implements LocationListener {
@Override
public void onLocationChanged(Location location) {
// Initialize the location fields
latitude.setText("Latitude: "+String.valueOf(location.getLatitude()));
longitude.setText("Longitude: "+String.valueOf(location.getLongitude()));
provText.setText(provider + " provider has been selected.");
Toast.makeText(MainActivity.this, "Location changed!",
Toast.LENGTH_SHORT).show();
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
Toast.makeText(MainActivity.this, provider + "'s status changed to "+status +"!",
Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderEnabled(String provider) {
Toast.makeText(MainActivity.this, "Provider " + provider + " enabled!",
Toast.LENGTH_SHORT).show();
}
@Override
public void onProviderDisabled(String provider) {
Toast.makeText(MainActivity.this, "Provider " + provider + " disabled!",
Toast.LENGTH_SHORT).show();
}
}
}
یکسری کد هم داره برای ذخیره در بانک که شما میتونید این کد ها رو نادیده بگیرید.
parniaznet
شنبه 22 فروردین 1394, 12:35 عصر
ممنون دوست عزیز اما اینی که گذاشتید لایوتش خیلی ایتم های زیادی داه من دقیقا متوجه نشدم میشه یه آموزش بزارید که بقیه هم بتونن استفاده کنند؟
skkhossein
یک شنبه 23 فروردین 1394, 02:54 صبح
یه فیلم آموزشی در همین رابطه از دوست خوبمون پوریا انجمنی هست از سایت nikandroid
فصل پنجم
موفق باشید
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.