صفحه 1 از 2 12 آخرآخر
نمایش نتایج 1 تا 40 از 50

نام تاپیک: فراخوانی تابع؟؟

  1. #1

    فراخوانی تابع؟؟

    سلام
    من یک mainactivity دارم که داخلش تابع با نام send رو ایجاد کردم یه اکتیویتی دیگر دارم از نوع دیالوگ که با زدن باتن باتن از اکتیویتی اول دیالوگ مربوطه باز میشه میخوام توی اکتیویتی دومی تابع send رو صدا بزنم برا همینم توی دومی نوشتم
    Public mainactivity n
    n.send ();
    خطا ندارم اما برنامه در اجرا با زدن کلید send دیالوگ که کد بالا داخلشه force close میشه
    کسی ميدونه چرا؟؟

  2. #2
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: فراخوانی تابع؟؟

    در اندروید بیشترین Force close به دلیل ایجاد connection در thread اصلی است. که بارها از سوی کاربران مختلف مطرح شده.

    send چیکار میکنه؟ ارتباط شبکه برقرار میکنه؟
    شما نمیتونید مستقیم از داخل متد send و در thread اصلی connection بزنید، پست 17 این تاپیک رو بخونید و از کلاس AsyncTask استفاده کنید:
    https://barnamenevis.org/showthread.p...=1#post2325690
    یه چیز دیگه چک کنید دسترسی <uses-permission android:name="android.permission.INTERNET"/> در فایل AndroidManifest.xml تون وجود داره.

    اگر connection نزدید، کد رو بذارید بررسی بشه.
    آخرین ویرایش به وسیله vahid-p : چهارشنبه 09 تیر 1395 در 17:13 عصر

  3. #3

    نقل قول: فراخوانی تابع؟؟

    سلام در اکتیوتی اصلی کد چک اتصال اینترنت رو اینجوری نوشتم و صدا زدم بازم برنامه بسته شد خواهش میکنم بگید ایراد کجاست..؟؟؟
    //-------------------------------------------------------------------------------
    private class NetCheck extends AsyncTask<String,String,Boolean>
    {
    private ProgressDialog nDialog;
    @Override
    protected void onPreExecute(){
    super.onPreExecute();
    nDialog = new
    ProgressDialog(MainActivity.this);
    nDialog.setTitle("Checking Network");
    nDialog.setMessage("Loading..");
    nDialog.setIndeterminate(false);
    nDialog.setCancelable(true);
    nDialog.show();
    }
    //************************************************** *********
    @Override
    protected Boolean doInBackground(String... args){
    ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONN ECTIVITY_SERVICE);
    NetworkInfo netInfo =cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnected())
    {
    try {
    URL url = new URL("http://www.google.com");
    HttpURLConnection urlc =(HttpURLConnection) url.openConnection();
    urlc.setConnectTimeout(3000);
    urlc.connect();
    if (urlc.getResponseCode() == 200) {
    return true;
    }
    } catch (MalformedURLException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    return false;
    }


    @Override
    protected void onPostExecute(Boolean th){
    if(th == true){
    nDialog.dismiss();
    Toast.makeText(getApplicationContext(),
    "دستگاه متصل است !",
    Toast.LENGTH_SHORT).show();
    // new GetData().execute();
    }
    else{
    Toast toast = Toast.makeText(getApplicationContext(),
    "خطا بعدا تلاش کنید", Toast.LENGTH_SHORT);
    toast.setGravity(Gravity.CENTER, 0, 0);
    toast.show();
    nDialog.dismiss();


    }
    }
    //============================================
    تابع send
    public void send() {


    new NetCheck().execute();

    //my code;
    }


    و در اکتیویتی دوم
    MainActivity a = new MainActivity();
    a.send();
    آخرین ویرایش به وسیله ghamgin : چهارشنبه 09 تیر 1395 در 18:48 عصر

  4. #4
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: فراخوانی تابع؟؟

    Persmission رو چک کردید؟

    کدتون به نظر درست میاد

  5. #5

    نقل قول: فراخوانی تابع؟؟

    بله چک کردم درسته
    شما راهی سراغ ندارید؟؟؟

  6. #6
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: فراخوانی تابع؟؟

    اگه میتونید پوشه های src و res رو zip کنید بفرستید.

  7. #7

    نقل قول: فراخوانی تابع؟؟

    حجمش بالاست
    ببینید من یه کلاس به فرم
    class CustomDialog extends Dialog implements
    دارم که توش برا دوتا باتن ارسال و انصراف دیالوگ کد داره
    public void onClick(View v) {

    switch (v.getId()) {
    case R.id.btn_yes:
    // m.sendmail();
    //m.sendmail();
    MainActivity act = new MainActivity();
    act.send();
    break;
    case R.id.btn_no:
    dismiss();
    break;
    default:
    break;
    }
    dismiss();
    }
    }

    من تابع send رو توی کد ارسال صدا زدم کدهاش رو هم خدمتتون فرستادم اما در اجرا برنامه بسته میشه
    ؟؟؟

    پیشاپیش ممنون

  8. #8
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: فراخوانی تابع؟؟

    گفتم که به نظر درست میاد. کد دومتون هم منطقی به نظر میاد.

    این فایل ها رو برام بفرستید:
    کدهای تمام کلاس هاتون با فرمت java
    کدهای XML مربوط به layout ها.
    و فایل AndroidManifest.xml

    کل پروژه مطمئنا حجیم نیست اگر عکس همراهش نباشه و پوشه های Build رو هم حذف کنی. ولی همون سه مورد فوق رو بفرستی خوبه.

  9. #9

    نقل قول: فراخوانی تابع؟؟

    بفرمایید
    این کدهای من
    custom.rar

  10. #10

    نقل قول: فراخوانی تابع؟؟

    کسی نظری نداره
    ؟؟؟؟؟؟؟؟؟؟

  11. #11

    نقل قول: فراخوانی تابع؟؟

    ای بابا هیچ کس نیست بگه چکار کنم
    یکی بیاد نجاتم بده...

  12. #12
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: فراخوانی تابع؟؟

    کدتون داغونه!!!
    به جز اینکه یه سری اشتباهات داره که نمیدونم چطور اصلا کامپایلش کردید، حتی کاملش رو نفرستادید. الان مثلا sendlayout کجاست؟

    شما اگر از IDE اندروید استدیو استفاده میکنید خودش این خطا ها رو بهت میگه.

    یا تو کد زیر else چی میگه این وسط؟
    public void send() {

    new NetCheck().execute();
    {
    LayoutInflater factory = getLayoutInflater();
    View editname = factory.inflate(R.layout.sendlayout, null);

    etname = (EditText) editname.findViewById(R.id.editname);
    String name = etname.getText().toString();


    etmail = (EditText) editname.findViewById(R.id.editemail);
    String mail = etname.getText().toString();


    Intent i = new Intent(Intent.ACTION_SEND);
    i.setType("message/rfc822");
    i.putExtra(Intent.EXTRA_EMAIL, new String[]{"recipient@example.com"});
    i.putExtra(Intent.EXTRA_SUBJECT, mail);
    i.putExtra(Intent.EXTRA_TEXT, name);


    Bundle b = this.getIntent().getExtras();
    if (b != null) {

    b.putString("fname", name);
    b.putString("Email", mail);

    startActivityForResult(i, 0);

    }
    try {
    startActivity(Intent.createChooser(i, "Send ..."));
    } catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(MainActivity.this, "not.", Toast.LENGTH_SHORT).show();
    }
    }
    else
    {

    Toast.makeText(MainActivity.this, "خطا در اتصال", Toast.LENGTH_SHORT).show();
    }
    }

    }


    من که چنین کدی رو بررسی نمیکنم. به صورت فایل txt هم نفرستید به هیچ وجه. پوشه های src و res (شامل layout و string و values) و همچنین AndroidManifest.xml .
    شما کل پروژه رو به جز فولدرهای به اسم build رو zip کنید و بفرستید (اگر از اندروید استدیو استفاده میکنید، یک پوشه build در مسیر اصلی کنار پوشه های app و gradle و... وجود داره و یکی داخل پوشه app که چندین مگ حجمشونه)

    موفق باشید

  13. #13

    نقل قول: فراخوانی تابع؟؟

    اینم کدها
    کدمن.rar

  14. #14

    نقل قول: فراخوانی تابع؟؟

    سلام.
    بعه جای این دو خط:

    MainActivity act = new MainActivity();
    act.send();


    این خط رو بنویس:

    c.send();

  15. #15

    نقل قول: فراخوانی تابع؟؟

    سلام
    ممنونم ازتون
    اما
    جواب نداد اصلا هر تابع دیگه از هر اکتیویتی دیگه هم که صدا میزنم نميشه و force close میشه؟؟؟

  16. #16
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: فراخوانی تابع؟؟

    جواب نداد اصلا هر تابع دیگه از هر اکتیویتی دیگه هم که صدا میزنم نميشه و force close میشه؟؟؟
    برای من فورس کلوزش به خاطر NullPointerException هست. مثل اینکه getContext مقدار null رو بر میگردونه.
    نتونستم زیاد روش وقت بذارم، مطمئن نیستم ولی شاید Dialog که روی Activity باز میکنی این مقدار رو تغییر میده. به نظرم در Activity اول context رو یه جا ذخیره کن و از getApplicationContext تو متد send استفاده نکن و مستقیم از اون مقدار قبلی استفاده کن. ببین جواب میده.

  17. #17

    نقل قول: فراخوانی تابع؟؟

    اصلا
    راهی دیگه ای هست که از تابع استفاده نکنم و بتونم مستقیم کلید ارسال دیالوگ رو که زدم ارسال انجام شه یعنی تابع فراخوانی نشه و مستقیم بشه کد send رو اجرا کنم؟؟؟

  18. #18

    نقل قول: فراخوانی تابع؟؟

    بعد از این که force close داد. Logcat رو اینجا قرار بده که ببینم مشکل از کجاس

  19. #19

    نقل قول: فراخوانی تابع؟؟

    نقل قول نوشته شده توسط ghamgin مشاهده تاپیک
    اصلا
    راهی دیگه ای هست که از تابع استفاده نکنم و بتونم مستقیم کلید ارسال دیالوگ رو که زدم ارسال انجام شه یعنی تابع فراخوانی نشه و مستقیم بشه کد send رو اجرا کنم؟؟؟
    میتونی متد send و بقیه متد های وابسته بهش رو داخل کلاس Send قرار بدی.

  20. #20

    نقل قول: فراخوانی تابع؟؟

    سلام
    اینم Logcat
    در ضمن کل متد send رو داخل یه کلاس گذاشتم و صدا زدم باز نشد

    C/dalvikvm(1591): Unable to open stack trace file '/data/anr/traces.txt': Is a directory
    W/dalvikvm(1591): threadid=1: thread exiting with uncaught exception (group=0xa000f180)
    C/AndroidRuntime(1592): FATAL EXCEPTION: main
    C/AndroidRuntime(1592): java.lang.NullPointerException
    C/AndroidRuntime(1592): at android.app.Activity.getLayoutInflater(Activity.ja va:3123)
    C/AndroidRuntime(1592): at com.example.ds.MainActivity.sendm(MainActivity.jav a:47)
    C/AndroidRuntime(1592): at com.example.ds.Send.onClick(Send.java:44)
    C/AndroidRuntime(1592): at android.view.View.performClick(View.java:3511)
    C/AndroidRuntime(1592): at android.view.View$PerformClick.run(View.java:14105 )
    C/AndroidRuntime(1592): at android.os.Handler.handleCallback(Handler.java:605 )
    C/AndroidRuntime(1592): at android.os.Handler.dispatchMessage(Handler.java:92 )
    C/AndroidRuntime(1592): at android.os.Looper.loop(Looper.java:137)
    C/AndroidRuntime(1592): at android.app.ActivityThread.main(ActivityThread.jav a:4424)
    C/AndroidRuntime(1592): at java.lang.reflect.Method.invokeNative(Native Method)
    C/AndroidRuntime(1592): at java.lang.reflect.Method.invoke(Method.java:511)
    C/AndroidRuntime(1592): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784)
    C/AndroidRuntime(1592): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551)
    C/AndroidRuntime(1592): at dalvik.system.NativeStart.main(Native Method)
    ممنون

  21. #21

    نقل قول: فراخوانی تابع؟؟

    سلام
    اینم Logcat
    در ضمن کل متد send رو داخل یه کلاس گذاشتم و صدا زدم باز نشد

    C/dalvikvm(1591): Unable to open stack trace file '/data/anr/traces.txt': Is a directory
    W/dalvikvm(1591): threadid=1: thread exiting with uncaught exception (group=0xa000f180)
    C/AndroidRuntime(1592): FATAL EXCEPTION: main
    C/AndroidRuntime(1592): java.lang.NullPointerException
    C/AndroidRuntime(1592): at android.app.Activity.getLayoutInflater(Activity.ja va:3123)
    C/AndroidRuntime(1592): at com.example.ds.MainActivity.sendm(MainActivity.jav a:47)
    C/AndroidRuntime(1592): at com.example.ds.Send.onClick(Send.java:44)
    C/AndroidRuntime(1592): at android.view.View.performClick(View.java:3511)
    C/AndroidRuntime(1592): at android.view.View$PerformClick.run(View.java:14105 )
    C/AndroidRuntime(1592): at android.os.Handler.handleCallback(Handler.java:605 )
    C/AndroidRuntime(1592): at android.os.Handler.dispatchMessage(Handler.java:92 )
    C/AndroidRuntime(1592): at android.os.Looper.loop(Looper.java:137)
    C/AndroidRuntime(1592): at android.app.ActivityThread.main(ActivityThread.jav a:4424)
    C/AndroidRuntime(1592): at java.lang.reflect.Method.invokeNative(Native Method)
    C/AndroidRuntime(1592): at java.lang.reflect.Method.invoke(Method.java:511)
    C/AndroidRuntime(1592): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784)
    C/AndroidRuntime(1592): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551)
    C/AndroidRuntime(1592): at dalvik.system.NativeStart.main(Native Method)

    ممنون

  22. #22

    نقل قول: فراخوانی تابع؟؟

    مشکل از این خطه:

    LayoutInflater factory = getLayoutInflater();



    LayoutInflater رو اینجوری بگیر:


    LayoutInflater inflater = LayoutInflater.from(context);


    به جای context هم context اکتیویتی جاری رو بده بهش.

  23. #23

    نقل قول: فراخوانی تابع؟؟

    لطفا برای تشکر کردن از دکمه "تشکر کردن" استفاده کنید.
    با احترام

  24. #24

    نقل قول: فراخوانی تابع؟؟

    نقل قول نوشته شده توسط spiderman200700 مشاهده تاپیک
    مشکل از این خطه:

    LayoutInflater factory = getLayoutInflater();



    LayoutInflater رو اینجوری بگیر:


    LayoutInflater inflater = LayoutInflater.from(context);


    به جای context هم context اکتیویتی جاری رو بده بهش.
    ضمن تشکر از توجه تون
    به جای contextنوشتم this
    اما نشد باز بسته شد
    logcat

    C/AndroidRuntime(1851): FATAL EXCEPTION: main
    C/AndroidRuntime(1851): java.lang.IllegalStateException: System services not available to Activities before onCreate()
    C/AndroidRuntime(1851): at android.app.Activity.getSystemService(Activity.jav a:3989)
    C/AndroidRuntime(1851): at android.view.LayoutInflater.from(LayoutInflater.ja va:210)
    C/AndroidRuntime(1851): at com.example.ds.MainActivity.sendm(MainActivity.jav a:48)
    C/AndroidRuntime(1851): at com.example.ds.Send.onClick(Send.java:44)
    C/AndroidRuntime(1851): at android.view.View.performClick(View.java:3511)
    C/AndroidRuntime(1851): at android.view.View$PerformClick.run(View.java:14105 )
    C/AndroidRuntime(1851): at android.os.Handler.handleCallback(Handler.java:605 )
    C/AndroidRuntime(1851): at android.os.Handler.dispatchMessage(Handler.java:92 )
    C/AndroidRuntime(1851): at android.os.Looper.loop(Looper.java:137)
    C/AndroidRuntime(1851): at android.app.ActivityThread.main(ActivityThread.jav a:4424)
    C/AndroidRuntime(1851): at java.lang.reflect.Method.invokeNative(Native Method)
    C/AndroidRuntime(1851): at java.lang.reflect.Method.invoke(Method.java:511)
    C/AndroidRuntime(1851): at com.android.internal.os.ZygoteInit$MethodAndArgsCa ller.run(ZygoteInit.java:784)
    C/AndroidRuntime(1851): at com.android.internal.os.ZygoteInit.main(ZygoteInit .java:551)
    C/AndroidRuntime(1851): at dalvik.system.NativeStart.main(Native Method)


  25. #25

    نقل قول: فراخوانی تابع؟؟

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

  26. #26

    نقل قول: فراخوانی تابع؟؟

    با توجه به ایپن حط از Logcat :

    C/AndroidRuntime(1851): java.lang.IllegalStateException: System services not available to Activities before onCreate()

    شما قبل از OnCreate داری این خط:

    LayoutInflater inflater = LayoutInflater.from(context);



    رو اجرا میکنی.

    ظاهرا توی تغییراتی که دادی یه مشکلاتی هست.

    کد های جدیدت رو بفرست تا ببینمشون

  27. #27

    نقل قول: فراخوانی تابع؟؟

    هیچ تغییری ندادم
    اینم کدها
    به جای context هم this نوشتم اما نشد

    package com.example.ds;

    import java.io.IOException;
    import java.net.HttpURLConnection;
    import java.net.MalformedURLException;
    import java.net.URL;



    import android.support.v7.app.ActionBarActivity;
    import android.app.ProgressDialog;
    import android.content.Context;
    import android.content.Intent;
    import android.net.ConnectivityManager;
    import android.net.NetworkInfo;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.view.Gravity;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.widget.EditText;
    import android.widget.Toast;


    public class MainActivity extends ActionBarActivity {

    EditText etfamil;
    EditText etname;
    EditText etmail;
    EditText etmatn;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    }

    // send mail
    public void sendm() {

    //ShowAlertDialogcheck();
    if(isNetworkCheck())
    // new NetCheck().execute();
    {

    LayoutInflater factory = getLayoutInflater();

    View editname = factory.inflate(R.layout.login,null);

    etname = (EditText) editname.findViewById(R.id.editname);
    String name = etname.getText().toString();

    etfamil = (EditText) editname.findViewById(R.id.editfamil);
    String famil = etname.getText().toString();

    etmail = (EditText) editname.findViewById(R.id.editemail);
    String mail = etname.getText().toString();

    etmatn = (EditText) editname.findViewById(R.id.editmatn);
    String matn = etname.getText().toString();



    Intent i = new Intent(Intent.ACTION_SEND);
    i.setType("message/rfc822");
    i.putExtra(Intent.EXTRA_EMAIL , new String[]{"recipient@example.com"});
    i.putExtra(Intent.EXTRA_SUBJECT, mail);
    i.putExtra(Intent.EXTRA_TEXT , name+famil);
    i.putExtra(Intent.EXTRA_TEXT , matn);

    Bundle b=this.getIntent().getExtras();
    if(b!=null)
    {

    b.putString("fname", name);
    b.putString("lanme", famil);
    b.putString("Email", mail);
    b.putString("matn", matn);
    startActivityForResult(i, 0);

    }
    try {
    startActivity(Intent.createChooser(i, "Send mail..."));
    } catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(MainActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
    }
    }
    else
    {

    Toast.makeText(MainActivity.this, "در اتصال خطا رخ داده است لطفا بعدا تلاش کنید", Toast.LENGTH_SHORT).show();
    }


    }

    //----------------------------------------------------------------
    private boolean isNetworkCheck(){
    ConnectivityManager cm1 = (ConnectivityManager)getSystemService(Context.CONN ECTIVITY_SERVICE);
    NetworkInfo ni=cm1.getActiveNetworkInfo();
    if(ni==null)
    {
    return false;
    }else
    {
    return true;
    }

    }

    //-------------------------------------------------------------------------------
    private class NetCheck extends AsyncTask<String,String,Boolean>
    {
    private ProgressDialog nDialog;
    @Override
    protected void onPreExecute(){
    super.onPreExecute();
    nDialog = new
    ProgressDialog(MainActivity.this);
    nDialog.setTitle("Checking Network");
    nDialog.setMessage("Loading..");
    nDialog.setIndeterminate(false);
    nDialog.setCancelable(true);
    nDialog.show();
    }
    //************************************************** *********
    @Override
    protected Boolean doInBackground(String... args){
    ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONN ECTIVITY_SERVICE);
    NetworkInfo netInfo =cm.getActiveNetworkInfo();
    if (netInfo != null && netInfo.isConnected())
    {
    try {
    URL url = new URL("http://www.google.com");
    HttpURLConnection urlc =(HttpURLConnection) url.openConnection();
    urlc.setConnectTimeout(3000);
    urlc.connect();
    if (urlc.getResponseCode() == 200) {
    return true;
    }
    } catch (MalformedURLException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    return false;
    }


    @Override
    protected void onPostExecute(Boolean th){
    if(th == true){
    nDialog.dismiss();
    Toast.makeText(getApplicationContext(),
    "دستگاه شما به اینترنت متصل است !",
    Toast.LENGTH_SHORT).show();
    // new GetData().execute();
    }
    else{
    Toast toast = Toast.makeText(getApplicationContext(),
    "در اتصال خطا رخ داده است لطفا بعدا تلاش کنید", Toast.LENGTH_SHORT);
    toast.setGravity(Gravity.CENTER, 0, 0);
    toast.show();
    nDialog.dismiss();

    //ShowAlertDialogcheck();
    }
    }
    //============================================

    }

    //menu
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.menu, menu);
    return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case R.id.item1:

    return true;
    case R.id.item2:

    Send se=new Send(MainActivity.this);
    se.show();

    return true;
    case R.id.item3:

    return true;
    default:
    return super.onOptionsItemSelected(item);
    }
    }



    }

  28. #28

    نقل قول: فراخوانی تابع؟؟

    کلاس Send هم نیازه.
    توی متد onClick در Send چکار کردن الان؟

  29. #29

    نقل قول: فراخوانی تابع؟؟

    کلاس send که همونه تغیری نکرده همون کلاس نمایش دیالوگ که فرستادم در زیر قبلی
    توی کد کلید ارسال فقط اونو نوشتم که در اجرا با زدن باتن ارسال دیالوگ نمایش داده شده برنامه بسته میشه
    این نوشتم
    Mainactivity a=new Mainactivity ();
    a.sendm ();

  30. #30

    نقل قول: فراخوانی تابع؟؟

    دوست عزیز شما نمیتونی اکتیویتی رو اینجوری ایجاد کنی.
    قبلا هم گفتم به جای a.sendm (); این کد رو بنویسین c.sendm ();

  31. #31

    نقل قول: فراخوانی تابع؟؟

    ممنونم مرسی
    فقط خوب مگه c این نیست منظورتون که بالای کلاس send تعریف کردم
    public Activity c;
    ؟؟
    خوب من می نویسم طوری که شما میگید باز برنامه بسته می شه
    ؟؟؟؟؟؟؟؟؟؟

  32. #32

    نقل قول: فراخوانی تابع؟؟

    نباید بسته بشه.
    اگه خواستی کل پروژه رو برام بفرست تا بررسی کنم ببینم مشکل کجاست.

  33. #33

    نقل قول: فراخوانی تابع؟؟

    ببینید پروژه چیز خاصی نداره فقط دو تا کلاس main و send هست که کدها رو گفتم
    اصلا اینی که شما میگید
    C.send ();
    رو نمیشناسه و روش خطا داره بعدش که روش میرم cast میکنم به اکتیو main اجرا که کردم باز بسته شد
    ؟!...

  34. #34
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: فراخوانی تابع؟؟

    بعضی وقت ها لازمه وقتی از یه قسمت برنامه جواب نمیگیری، اون قسمت رو از اول بنویسی و سعی کنی از یه روش دیگه بری.

    شما صورت مسئله رو به صورت ساده توضیح بدید قراره چه کاری انجام بشه، ببینیم میتونیم بنویسیم و بفرستیم. چون الان وقت زیادی رو این کد صرف شده و خود شما هم مطمئنا خسته شدید از اینکه نمیتونید مشکلش رو حل کنید.

    برداشت من:
    قراره با کلیک بر روی یک دکمه یک دیالوگ باز بشه (نه اکتیویتی) و اطلاعاتی در دیالوگ گرفته بشه و برای یک آدرس بفرسته. درسته؟

  35. #35

    نقل قول: فراخوانی تابع؟؟

    بله دقیقا
    قراره با کلیک بر روی یک دکمه یک دیالوگ باز بشه و اطلاعاتی در دیالوگ گرفته بشه و برای یک آدرس بفرسته. توسط یک کلاس

  36. #36

    نقل قول: فراخوانی تابع؟؟

    یعنی در واقع
    همون کلاس send دیالوگ رو باز میکه
    و در داخل کلیک باتن ارسالش من دارم تابع sendmail که ایمیل رو میفرسته رو صدا میزنم از داخل اکتیویتی اصلی برنامه

  37. #37
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: فراخوانی تابع؟؟

    کد پروژه رو ضمیمه کردم.
    برای service.php که آدرسش در SendData.java نوشتم کد ساده زیر:
    <?phpecho 'Your firstname is "'.$_POST['fname'].'" and your last name is "'.$_POST['lname'].'"';?>


    به راحتی از کد جواب گرفتم، مهم نیست متد send کجا باشه ...
    فایل های ضمیمه فایل های ضمیمه

  38. #38

    نقل قول: فراخوانی تابع؟؟

    ممنون از وقتی که گذاشتید
    اما
    جسارتا
    من کاری به سرویس ندارم که بخوام براش کد php
    بنویسم کد ارسال ایمیلم اینه
    public void sendm() {

    //ShowAlertDialogcheck();
    if(isNetworkCheck())
    // new NetCheck().execute();
    {

    LayoutInflater factory = getLayoutInflater();

    View editname = factory.inflate(R.layout.login,null);

    etname = (EditText) editname.findViewById(R.id.editname);
    String name = etname.getText().toString();

    etfamil = (EditText) editname.findViewById(R.id.editfamil);
    String famil = etname.getText().toString();

    etmail = (EditText) editname.findViewById(R.id.editemail);
    String mail = etname.getText().toString();

    etmatn = (EditText) editname.findViewById(R.id.editmatn);
    String matn = etname.getText().toString();



    Intent i = new Intent(Intent.ACTION_SEND);
    i.setType("message/rfc822");
    i.putExtra(Intent.EXTRA_EMAIL , new String[]{"recipient@example.com"});
    i.putExtra(Intent.EXTRA_SUBJECT, mail);
    i.putExtra(Intent.EXTRA_TEXT , name+famil);
    i.putExtra(Intent.EXTRA_TEXT , matn);

    Bundle b=this.getIntent().getExtras();
    if(b!=null)
    {

    b.putString("fname", name);
    b.putString("lanme", famil);
    b.putString("Email", mail);
    b.putString("matn", matn);
    startActivityForResult(i, 0);

    }
    try {
    startActivity(Intent.createChooser(i, "Send mail..."));
    } catch (android.content.ActivityNotFoundException ex) {
    Toast.makeText(MainActivity.this, "There are no email clients installed.", Toast.LENGTH_SHORT).show();
    }
    }
    else
    {
    Toast.makeText(MainActivity.this, "در اتصال خطا رخ داده است لطفا بعدا تلاش کنید", Toast.LENGTH_SHORT).show();
    }


    }
    که توی یه تابع در اکتیویتی اصلی برنامه است و من میخوام از اکتیویتی دومم که دیالوگ رو باز میکنه و کلید ارسال داخلش هست بتونم این تابع رو صدا بزنم و ارسال رو انجام بدم

  39. #39
    کاربر دائمی آواتار vahid-p
    تاریخ عضویت
    آذر 1391
    محل زندگی
    تهران
    پست
    1,140

    نقل قول: فراخوانی تابع؟؟

    گفتم که صورت مسئله رو دقیق مشخص کنید (که در پست اولی گفتید اطلاعاتی رو به یک آدرس بفرسته و پست دوم رو ندیده بودم)

    اما چرا روی این عبارت تاکید دارید که
    که توی یه تابع در اکتیویتی اصلی برنامه است و من میخوام از اکتیویتی دومم که دیالوگ رو باز میکنه و کلید ارسال داخلش هست بتونم این تابع رو صدا بزنم و ارسال رو انجام بدم
    یعنی حتما باید تابع تو یه کلاس دیگه باشه با این جزئیاتی که چندین بار تکرار کردید؟
    اصلا این چه اهمیتی داره؟
    مگر اطلاعاتی که در دیالوگ گرفته میشه به صورت ایمیل ارسال بشه چیزی نیست که میخواید؟
    خب توضیحات صدا زدن این متد از فلان کلاس برای چیه؟!!

    من میخوام بدونم نیازمندی برنامه چیه، نه برنامه به چه صورت پیاده سازی بشه، چون اگر من دقیقا اونجوری پیاده سازی کنم که شما میگید میشه همون برنامه ای که نوشتید. و شاید اشتباه شما هم همینه که اصرار دارید حتما از این مسیر که رفتید ادامه بدید!!!

  40. #40

    نقل قول: فراخوانی تابع؟؟

    سلام
    ببخشید
    نه هیچ اصراری نیست که تابع ارسال ایمیل در کلاس دیگر باشه
    آخه من با علم ناقصم هرکاری کردم نشد تابع ارسال در همون اکتیویتی دیالوگ باشه ارور داد روی startactivity منم در اکتیویتی اصلی برنامه نوشتم و اومدم صداش بزنم که نشد
    روش دیگه ای نميدونم
    اگه از alert dialog خود اندروید بدون سفارشی سازی استفاده کنم مشکلی نداشت اما ميخواستم باتن ها سفارشی باشه که به مشکل خورد...واسه کد ارسال ایمیل باتن
    ممنون میشم راه دیگر ای داره بگید.

