smathematics

خواندن اس ام اس از اینباکس در برنامه نویسی اندروید

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

با سلام و عرض ادب
یک سوال دارم و اونم اینه که ، من می خوام از اینباکس اس ام اس در اندروید ، پیامک بخونم و متن پیامک ها رو در یک لیست ویو نمایش بدم.
من یک جدول پایگاه داده دارم که یه سری شماره موبایل توش ذخیره می شه (یعنی خود کاربر ذخیره می کنه)
*** من می خوام از اینباکس اندروید اس ام هایی رو بخونم که شماره موبایلشون با شماره های داخل دیتابیس من برابر باشه.
مشکلم اینجاس که نمی دونم چیکار بکنم، چون مبتدی هستم.
ممنون میشم راهنماییم کنید یا اگه کدی دارید ، برام بفرستید.بسیار ممنون
 

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


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

با سلام و عرض ادب
یک سوال دارم و اونم اینه که ، من می خوام از اینباکس اس ام اس در اندروید ، پیامک بخونم و متن پیامک ها رو در یک لیست ویو نمایش بدم.
من یک جدول پایگاه داده دارم که یه سری شماره موبایل توش ذخیره می شه (یعنی خود کاربر ذخیره می کنه)
*** من می خوام از اینباکس اندروید اس ام هایی رو بخونم که شماره موبایلشون با شماره های داخل دیتابیس من برابر باشه.
مشکلم اینجاس که نمی دونم چیکار بکنم، چون مبتدی هستم.
ممنون میشم راهنماییم کنید یا اگه کدی دارید ، برام بفرستید.بسیار ممنون
 

AndroidManifest.xml

  <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.itcuties.android.apps"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
       android:minSdkVersion="8"
       android:targetSdkVersion="16" />

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

    <application
       android:allowBackup="true"
       android:icon="@drawable/ic_launcher"
       android:label="@string/app_name"
       android:theme="@style/AppTheme" >
       <activity
           android:name="com.itcuties.android.apps.MainActivity"
           android:label="@string/app_name" >
           <intent-filter>
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
       </activity>
    </application>

</manifest>

activity_main.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:background="#000">

    <TextView
       android:id="@+id/smsNumberText"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:text="NUMBER_GOES_HERE">
    </TextView>

</LinearLayout>

SMSData.java

package com.itcuties.android.apps.data;

/**
* This class represents SMS.
*
* @author itcuties
*
*/
public class SMSData {

   // Number from witch the sms was send
   private String number;
   // SMS text body
   private String body;

   public String getNumber() {
       return number;
   }

   public void setNumber(String number) {
       this.number = number;
   }

   public String getBody() {
       return body;
   }

   public void setBody(String body) {
       this.body = body;
   }

}

ListAdapter.java

package com.itcuties.android.apps;

import java.util.List;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

import com.itcuties.android.apps.data.SMSData;


/**
* List adapter for storing SMS data
*
* @author itcuties
*
*/
public class ListAdapter extends ArrayAdapter<SMSData> {

   // List context
    private final Context context;
    // List values
    private final List<SMSData> smsList;

   public ListAdapter(Context context, List<SMSData> smsList) {
       super(context, R.layout.activity_main, smsList);
       this.context = context;
       this.smsList = smsList;
   }

   @Override
   public View getView(int position, View convertView, ViewGroup parent) {
       LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

       View rowView = inflater.inflate(R.layout.activity_main, parent, false);

       TextView senderNumber = (TextView) rowView.findViewById(R.id.smsNumberText);
       senderNumber.setText(smsList.get(position).getNumber());

       return rowView;
   }

}

MainActivity.java

package com.itcuties.android.apps;

import java.util.ArrayList;
import java.util.List;

import android.app.ListActivity;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.Toast;

import com.itcuties.android.apps.data.SMSData;

/**
* Main Activity. Displays a list of numbers.
*
* @author itcuties
*
*/
public class MainActivity extends ListActivity {

   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);

       List<SMSData> smsList = new ArrayList<SMSData>();

       Uri uri = Uri.parse("content://sms/inbox");
       Cursor c= getContentResolver().query(uri, null, null ,null,null);
       startManagingCursor(c);

       // Read the sms data and store it in the list
       if(c.moveToFirst()) {
           for(int i=0; i < c.getCount(); i++) {
               SMSData sms = new SMSData();
               sms.setBody(c.getString(c.getColumnIndexOrThrow("body")).toString());
               sms.setNumber(c.getString(c.getColumnIndexOrThrow("address")).toString());
               smsList.add(sms);

               c.moveToNext();
           }
       }
       c.close();

       // Set smsList in the ListAdapter
       setListAdapter(new ListAdapter(this, smsList));

   }

   @Override
   protected void onListItemClick(ListView l, View v, int position, long id) {
       SMSData sms = (SMSData)getListAdapter().getItem(position);

       Toast.makeText(getApplicationContext(), sms.getBody(), Toast.LENGTH_LONG).show();

   }

}

 

