6 ارسال در این موضوع قرار دارد

یکی از امکاناتی که اندروید پیاده سازی شده AutoStartUp کردن اپلیکیشن میباشد بدین صورت وقتی که دیواس اندروید ریبوت یا روشن شد برنامه ما بصوت اتوماتیک اجرا شود.

در این آموزش قصد داریم این امکان را پیاده سازی کنیم.

ابتدا یک کلاس به نام BootUpReceiver را ایجاد میکنیم:


 

public class BootUpReceiver  extends BroadcastReceiver{

@Override

public void onReceive(Context context, Intent intent) {

// TODO Auto-generated method stub

Intent i = new Intent(context, Dashboard.class);

       i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

       context.startActivity(i);

}

در این کلاس ما از کلاس BroadcastReceiver ارث بری کرده و این کلاس باعث میشود در پس زمینه اجرا شود ، این کلاس باعث میشود همیشه در حال اجرا باشد.

بعد از روشن شدن دیوایس باعث میشود اکتیویتی Dashboard باز شود.

سپس در  فایل اندروید مانیفست پروژه:

 

 

<aplication>  
<receiver android:enabled="true" android:name=".BootUpReceiver">
        <intent-filter>
            <action android:name="android.intent.action.BOOT_COMPLETED" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
    </receiver>
</aplication>

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

 

 

انجمن پی سی دروید....

 

 

 

2 کاربر پسند شده است

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


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

جناب مدیر واقعا خسته نباشید

خیلی آموزش هایتان کاربردی و مفید است .

باز هم ممنون از این همه تلاش شما.

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


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

من میتونم توی این کلاس یه دستور بنویسیم که همیشه هر 5 دقیقه یکبار اجرا بشه ؟

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


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

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

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


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

سلام

این کد برنامه منه که قراره در Background اجرا بشه و هر پنج دقیقه یکبار اطلاعاتی را به یک وب سرویس saop ارسال کنه ، برنامه خطایی نداره اما بعد از نصب روی گوشی هیچ کاری انجام نمیده ، لطف می کنید بررسی کنید ؟

package com.example.sendgpspointtosite;import java.lang.reflect.Method;import android.content.BroadcastReceiver;import android.content.Context;import android.content.Intent;import android.location.Location;import android.location.LocationListener;import android.location.LocationManager;import android.net.Uri;import android.os.Bundle;import android.os.Handler;import android.provider.Settings;import android.telephony.TelephonyManager;import android.util.Log;import org.ksoap2.SoapEnvelope;import org.ksoap2.serialization.SoapObject;import org.ksoap2.serialization.SoapSerializationEnvelope;import org.ksoap2.transport.HttpTransportSE;public class SendGpsPoint extends BroadcastReceiver{private static String SOAP_ACTION1 = "http://tempuri.org/InsertFromMobile";   private static String NAMESPACE = "http://tempuri.org/";   private static String METHOD_NAME1 = "InsertFromMobile";   private static String URL = "http://gps.mashhad-cinema.ir/Services/GPSPointWS.asmx?WSDL";private static String IMEI;private static String GeographicLenght;private static String WidthLenght;private static String Height;private static String Speed;private static String Direction;private Context ctext;  public void onReceive(Context context, Intent intent) {        // TODO Auto-generated method stub	final Handler handler = new Handler();       final Thread r = new Thread() {           public void run() {               	toggleGPS(true);       		GetGpsLocation();       		handler.postDelayed(this, 120000);       		turnData(true);       		handler.postDelayed(this, 30000);       		TelephonyManager tManager = (TelephonyManager)ctext.getSystemService(Context.TELEPHONY_SERVICE);       		IMEI = tManager.getDeviceId();       		insertToHostDataBase();       		toggleGPS(false);       		turnData(false);               handler.postDelayed(this, 300000);           }       };        r.start();   }  private void insertToHostDataBase(){	SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME1);              //Use this to add parameters       request.addProperty("IMEI",IMEI.toString());       request.addProperty("GeographicLenght",GeographicLenght.toString());       request.addProperty("WidthLenght",WidthLenght.toString());       request.addProperty("Height",Height.toString());       request.addProperty("Speed",Speed.toString());       request.addProperty("Direction",Direction.toString());       //Declare the version of the SOAP request       SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);       envelope.setOutputSoapObject(request);       envelope.dotNet = true;       try {             HttpTransportSE androidHttpTransport = new HttpTransportSE(URL);              //this is the actual part that will call the webservice             androidHttpTransport.call(SOAP_ACTION1, envelope);             // Get the SoapResult from the envelope body.             SoapObject result = (SoapObject)envelope.bodyIn;             if(result != null)             {                   //Get the first property and change the label text             }             else             {             }       } catch (Exception e) {       }}private void GetGpsLocation(){	try{        LocationManager locationManager = (LocationManager)ctext.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(LocationManager.GPS_PROVIDER);            if(myLocation != null)            {                //we have a location!!            	GeographicLenght = 	Location.convert(myLocation.getLatitude(), Location.FORMAT_DEGREES);            	WidthLenght = Location.convert(myLocation.getLongitude(), Location.FORMAT_DEGREES);            	Height = Location.convert(myLocation.getAltitude(), Location.FORMAT_DEGREES);            	Speed = Float.toString(myLocation.getSpeed());             	Direction = "Unknow";            }        }        }        catch(Exception e)        {        }}public class MyLocationListener implements LocationListener   {   public void onLocationChanged(Location location) {   	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   }   }private void toggleGPS(boolean enable) {    String provider = Settings.Secure.getString(ctext.getContentResolver(),         Settings.Secure.LOCATION_PROVIDERS_ALLOWED);    if(provider.contains("gps") == enable) {        return; // the GPS is already in the requested state    }    final Intent poke = new Intent();    poke.setClassName("com.android.settings",         "com.android.settings.widget.SettingsAppWidgetProvider");    poke.addCategory(Intent.CATEGORY_ALTERNATIVE);    poke.setData(Uri.parse("3"));    ctext.sendBroadcast(poke);}void turnData(boolean ON){    try{         Method dataConnSwitchmethod;        Class telephonyManagerClass;        Object ITelephonyStub;        Class ITelephonyClass;        TelephonyManager telephonyManager = (TelephonyManager) ctext.getSystemService(Context.TELEPHONY_SERVICE);        telephonyManagerClass = Class.forName(telephonyManager.getClass().getName());    Method getITelephonyMethod = telephonyManagerClass.getDeclaredMethod("getITelephony");    getITelephonyMethod.setAccessible(true);    ITelephonyStub = getITelephonyMethod.invoke(telephonyManager);    ITelephonyClass = Class.forName(ITelephonyStub.getClass().getName());    if (ON) {         dataConnSwitchmethod = ITelephonyClass.getDeclaredMethod("enableDataConnectivity");     } else {        dataConnSwitchmethod = ITelephonyClass.getDeclaredMethod("disableDataConnectivity");    }    dataConnSwitchmethod.setAccessible(true);    dataConnSwitchmethod.invoke(ITelephonyStub);    }catch(Exception e){          Log.e("Error:",e.toString());    }}}

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


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

کاربر گرامی لطفا در تالار سوالات و رفع مشکل سوال خود را مطرح کنید،این تالار فقط برای آموزش میباشد. سوال شما تا ساعتی دیگر حذف خواهد شد پس آن را به تالار مربوطه انتقال دهید.:exclamation:

تاپیک قفل شد

تشکر

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


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

برای ارسال نظر یک حساب کاربری ایجاد کنید یا وارد حساب خود شوید

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

ایجاد یک حساب کاربری

برای حساب کاربری جدید در انجمن ما ثبت نام کنید. عضویت خیلی ساده است !


ثبت نام یک حساب کاربری جدید

ورود به حساب کاربری

دارای حساب کاربری هستید؟ از اینجا وارد شوید


ورود به حساب کاربری

  • مطالب مشابه

    • توسط asbasictaandroid
      سلام  و درود. بنده   برنامه نویسی اندروید را تازه می خواهم شروع کنم.   به یک  مشکل بزرگ برخورد کردم.  
      ابزار های   JDK  را نصب کردم..  تنظیمات   مسیر نصب  jdk  را به ویندوز  با تعریف یک متغیر محیطی  انجام داده ام. 
        وی پی ان را روشن و درحال اجرا کرده ام.  نرم افزار  اندروید   استودیو   را  می خواهم نصب کنم.   رابط گرافیکی آن میاد   منتها  پیغام خطا میدهد.
      به پیوست تصویری از  آخرین  مرحله نصب  را برایتان می فرستم. 
       لطفا خواهشا    مرا راهنمایی کنید و ایراد کار را بگید و دست بنده را بگیرید. من خیلی خیلی عاشق برنامه نویسی اندروید هستم.
       

    • توسط Farzad Sarseifi
      آموزش پیاده سازی دیتابیس اندروید همراه با مثال عملی
      در این اموزش میتوانید یک دیتابیس اندروید ایجاد کنید که توانایی افزودن اطلاعات،ویرایش اطلاعات ،حذف و لیست گیری اطلاعات باشید.
       
      ابتدا  یک کلاس برای ایجاد SqliteopenHelper دیتایس و جداول ایجاد میکنیم و متدهای مورد نظر را نیز در ادامه مینویسیم
      import java.util.ArrayList; import java.util.HashMap; import java.util.Hashtable; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.DatabaseUtils; import android.database.sqlite.SQLiteOpenHelper; import android.database.sqlite.SQLiteDatabase; public class DBHelper extends SQLiteOpenHelper { public static final String DATABASE_NAME = "MyDBName.db"; public static final String CONTACTS_TABLE_NAME = "contacts"; public static final String CONTACTS_COLUMN_ID = "id"; public static final String CONTACTS_COLUMN_NAME = "name"; public static final String CONTACTS_COLUMN_EMAIL = "email"; public static final String CONTACTS_COLUMN_PHONE = "phone"; private HashMap hp; public DBHelper(Context context) { super(context, DATABASE_NAME , null, 1); } @Override public void onCreate(SQLiteDatabase db) { // TODO Auto-generated method stub db.execSQL( "create table contacts " + "(id integer primary key, name text,phone text,email text)" ); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub db.execSQL("DROP TABLE IF EXISTS contacts"); onCreate(db); } public boolean insertContact (String name, String phone, String email) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("name", name); contentValues.put("phone", phone); contentValues.put("email", email); db.insert("contacts", null, contentValues); return true; } public Cursor getData(int id) { SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery( "select * from contacts where id="+id+"", null ); return res; } public int numberOfRows(){ SQLiteDatabase db = this.getReadableDatabase(); int numRows = (int) DatabaseUtils.queryNumEntries(db, CONTACTS_TABLE_NAME); return numRows; } public boolean updateContact (Integer id, String name, String phone, String email) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues contentValues = new ContentValues(); contentValues.put("name", name); contentValues.put("phone", phone); contentValues.put("email", email); db.update("contacts", contentValues, "id = ? ", new String[] { Integer.toString(id) } ); return true; } public Integer deleteContact (Integer id) { SQLiteDatabase db = this.getWritableDatabase(); return db.delete("contacts", "id = ? ", new String[] { Integer.toString(id) }); } public ArrayList<String> getAllCotacts() { ArrayList<String> array_list = new ArrayList<String>(); //hp = new HashMap(); SQLiteDatabase db = this.getReadableDatabase(); Cursor res = db.rawQuery( "select * from contacts", null ); res.moveToFirst(); while(res.isAfterLast() == false){ array_list.add(res.getString(res.getColumnIndex(CONTACTS_COLUMN_NAME))); res.moveToNext(); } return array_list; } }  
      سپس واسط کاربری گرافیکی Layout را طراحی میکنیم  activity_main.xml
      <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="wrap_content" tools:context=".MainActivity" > <LinearLayout android:orientation="vertical" android:layout_width="match_parent" android:layout_height="370dp"> <EditText android:id="@+id/editTextName" android:layout_width="match_parent" android:layout_height="wrap_content" android:ems="10" android:inputType="text" > </EditText> <EditText android:id="@+id/editTextEmail" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="22dp" android:ems="10" android:inputType="textEmailAddress" /> <EditText android:id="@+id/edit_phone" android:layout_width="match_parent" android:layout_height="wrap_content" /> <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="28dp" android:text="@string/save" /> </LinearLayout> </ScrollView>
      برای ذخیره اطلاعات در دیتابیس.میبایستی در اکتیویتی دیتابیس را new کنید تا بتوانید که اطلاعات را در دیتابیس فراخوانی کنید
      افزودن اطلاعات :
      public class MainActivity extends AppCompatActivity { DBHelper mydb; EditText editTextName,editTextEmail,edit_phone; Button button1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); editTextName=(EditText)findViewById(R.id.editTextName); editTextEmail=(EditText)findViewById(R.id.editTextEmail); edit_phone=(EditText)findViewById(R.id.edit_phone); button1=(Button)findViewById(R.id.button1); mydb = new DBHelper(this); button1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String name=editTextName.getText().toString(); String email=editTextEmail.getText().toString(); String phone=edit_phone.getText().toString(); mydb.insertContact(name,email,phone); } }); }  
      بزودی آموزش تکمیل میگردد.
       
      دوره آموزشی اندروید
      http://android-learn.ir/online-learning/android-development-training/guruPrograms/1-android-programming/2-programming-mobile-applications-for-android
       
       


       

       
    • توسط Pouya_su
      دوستان من تو یکی از اکتیویتیام ی circle menu دارم .بذنامه رو ک باز میکنم همچی حله ولی وقتی با این اکتیویتی میرم برنامه بسته میشه 
    • توسط zahrasedighi1397
      سلام دوستان 
      امروز یک سامانه تبلیغاتی به اسم ad-sdk رو خدمتتون معرفی میکنم
      درامدهایی که توسعه دهنده ها از این سایت دارن خیلی بیشتر از سایر سامانه هاست
      بهتون پیشنهاد میکنم حتما از این سایت دیدن کنید تا بتونید از مزایایی که داره بهره مند شید
      ممنون از توجه همگی تون
       
      http://yon.ir/7X5cd
                نقل قول   ویرایش

  • دوره آموزشی اندروید آموزش ویدئویی اندروید اندروید کاپ سورس اندروید دوره اندروید آموزش Kotlin آموزش برنامه نویسی ios مهارت های فروش دانلود اپلیکیشن طراحی اپلیکیشن
  • فایل