PDA

View Full Version : کار با gps



hamid_hr
شنبه 07 مرداد 1391, 09:50 صبح
سلام برا کار با gps راهنماییم کنین لطفا

hamid_hr
پنج شنبه 12 مرداد 1391, 12:39 عصر
اقاییون نزدیک به 80 نفر این تایپیکو خوندن کسی نیست راهنمایی کنه

من با eclipse برنامه نویسی اندروید میکنم ولی هر کار کردم نتونستم با gps کار کنم
خطا میده
اگه ممکنه کمک کنید که لازم دارم :ناراحت:

powerboy2988
پنج شنبه 12 مرداد 1391, 13:32 عصر
سلام...


چه خطایی؟؟؟

hamid_hr
پنج شنبه 12 مرداد 1391, 14:12 عصر
سلام
ممنون از توجهتون

ایو کدا رو نوشتم



private LocationManager lm;
.
.
.
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROV IDER, 500, 1, (LocationListener) this);



ولی رو خط اخر تا میخواد شی بسازه از برنامه میندازه بیرون
البته چند تا رویداد دیگه هم داره که اگه لازمه بزارمش
این کدا رو از چند تا سایت خارجی گرفتم

hamid_hr
چهارشنبه 18 مرداد 1391, 09:38 صبح
سلام ...
تو این یک هفته کسی نتونست جواب ما رو بده البته شاید سوال من درست نبوده.


package GPS.hamid.Pack;

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.TextView;

public class GPSActivity extends Activity {

private LocationManager lm;
private TextView tv;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

tv = (TextView) findViewById(R.id.textView1);
lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
lm.requestLocationUpdates(LocationManager.GPS_PROV IDER, 500, 1, (LocationListener) this);

}

public void onLocationChanged(Location arg0) {
String lat = String.valueOf(arg0.getLatitude());
String lon = String.valueOf(arg0.getLongitude());
Log.e("GPS", "location changed: lat="+lat+", lon="+lon);
tv.setText("lat="+lat+", lon="+lon);
}
public void onProviderDisabled(String arg0) {
Log.e("GPS", "provider disabled " + arg0);
}
public void onProviderEnabled(String arg0) {
Log.e("GPS", "provider enabled " + arg0);
}
public void onStatusChanged(String arg0, int arg1, Bundle arg2) {
Log.e("GPS", "status changed to " + arg0 + " [" + arg1 + "]");
}
}






اینم permission که داشتم




<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES" />
<uses-permission android:name="android.permission.INTERNET" />




البته اینو از اینترنت پیداش کردم ولی خطا میده.

کمک م کنید لطفا :افسرده::ناراحت:

hamid_hr
پنج شنبه 19 مرداد 1391, 11:03 صبح
آقایون نمی دونم کسی بلد نبود یا نمی خواست کمک کنه ولی بالاخره شد


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





import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationListener;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

public class GPSActivity extends Activity {

private EditText txt;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txt=(EditText)findViewById(R.id.editText1);

try{
LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION _SERVICE);

final boolean gpsEnabled = locationManager.isProviderEnabled(LocationManager. GPS_PROVIDER);

if (gpsEnabled) {
//request for location updates
LocationListener locationListener = new MyLocationListener();

locationManager.requestLocationUpdates( LocationManager.GPS_PROVIDER, 10000, 0, locationListener);

Location myLocation;

myLocation = locationManager.getLastKnownLocation(LocationManag er.GPS_PROVIDER);

if(myLocation != null)
{


//we have a location!!
}

}
}
catch(Exception e)
{

Toast.makeText(this, e.getMessage().toString(), 500);
}
}


public class MyLocationListener implements LocationListener
{

public void onLocationChanged(Location location) {
TextView tv=(TextView)findViewById(R.id.textView1);
tv.setText(location.getLatitude()+ " ; " + location.getLongitude());
// TODO get accuracy, direction and speed.

}

public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub

}

public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub

}

public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub

}
}
}




اینم کد xml برنامه




<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TextView
android:id="@+id/TextView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Waiting for location information..." />




<TextView
android:id="@+id/textView1"
android:layout_width="264dp"
android:layout_height="wrap_content"
android:text="Small Text"
android:textAppearance="?android:attr/textAppearanceSmall" />

<EditText
android:id="@+id/editText1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >

<requestFocus />
</EditText>

</LinearLayout>







اینم اجازه دسترسی ها که باید در manifest گذاشته بشه






<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.CONTROL_LOCATION_UPDATES" />
<uses-permission android:name="android.permission.INTERNET" />





ولی چه تایپیک باحالی فقط خودم شرکت کردم ......

کاظم فلاحی خواه
پنج شنبه 19 مرداد 1391, 20:04 عصر
دوست عزیز من با BasicAndroid کار می کنم خیلی راحت تونستم یادش بگیرم و کتابخانه های زیادی داره و مثال های آماده ی متعددی از کار با Gps توی اون هسته . اگه می تونی برو یادش بگیر فکر کنم بهتر بتونی با gps کنار بیایی.

m11111
سه شنبه 08 مهر 1393, 00:11 صبح
یه سوال دارم در مورد این 2 تا عدد
LocationManager</span>.GPS_PROVIDER, 10000, 0, locationListener);
10000 و 0 بهترین و بهینه ترین عددها چندن؟

ali_khodayar
دوشنبه 11 اسفند 1393, 09:16 صبح
من اگر بخوام اطلاعات GPS رو با استفاده از service بگیرم به چه صورته؟
کسی میدونه چطوری میشه با service و یا BroadCastReceiver گرفت. نمیخوام layout براش طراحی کنم .
چیکار باید انجام بدم؟
مرسی

ali_khodayar
دوشنبه 11 اسفند 1393, 12:11 عصر
لطفأ جواب بدین.
نحوه گرفتن اطلاعات GPS درون یک Service .
به صورت عادی میتونم و جواب میده. اما زمانی که کد رو در Service استفاده می کنم جواب نمیده.
باید چیکار کنم؟؟؟؟؟؟؟