1 کاربر پسند دیده است

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


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

بسیار ممنونم از پاسختون.برای خوندن اس ام اس فقط از شماره خاص داخل دیتابیس چیکار باید بکنم؟مرسی

 

ویرایش شده در توسط smathematics

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


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

بسیار ممنونم از پاسختون.برای خوندن اس ام اس فقط از شماره خاص داخل دیتابیس چیکار باید بکنم؟مرسی

 

 

import java.util.ArrayList;

import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends Activity {

    ArrayList<String> sms_id = new ArrayList<String>();
    ArrayList<String> sms_num = new ArrayList<String>();
    ArrayList<String> sms_Name = new ArrayList<String>();
    ArrayList<String> sms_dt = new ArrayList<String>();
    ArrayList<String> sms_body = new ArrayList<String>();

    // private ImageView imageView;

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

        Uri myMessage = Uri.parse("content://sms/");
        ContentResolver cr = this.getContentResolver();
        Cursor c = cr.query(myMessage, new String[] { "_id", "address", "date",
                "body", "read" }, "address = '+9180009'", null, null);
        startManagingCursor(c);
        getSmsLogs(c, MainActivity.this);

    }

    public void getSmsLogs(Cursor c, Context con) {

        if (sms_num.size() > 0) {
            sms_id.clear();
            sms_num.clear();
            sms_Name.clear();
            sms_body.clear();
            sms_dt.clear();
        }
        try {
            if (c.moveToFirst()) {
                do {
                    if (c.getString(c.getColumnIndexOrThrow("address")) == null) {
                        c.moveToNext();
                        continue;
                    }
                    String Number = c.getString(
                            c.getColumnIndexOrThrow("address")).toString();
                    String _id = c.getString(c.getColumnIndexOrThrow("_id"))
                            .toString();
                    String dat = c.getString(c.getColumnIndexOrThrow("date"))
                            .toString();
                    String Body = c.getString(c.getColumnIndexOrThrow("body"))
                            .toString();
                    Log.e("Body-->", "" + Body);
                    sms_id.add(_id);
                    sms_num.add(Number);
                    sms_body.add(Body);
                } while (c.moveToNext());
            }
            c.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

 

1 کاربر پسند دیده است

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


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

خیلی ممنونم.مرسی از پاسختون.واقعا" این سایت و شما بهترینید.

590b7badde0f7_Picture1.png.e31f1c60600488c961280c0b4f3b79a8.png

ویرایش شده در توسط smathematics
1 کاربر پسند دیده است

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


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

اموزشتون عالیه

 

سوالی داشتم:

با چه کدی تاریخ را از sms دریافتی بگیرم؟؟

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


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

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

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

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

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


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

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

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


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

  • مطالب مشابه

    • توسط m.abaszadeh1777
      باعرض سلام وخسته نباشيد وتبريک سال نو
       من دارم روي يک پروژه کار ميکنم که دران دريک قسمت(در ريسايکل ويو) ميخوام وقتي روي يه دکمه کليک ميشود فايل پي دي اف رو دانلود کنه و بعد با نرم افزار پي دي اف ريدر نمايش بده
      اگه کمکم کنيد ممنون ميشم
    • توسط evill
      سلام دارم برنامه فروشگاهی میسازم انتخاب قیمت محصول جوریه که کاربر خودش باید انتخاب کنه از بین چند تا مورد این فایلی که فرستادم ببینین متوجه منظورم میشین
       
      من داخل برنامه دو تا اسپینر گذاشتم که اطلاعاتش رو از سرور میگیرم و داخل اسپینر ست میکنم که با انتخاب هر کدوم ای دی خودشو برمیگردونه تا اینجا درسته مشکلی نیست
      ولی برنامه ی لیست قیمت داره که براساس ای دی این دوتا اسپینرباید مشخص بشه  یعنی مثلا اسپینر اول ای دی 5 برگردونه و اسپینر دوم ای دی مثلا3 اینجا باید ما
      سرچ بزنیم تو لیست قیمت ها که ای دی 5و3 قیمتش چنده ... به نظرتون اینو چجوری پیاده کنم ایا میشه تو arraylist بریزم و روش حالت سرچ بذارم و اندیس رو برگردونه. اصلا  میشه با arraylist همچین کاری کرد؟  یا تو دیتابیس بریزم؟  دوستان اگه راه حل بهتری دارن لطفا راهنمایی کنن  ممنون
      جیسون قیمت ها به این شکله
      [
        {
          "cat": "1",
          "type": "0",
          "size": "33",
          "price": "4800"
        },
        {
          "cat": "1",
          "type": "0",
          "size": "34",
          "price": "7200"
        },
      ]
      20180305_163147.mp4
    • توسط Farzad Sarseifi
      دانلود کتاب Android Development with Kotlin

      امروزه روند توسعه نرم افزار اندروید بسیار گسترده شده است. در طول چند سال اخیر، ما شاهد چگونگی پیشرفت ابزارهای مختلفی هستیم تا زندگی ما را ساده‌تر کند. با این حال، یکی از عناصر اصلی فرآیند توسعه نرم افزار اندروید یعنی جاوا در طول این مدت تغییر زیادی نکرده است. پلتفرم اندروید خود را با نسخه‌های جدیدتر جاوا سازگار می‌کند، ولی برای استفاده از آن ها، ما باید مدت زمان بسیار زیادی را صبر کنیم تا دستگاه‌های جدید اندرویدی به فروش مناسب بازار دست یابند. همچنین، توسعه برنامه‌ها با جاوا چالش‌های خود را به همراه دارد، چرا که جاوا زبانی قدیمی با بسیاری از مشکلات طراحی است که به واسطه محدودیت‌های سازگاری با نسخه‌های قدیمی، نمی‌توانند به سادگی حل شوند.
      از سویی دیگر Kotlin، زبانی جدید ولی پایدار است که بر روی همه‌ی دستگاه‌های اندرویدی اجرا می‌شود و بسیاری از مشکلاتی که جاوا قادر به حل آن نبود را حل می‌کند. Kotlin زبان فوق العاده ای است که زندگی توسعه دهنده را بسیار راحت‌تر می‌کند و اجازه می‌دهد تا کد امن تر، بیان گر‌تر و خلاصه‌تر ایجاد شود.
      کتاب توسعه اندروید با Kotlin، راهنمایی عملی است که به شما کمک می‌کند تا با استفاده از زبان Kotlin، روند توسعه اندروید را بهبود داده و به آن سرعت بخشید. ما میان برها و پیشرفت‌های زیاد نسبت به جاوا و راه‌های جدیدی حل مسائل رایج را ارائه دادیم. در پایان این کتاب، شما با ویژگی‌ها و ابزار‌های Kotlin آشنا خواهید شد و شما قادر خواهید بود که برنامه ای اندرویدی را با کاملا با Kotlin توسعه دهید.
       
      What You Will Learn
      Run a Kotlin application and understand the integration with Android Studio
      Incorporate Kotlin into new/existing Android Java based project
      Learn about Kotlin type system to deal with null safety and immutability
      Define various types of classes and deal with properties
      Define collections and transform them in functional way
      Define extensions, new behaviours to existing libraries and Android framework classes
      Use generic type variance modifiers to define subtyping relationship between generic types
      Build a sample application
       Table of Contents
      1: BEGINNING YOUR KOTLIN ADVENTURE
      2: LAYING A FOUNDATION
      3: PLAYING WITH FUNCTIONS
      4: CLASSES AND OBJECTS
      5: FUNCTIONS AS FIRST-CLASS CITIZENS
      6: GENERICS ARE YOUR FRIENDS
      7: EXTENSION FUNCTIONS AND PROPERTIES
      8: DELEGATES
      9: MAKING YOUR MARVEL GALLERY APPLICATION
       
      دانلود
      Packt.Android.Development.with.Kotlin.epub
       
    • توسط Omid Zakeri
      یک کتابخانه بسیار زیبا که جابجایی بین تب ها در فرگمنت ها را بصورت حبابی نمایش می دهد
       
       

       
       

       
      دانلود :
      compile 'com.github.florent37:bubbletab:1.0.2'  
      BubbleTab را به صورت زیر به layout.xml خود اضافه کنید
      شما میتوانید دو پارامتر زیر را اضافه کنید
      circleColor circleRatio <com.github.florent37.bubbletab.BubbleTab android:id="@+id/bubbleTab" android:layout_width="match_parent" android:layout_height="wrap_content" android:clipToPadding="false" android:background="@android:color/white" android:elevation="10dp" app:bubbleTab_circleColor="@color/colorAccent" app:bubbleTab_circleRatio="1.25" > <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_hourglass_selector" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_event_selector" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_query_selector" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_search_selector" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:padding="16dp" android:src="@drawable/bubbletab_ic_home_selector" /> </com.github.florent37.bubbletab.BubbleTab> <android.support.v4.view.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent"/>  
       
      سپس برای set کردن viewPager از روش زیر استفاده کنید
      bubbleTab.setupWithViewPager(viewPager);  
       
       
      پشتیبانی: BubbleTab
       
      BubbleTab-master.zip
    • توسط adel28
      مي خواهم داخل اپليكيشن فرم ثبت نامي ايجاد كنم كه با تلفن همراه اعتبار سنجي بشه و به كاربر اس ام اس بياد.
      مثل تلگرام و ....
       
      آموزشي در اين زمينه داريد قرار بديد.

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