صفحه 1 از 2 12 آخرآخر

تاپیک های مشابه

  1. فراخوانی برنامه های تحت ویندوز با SheellExecute یا WinExec
    نوشته شده توسط موسوی در بخش برنامه نویسی در Delphi
    پاسخ: 7
    آخرین پست: دوشنبه 26 دی 1384, 23:34 عصر
  2. فراخوانی help بدون کلیدf1
    نوشته شده توسط ario در بخش VB.NET
    پاسخ: 2
    آخرین پست: شنبه 03 آبان 1382, 12:21 عصر
  3. فراخوانی acrobat reader
    نوشته شده توسط SReza1 در بخش برنامه نویسی در Delphi
    پاسخ: 4
    آخرین پست: دوشنبه 21 مهر 1382, 00:37 صبح
  4. چگونگی فراخوانی فیلدهای تصویری توسط asp از access
    نوشته شده توسط vorojakt در بخش ASP.NET Web Forms
    پاسخ: 1
    آخرین پست: یک شنبه 09 شهریور 1382, 01:12 صبح
  5. فراخوانی عکس از بانک اکسس ( با MSADO یا همان mdac)
    نوشته شده توسط ع.م.خ در بخش VB.NET
    پاسخ: 5
    آخرین پست: شنبه 08 شهریور 1382, 20:39 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •