mahditofighi

توسعه دهنده اندروید
  • تعداد ارسال ها

    67
  • تاریخ عضویت

  • آخرین بازدید

اعتبار در انجمن

2 Neutral

درباره mahditofighi

  • درجه
    توسعه دهنده فعال
  1. لطفا نحوه صدا زدن و دریافت نقطه جی پی اس از طریق این کلاس و توضیح میدی ... ممنون
  2. با سلام خدمت دوستان من یک برنامه مکان یاب جی پی اسی نوشتم که توش یه مشکلی برام پیش اومده . درست کار میکنه اما گاهی اوقات که نمیتونه نقطه جی چی اس رو بگیره برنامه فورس کلوز میده با try catch هم درست نشد که بتونم خطاش رو کنترل کنم . لطفا راهنمایی کنید . ممنون من یک کلاس دارم به اسم MyLocation.java [shcode=java]package com.example.samen; import java.util.Timer; import java.util.TimerTask; import android.content.Context; import android.location.Location; import android.location.LocationListener; import android.location.LocationManager; import android.os.Bundle; public class MyLocation { Timer timer1; LocationManager lm; LocationResult locationResult; boolean gps_enabled=false; boolean network_enabled=false; public boolean getLocation(Context context, LocationResult result) { //I use LocationResult callback class to pass location value from MyLocation to user code. locationResult=result; if(lm==null) lm = (LocationManager) context.getSystemService(Context.LOCATION_SERVICE); //exceptions will be thrown if provider is not permitted. try{gps_enabled=lm.isProviderEnabled(LocationManager.GPS_PROVIDER);}catch(Exception ex){} try{network_enabled=lm.isProviderEnabled(LocationManager.NETWORK_PROVIDER);}catch(Exception ex){} //don't start listeners if no provider is enabled if(!gps_enabled && !network_enabled) return false; if(gps_enabled) lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListenerGps); if(network_enabled) lm.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListenerNetwork); timer1=new Timer(); timer1.schedule(new GetLastLocation(), 20000); return true; } LocationListener locationListenerGps = new LocationListener() { public void onLocationChanged(Location location) { timer1.cancel(); locationResult.gotLocation(location); lm.removeUpdates(this); lm.removeUpdates(locationListenerNetwork); } public void onProviderDisabled(String provider) {} public void onProviderEnabled(String provider) {} public void onStatusChanged(String provider, int status, Bundle extras) {} }; LocationListener locationListenerNetwork = new LocationListener() { public void onLocationChanged(Location location) { timer1.cancel(); locationResult.gotLocation(location); lm.removeUpdates(this); lm.removeUpdates(locationListenerGps); } public void onProviderDisabled(String provider) {} public void onProviderEnabled(String provider) {} public void onStatusChanged(String provider, int status, Bundle extras) {} }; class GetLastLocation extends TimerTask { @Override public void run() { lm.removeUpdates(locationListenerGps); lm.removeUpdates(locationListenerNetwork); Location net_loc=null, gps_loc=null; if(gps_enabled) gps_loc=lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); if(network_enabled) net_loc=lm.getLastKnownLocation(LocationManager.NETWORK_PROVIDER); //if there are both values use the latest one if(gps_loc!=null && net_loc!=null){ if(gps_loc.getTime()>net_loc.getTime()) locationResult.gotLocation(gps_loc); else locationResult.gotLocation(net_loc); return; } if(gps_loc!=null){ locationResult.gotLocation(gps_loc); return; } if(net_loc!=null){ locationResult.gotLocation(net_loc); return; } locationResult.gotLocation(null); } } public static abstract class LocationResult{ public abstract void gotLocation(Location location); } } [/shcode] که اینطوری تو OnCreate یه اکتیویتی صداش میکنم [shcode=java] try { LocationResult locationResult = new LocationResult(){ @Override public void gotLocation(Location location){ FindNearBranchMethodDirect(String.valueOf(location.getLatitude()),String.valueOf(location.getLongitude())); } }; MyLocation myLocation = new MyLocation(); myLocation.getLocation(this, locationResult); } catch (Exception e) { // TODO: handle exception txtNearBranch.setText("خطا در دریافت موقعیت فعلی شما"+"\n"+"لطفا با بازگشت به منوی اصلی و برگشتن به این صفحه دوباره سعی کنید"); }[/shcode] اینم متدی که صدا میزنم برای پیدا کردن نزدیکترین شعبه [shcode=java]public void FindNearBranchMethodDirect(String MyLatC,String MyLngC) { float Res = 0,FinalRes = 0; String MyLat = MyLatC; String MyLng = MyLngC; db = dbh.getReadableDatabase(); Cursor cursors = db.rawQuery("select ID,BranchCode,BranchName,BranchTel,BranchAddress,lat,lng from Branchs order by BranchName", null); String Branchlng= null,BranchLat= null,BranchId= null,BranchName = null,BranchAddress= null,BranchTel= null,BranchCode= null; if(cursors.getCount() > 0) { for (int i = 0; i < cursors.getCount(); i++) { cursors.moveToNext(); BranchLat = cursors.getString(cursors.getColumnIndex("lat")); Branchlng = cursors.getString(cursors.getColumnIndex("lng")); Res = distFrom(Float.valueOf(MyLat), Float.valueOf(MyLng), Float.valueOf(BranchLat), Float.valueOf(Branchlng)); if(i==0) { FinalRes = Res; } if(Res < FinalRes) { FinalRes = Res; BranchId = cursors.getString(cursors.getColumnIndex("ID")); BranchName = cursors.getString(cursors.getColumnIndex("BranchName")); BranchAddress=cursors.getString(cursors.getColumnIndex("BranchAddress")); BranchTel=cursors.getString(cursors.getColumnIndex("BranchTel")); BranchCode = cursors.getString(cursors.getColumnIndex("BranchCode")); } } txtNearBranch.setText("نزدیکترین شعبه به شما : "+"\n"+"شعبه "+BranchName+"\n"+"کد شعبه : "+BranchCode+"\n"+"تلفن : "+BranchTel+"\n"+"آدرس : "+BranchAddress); } }[/shcode] اینم متدا محاسبه فاصله دو نقطه جی پی اس [shcode=java] public static float distFrom(float lat1, float lng1, float lat2, float lng2) { double earthRadius = 6371000; //meters double dLat = Math.toRadians(lat2-lat1); double dLng = Math.toRadians(lng2-lng1); double a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(Math.toRadians(lat1)) * Math.cos(Math.toRadians(lat2)) * Math.sin(dLng/2) * Math.sin(dLng/2); double c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); float dist = (float) (earthRadius * c); return dist; }[/shcode] همه چی درسته ... فقط وقتی جی پی اس جواب نده و نقطه نگیره برنامه فورس کلوز میده میاد بیرون لطفا راهنمایی کنید . ممنون
  3. [align=right]با سلام خدمت همه ی دوستان[/align] [align=right]من موفق شدم برای برنامه اندرویدیم ویجت بسازم ، اما نمیدونم توی ویجت چطوری یه فونتی مثل B Nazanin رو به TEXT VIEW ها بدم تا متون فارسی رو به شکل زیباتری نشون بدن . توی اکتویتی این کار و با TYPE FACE انجام دادم اما توی ویجت نمیشه . [/align] [align=right]ممنون میشم راهنمایی کنین .[/align]
  4. سلام . این پروژه مشکل داره دانلود نمیشه ، شما سورسشو نداری ؟
  5. [align=right]سلام دوستان[/align] [align=right]یک مثال کاربردی از نمایش فایل pdf در برنامه می خوام ، در ضمن فایل مورد نظر در پوشه assets پروژه قرار داره . همچنین می خوام این کار طوری انجام بشه که اگه روی اندروید کاربر نرم افزار pdf reader هم نبود باز بشه . [/align] [align=right]ممنون[/align]
  6. توی اندروید 2.3 برنامه وقتی وارد منو میشه ، روی دسته بندی بر اساس تخصص کلیک کنید . توی این اکتیویتی می خواد به دیتابیس کانکت شه که خطا میده .
  7. متاسفانه مشکل من حل نشد . هنوز همون خطا رو دارم . android.database.sqlite.SQLiteException: no such table: android_metadata
  8. با این دیتابیس هم مشکلم حل نشد . همون خطای قبلی رو میده . زمانیکه می خواد open database کنه میره یه select از جدول android_metadata بگیره ، این جدول تو دیتابیسم دارم اما بازم خطا میده . میشه فایل DatabaseHelper رو برام بزارین ؟
  9. من توی اندروید 2.3 این خطا رو دارم . no such table: android_metadata android جدول android_metadata تو دیتابیسم ساختم اما مشکل حل نشد . razieh جان میشه ، فایل DatabaseHelper تو که توی 2.3 جواب میده ، واسه من بزاری ؟ یا این جدول android_metadata توی دیتابیست رو ؟
  10. الان متوجه شدم که فقط یک asyncTask در کل برنامه ام اجرا میشه و بعد از اجرای اولین asyncTask ، بقیه ی asyncTask دیگه اجرا نمی شن !!!
  11. اینم سورس پروژه ام . زمانیکه از توی اکتیویتی AppMenu به اکتیویتی AttorneyInfo میرم ، برای بار اول مشکلی نداره ، اما دفعه ی دوم خطا میده . نام کاربری Mahdi و رمز عبور برنامه 12345 می باشد ، در ضمن باید کامپیوترتون در حین اجرای برنامه به اینترنت وصل باشه چون برنامه از وب سرویس استفاده میکنه . http://s1.picofile.com/file/7884031498/sahamdar.rar.html ممنون
  12. با این روش مشکلم حل نشد . اینم خطای logcat 08-08 04:12:24.724: W/ActivityManager(277): Unable to start service Intent { act=com.android.email.ACCOUNT_INTENT } U=0: not found08-08 04:12:26.534: E/ActivityThread(641): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cfbff8 that was originally bound here08-08 04:12:26.534: E/ActivityThread(641): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cfbff8 that was originally bound here08-08 04:12:26.534: E/ActivityThread(641): at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:969)08-08 04:12:26.534: E/ActivityThread(641): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)08-08 04:12:26.534: E/ActivityThread(641): at android.app.ContextImpl.bindService(ContextImpl.java:1418)08-08 04:12:26.534: E/ActivityThread(641): at android.app.ContextImpl.bindService(ContextImpl.java:1407)08-08 04:12:26.534: E/ActivityThread(641): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)08-08 04:12:26.534: E/ActivityThread(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)08-08 04:12:26.534: E/ActivityThread(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)08-08 04:12:26.534: E/ActivityThread(641): at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)08-08 04:12:26.534: E/ActivityThread(641): at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)08-08 04:12:26.534: E/ActivityThread(641): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)08-08 04:12:26.534: E/ActivityThread(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)08-08 04:12:26.534: E/ActivityThread(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)08-08 04:12:26.534: E/ActivityThread(641): at android.os.AsyncTask$2.call(AsyncTask.java:287)08-08 04:12:26.534: E/ActivityThread(641): at java.util.concurrent.FutureTask.run(FutureTask.java:234)08-08 04:12:26.534: E/ActivityThread(641): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)08-08 04:12:26.534: E/ActivityThread(641): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)08-08 04:12:26.534: E/ActivityThread(641): at java.lang.Thread.run(Thread.java:856)08-08 04:12:27.714: E/StrictMode(641): null08-08 04:12:27.714: E/StrictMode(641): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cfbff8 that was originally bound here08-08 04:12:27.714: E/StrictMode(641): at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:969)08-08 04:12:27.714: E/StrictMode(641): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)08-08 04:12:27.714: E/StrictMode(641): at android.app.ContextImpl.bindService(ContextImpl.java:1418)08-08 04:12:27.714: E/StrictMode(641): at android.app.ContextImpl.bindService(ContextImpl.java:1407)08-08 04:12:27.714: E/StrictMode(641): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)08-08 04:12:27.714: E/StrictMode(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)08-08 04:12:27.714: E/StrictMode(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)08-08 04:12:27.714: E/StrictMode(641): at com.android.emailcommon.service.AccountServiceProxy.getDeviceId(AccountServiceProxy.java:116)08-08 04:12:27.714: E/StrictMode(641): at com.android.exchange.ExchangeService.getDeviceId(ExchangeService.java:1249)08-08 04:12:27.714: E/StrictMode(641): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1856)08-08 04:12:27.714: E/StrictMode(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)08-08 04:12:27.714: E/StrictMode(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)08-08 04:12:27.714: E/StrictMode(641): at android.os.AsyncTask$2.call(AsyncTask.java:287)08-08 04:12:27.714: E/StrictMode(641): at java.util.concurrent.FutureTask.run(FutureTask.java:234)08-08 04:12:27.714: E/StrictMode(641): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)08-08 04:12:27.714: E/StrictMode(641): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)08-08 04:12:27.714: E/StrictMode(641): at java.lang.Thread.run(Thread.java:856)08-08 04:12:27.764: I/Choreographer(277): Skipped 72 frames! The application may be doing too much work on its main thread.08-08 04:12:28.274: W/ActivityManager(277): Unbind failed: could not find connection for android.os.BinderProxy@4103b2c808-08 04:12:28.434: I/ShamdarPersonalInfo(903): onPreExecute08-08 04:12:28.624: E/ActivityThread(641): Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cfb708 that was originally bound here08-08 04:12:28.624: E/ActivityThread(641): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cfb708 that was originally bound here08-08 04:12:28.624: E/ActivityThread(641): at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:969)08-08 04:12:28.624: E/ActivityThread(641): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)08-08 04:12:28.624: E/ActivityThread(641): at android.app.ContextImpl.bindService(ContextImpl.java:1418)08-08 04:12:28.624: E/ActivityThread(641): at android.app.ContextImpl.bindService(ContextImpl.java:1407)08-08 04:12:28.624: E/ActivityThread(641): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)08-08 04:12:28.624: E/ActivityThread(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)08-08 04:12:28.624: E/ActivityThread(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)08-08 04:12:28.624: E/ActivityThread(641): at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)08-08 04:12:28.624: E/ActivityThread(641): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)08-08 04:12:28.624: E/ActivityThread(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)08-08 04:12:28.624: E/ActivityThread(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)08-08 04:12:28.624: E/ActivityThread(641): at android.os.AsyncTask$2.call(AsyncTask.java:287)08-08 04:12:28.624: E/ActivityThread(641): at java.util.concurrent.FutureTask.run(FutureTask.java:234)08-08 04:12:28.624: E/ActivityThread(641): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)08-08 04:12:28.624: E/ActivityThread(641): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)08-08 04:12:28.624: E/ActivityThread(641): at java.lang.Thread.run(Thread.java:856)08-08 04:12:28.824: I/Choreographer(903): Skipped 81 frames! The application may be doing too much work on its main thread.08-08 04:12:28.864: I/ShamdarPersonalInfo(903): doInBackground08-08 04:12:29.914: E/SurfaceFlinger(36): ro.sf.lcd_density must be defined as a build property08-08 04:12:30.004: E/StrictMode(641): null08-08 04:12:30.004: E/StrictMode(641): android.app.ServiceConnectionLeaked: Service com.android.exchange.ExchangeService has leaked ServiceConnection com.android.emailcommon.service.ServiceProxy$ProxyConnection@40cfb708 that was originally bound here08-08 04:12:30.004: E/StrictMode(641): at android.app.LoadedApk$ServiceDispatcher.(LoadedApk.java:969)08-08 04:12:30.004: E/StrictMode(641): at android.app.LoadedApk.getServiceDispatcher(LoadedApk.java:863)08-08 04:12:30.004: E/StrictMode(641): at android.app.ContextImpl.bindService(ContextImpl.java:1418)08-08 04:12:30.004: E/StrictMode(641): at android.app.ContextImpl.bindService(ContextImpl.java:1407)08-08 04:12:30.004: E/StrictMode(641): at android.content.ContextWrapper.bindService(ContextWrapper.java:473)08-08 04:12:30.004: E/StrictMode(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:157)08-08 04:12:30.004: E/StrictMode(641): at com.android.emailcommon.service.ServiceProxy.setTask(ServiceProxy.java:145)08-08 04:12:30.004: E/StrictMode(641): at com.android.emailcommon.service.ServiceProxy.test(ServiceProxy.java:191)08-08 04:12:30.004: E/StrictMode(641): at com.android.exchange.ExchangeService$7.run(ExchangeService.java:1850)08-08 04:12:30.004: E/StrictMode(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:551)08-08 04:12:30.004: E/StrictMode(641): at com.android.emailcommon.utility.Utility$2.doInBackground(Utility.java:549)08-08 04:12:30.004: E/StrictMode(641): at android.os.AsyncTask$2.call(AsyncTask.java:287)08-08 04:12:30.004: E/StrictMode(641): at java.util.concurrent.FutureTask.run(FutureTask.java:234)08-08 04:12:30.004: E/StrictMode(641): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)08-08 04:12:30.004: E/StrictMode(641): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)08-08 04:12:30.004: E/StrictMode(641): at java.lang.Thread.run(Thread.java:856)08-08 04:12:30.384: W/ActivityManager(277): Unbind failed: could not find connection for android.os.BinderProxy@4102c66008-08 04:12:30.446: E/SurfaceFlinger(36): ro.sf.lcd_density must be defined as a build property08-08 04:12:30.494: I/Choreographer(903): Skipped 963 frames! The application may be doing too much work on its main thread.08-08 04:12:30.894: D/dalvikvm(277): GC_CONCURRENT freed 784K, 15% free 5916K/6936K, paused 53ms+56ms, total 485ms08-08 04:12:31.174: I/ActivityManager(277): Displayed com.example.sahamdar/.AttorneyInfo: +8s529ms08-08 04:12:31.224: I/Choreographer(277): Skipped 44 frames! The application may be doing too much work on its main thread.08-08 04:12:32.454: I/Choreographer(903): Skipped 666 frames! The application may be doing too much work on its main thread.08-08 04:12:32.564: W/ActivityManager(277): Launch timeout has expired, giving up wake lock!08-08 04:12:32.674: W/ActivityManager(277): Activity idle timeout for ActivityRecord{410a1f98 u0 com.example.sahamdar/.AttorneyInfo}08-08 04:12:33.594: I/Choreographer(903): Skipped 210 frames! The application may be doing too much work on its main thread.08-08 04:12:34.794: I/Choreographer(277): Skipped 30 frames! The application may be doing too much work on its main thread.
  13. توی onCreate هستش . من فکر می کنم مشکل به خاطر اینه که علی رغم بسته شدن اکتیویتی ، AsyncTask بسته نمی شه و همچنان run میمونه . زمانیکه دوباره اون اکتیویتی رو صدا می زنم و یه دونه از AsyncTask دوباره می سازم ، به خاطر بسته نشدن قبلی به من خطا میده . فکر می کنید این مشکل چطوری حل میشه ؟
  14. سلام من در یک اکتیویتی یک AsyncTask دارم که بعد از اجرای اون برنامه به اکتیوتی دوم میره زمانیکه از اکتیویتی دوم به همون اکتیویتی اول برمی گردم و دوباره می خوام AsyncTask رو اجرا کنم ، برنامه خطا داره . مشکل چیه ؟ کسی میتونه منو راهنمایی کنه ؟ ممنون private class AsyncCallWSPersonalInfo extends AsyncTask { @Override protected Void doInBackground(String... params) { Log.i("ShamdarPersonalInfo", "doInBackground"); CallPersonalInfoWebService(); return null; } @Override protected void onPostExecute(Void result) { Log.i("ShamdarPersonalInfo", "onPostExecute"); } @Override protected void onPreExecute() { Log.i("ShamdarPersonalInfo", "onPreExecute"); Toast.makeText(getApplicationContext(),PersianReshape.reshape("در حال دریافت اطلاعات"), Toast.LENGTH_SHORT).show(); } @Override protected void onProgressUpdate(Void... values) { Log.i("ShamdarPersonalInfo", "onProgressUpdate"); } }
  15. سلام زمانیکه از external database استفاده می کنم ، در اندروید 2.2 و 2.3 خطا داره و توابع دیتابیس از جمله create و open رو نمی شناسه . چه راه حلی برای رفع این مشکل وجود داره ؟