نمایش نتایج 1 تا 13 از 13

نام تاپیک: ارسال مطلب برای کاربر

  1. #1

    ارسال مطلب برای کاربر

    سلام نمیدونستم کجا بپرسم سوالم رو ببخشید
    من میخواهم اطلاعات یه بخش از سایتم رو به یه برنامه اندروید ارسال کنم یعنی یه اپ ساده نوشتم تو اندروید که شامل یک list view و text view هست میخوام کاربران اپ رو نصب کنند بعد من هر موقع مطلبی رو خواستم براشون توی همون اپ بفرستم سرچ کردم گفتن باید وب سرویس کار کنم. من یه وب سرویس ساده نوشتم مثلا ارسال تاریخ روز توی asp اما نميدونم بعدش چکار کنم به اپ وصل شه؟یعنی تاریخ روز رو براشون بفرستم مثلا
    ببخشید طولانی شد ممنون میشم اساتید کمک کنند.

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

    نقل قول: ارسال مطلب برای کاربر

    خب باید از اپ اندرویدت وب سرویس رو فراخوانی کنی .. !!
    میتونی متن ساده رو بفرستی اونور نمایش بدی .. ولی اگه مثلا یه مدل داده میخوایی بفرستی باید با اگوریتم خاصی مثل Json بفرستی .. !!!!
    برنامه اندرویدت رو به چه زبانی مینویسی .. ؟؟؟

  3. #3
    کاربر دائمی آواتار bomb23
    تاریخ عضویت
    اسفند 1390
    محل زندگی
    دفتر
    پست
    680

    نقل قول: ارسال مطلب برای کاربر

    سلام وب سرویس بر اساس ارسال طراحی نشده کلا پروتکل HTTP اساسش Request و Respons هستش . یعنی اینکه شما باید از طریق نرم افزار اندرویدتون این وبسرویس رو فراخوانی کنید! سرچ بزنید که چطوری باید فراخوانی کرد وبسرویس رو برای اندروید.

  4. #4

    نقل قول: ارسال مطلب برای کاربر

    سلام
    ممنون از راهنمایی هر دو دوست
    من برنامه اندرویدیم رو در eclipse نوشتم
    چطور از اندروید سرویس رو فراخوانی کنم سرچ زیاد زدم چیزی دستگیرم نشد؟؟ میشه لطف کنید لینک بدید (خواهش)
    اصلا متوجه نشدم، الگوریتم خاص ارسال کنم؟ من میخواهم مثلا لیست افراد عضو شده شده در یک بخش رو بفرستم یا از همون اپ فراخوانی شون کنم. لطف کنید بیشتر راهنمایی کنید ممنون

  5. #5
    کاربر دائمی آواتار CsharpNevisi
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    تهران
    پست
    1,489

    نقل قول: ارسال مطلب برای کاربر

    نقل قول نوشته شده توسط bomb23 مشاهده تاپیک
    سلام وب سرویس بر اساس ارسال طراحی نشده کلا پروتکل HTTP اساسش Request و Respons هستش . یعنی اینکه شما باید از طریق نرم افزار اندرویدتون این وبسرویس رو فراخوانی کنید! سرچ بزنید که چطوری باید فراخوانی کرد وبسرویس رو برای اندروید.
    منظور منم همون Request و Respons بود دوست عزیز

    سلام
    ممنون از راهنمایی هر دو دوست
    من برنامه اندرویدیم رو در eclipse نوشتم
    چطور از اندروید سرویس رو فراخوانی کنم سرچ زیاد زدم چیزی دستگیرم نشد؟؟ میشه لطف کنید لینک بدید (خواهش)
    اصلا متوجه نشدم، الگوریتم خاص ارسال کنم؟ من میخواهم مثلا لیست افراد عضو شده شده در یک بخش رو بفرستم یا از همون اپ فراخوانی شون کنم. لطف کنید بیشتر راهنمایی کنید ممنون
    یه نکته .. وبسرویس تو باید Restful باشه .. تو جاوا اینطوری راحت تری .. SOAP هم میتونی تو جاوا فراخوانی که ولی تو حالت اول راحت تری ..

    ببین تو میتونی داده های خودتو به قالب XML و یا Json یا هر چیزه دیگه ای که خودت میدونی به برنامه ای که داره سرویس رو فراخوانی میکنه برگردونی ... !!!
    سرویست رو با چی نوشتی ؟؟؟ WCF یا ASP (ASMX) ????

    تو باید یه کلاس درست کنی که از Asynctask ارث بری کنه .. این کلاسی که درست میکنی تو یه ترد دیگه وب سرویس رو فراخوانی میکنه ... تو تو ترد اصلی برنامه نمیتونی وب سرویس فراخوانی کنی و به ارور میخوری .. :)

    برای این کلاس یه متد حتما باید پیاده بشه ... حالا اینو تو گوگل سرچ کن متوجه میشی خودت که چیه و چجوری باید استفاده کنی .. !!!
    کدهای متد کلاست هم برای فراخواین سرویس این شکلی میشه
    try {
    URL myLink = new URL("http://wenda.ir/WebSite.html");
    URLConnection myConnection = myLink.openConnection();
    BufferedReader reader = new BufferedReader(new InputStreamReader(myConnection.getInputStream()));
    String Result = "";

    while(reader.readLine()!=null)
    {
    Result+=reader.readLine();
    }

    return Result;
    }
    catch (Exception e) {
    return e.getMessage();
    }


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

    دیگه خودت استفادش رو برو دنبالش .. به چیزی نرسیدی بگو بعدا وقت کردم کامل برات توضیح میدم .. ولی بهتره این سوال رو توی بخش Android .. Java بپرسی .. کسی اینجا نمیتونه کمکت کنه

  6. #6

    نقل قول: ارسال مطلب برای کاربر

    سلام
    ممنون دوست عزیز سپاس..
    من خیلی درباره مطلب قبلی تون که لطف کردید و راهنمایی کردید سرچ زدم
    از این json که هیچی نفهمیدم
    ببینید من یک وب سرویس ساده توی asp نوشتم
    [WebMethod]

    public int add (int a, int b)
    {
    return a + b;

    }
    بعد درباره اندرویدم که توی ایکیلیپس هست یه باتن و یه تکست باکس
    <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/test" />

    <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_below="@+id/textView1"
    android:layout_marginTop="53dp"
    android:text="get" />
    و این کدها رو هم توی یه سایت پیدا کردم

    public final static String URL = "http://192.168.1.104/WebService/services/WebService?wsdl";

    protected String doInBackground(String... params) {
    publishProgress("Loading contents..."); // Calls onProgressUpdate()
    try {
    // SoapEnvelop.VER11 is SOAP Version 1.1 constant
    SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(
    SoapEnvelope.VER11);
    SoapObject request = new SoapObject(NAMESPACE, METHOD);
    //bodyOut is the body object to be sent out with this envelope
    envelope.bodyOut = request;
    HttpTransportSE transport = new HttpTransportSE(URL);
    try {
    transport.call(NAMESPACE + SOAP_ACTION_PREFIX + METHOD, envelope);
    } catch (IOException e) {
    e.printStackTrace();
    } catch (XmlPullParserException e) {
    e.printStackTrace();
    }
    //bodyIn is the body object received with this envelope
    if (envelope.bodyIn != null) {
    //getProperty() Returns a specific property at a certain index.
    SoapPrimitive resultSOAP = (SoapPrimitive) ((SoapObject) envelope.bodyIn)
    .getProperty(0);
    resp=resultSOAP.toString();
    }
    } catch (Exception e) {
    e.printStackTrace();
    resp = e.getMessage();
    }
    return resp;
    }
    فقط ادرس وب سرویس من اینه
    http://localhost:1139/WebService.asmx
    چرا با کدبالا فرق داره اون wsdl چیه اخر ادرس??
    اجراس کردم اما توی اجرا انگار نه انگار
    اینم توی سایت codeproject دیدم سر در نیاورد
    ServiceImpl.wsdl:
    <?xml version="1.0" encoding="UTF-8"?>
    <wsdl:definitions targetNamespace=http://service.com
    xmlns:apachesoap=http://xml.apache.org/xml-soap
    xmlns:impl="http://service.com" xmlns:intf=http://service.com
    xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/
    xmlns:wsdlsoap=http://schemas.xmlsoap.org/wsdl/soap/
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <!--WSDL created by Apache Axis version: 1.4
    Built on Apr 22, 2006 (06:55:48 PDT)-->
    <wsdl:types>
    <schema elementFormDefault="qualified"
    targetNamespace="http://service.com" xmlns="http://www.w3.org/2001/XMLSchema">
    <element name="message">
    <complexType/>
    </element>
    <element name="messageResponse">
    <complexType>
    <sequence>
    <element name="messageReturn" type="xsd:string"/>
    </sequence>
    </complexType>
    </element>
    </schema>
    </wsdl:types>
    <wsdl:message name="messageResponse">
    <wsdl:part element="impl:messageResponse" name="parameters">
    </wsdl:part>
    </wsdl:message>
    <wsdl:message name="messageRequest">
    <wsdl:part element="impl:message" name="parameters">
    </wsdl:part>
    </wsdl:message>
    <wsdl:portType name="ServiceImpl">
    <wsdl:operation name="message">
    <wsdl:input message="impl:messageRequest" name="messageRequest">
    </wsdl:input>
    <wsdl:output message="impl:messageResponse" name="messageResponse">
    </wsdl:output>
    </wsdl:operation>
    </wsdl:portType>
    <wsdl:binding name="ServiceImplSoapBinding" type="impl:ServiceImpl">
    <wsdlsoap:binding style="document"
    transport="http://schemas.xmlsoap.org/soap/http"/>
    <wsdl:operation name="message">
    <wsdlsoap:operation soapAction=""/>
    <wsdl:input name="messageRequest">
    <wsdlsoap:body use="literal"/>
    </wsdl:input>
    <wsdl:output name="messageResponse">
    <wsdlsoap:body use="literal"/>
    </wsdl:output>
    </wsdl:operation>
    </wsdl:binding>
    <wsdl:service name="ServiceImplService">
    <wsdl:port binding="impl:ServiceImplSoapBinding" name="ServiceImpl">
    <wsdlsoap:address location=
    "http://localhost:9000/AndroidWS/services/ServiceImpl"/>
    </wsdl:port>
    </wsdl:service>
    </wsdl:definitions>
    چیه و کجا بذارمش...

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

  7. #7
    کاربر دائمی آواتار CsharpNevisi
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    تهران
    پست
    1,489

    نقل قول: ارسال مطلب برای کاربر

    WSDL رو نیاز جایی بزاری .. WSDL یه جورایی یه راهنما کوچولو هست از سرویس .. متدات چیه و این چیزا ..
    تو نباید تو اندرویدت ادرس لوکال بدی .. چون وبسرویس داره رو لوکال سیستم ران میشه نه لوکال اندروید .. !!!
    بهترین و ساده ترین راه اینه که یه هاست بگیری و سرویست رو رو اون اپلود کنی .. یا یه IIS راه بندازی رو لوکال خودت .. من همیشه راه اولو میرم (البته اگه زمان ریلیز نرم افزار نزدیک باشه) .. بی دردسر .. بالاخره وب سرویست هاست میخواد دیگه .. چه الان بخری چه یه ماه دیگه

    اول برو وب سرویس رو با ASP بنویس .. منظورم فایل هاییه که پسوند ASMX دارن .. البته اگه WCF یاد بگیری یخیلی بهتره .. من تمام سرویسام WCF هستش .. بعدش همینجا میریم سمت جاوا و اندروید ..

    یه نکته ای .. از اندروید استدیو استفاده کن .. ایکلیپس از زمانی که اندروید استدیو اودم دیگه از سمت گوگل پشتیبانی نمیشه ... و مطمئن باش در اینده با مشکلای زیادی رو به رو میشه .. خود گوگل هم اندروید استدیو رو IDE رسمی توسعه دهنده های اندروید دونسته :|

  8. #8

    نقل قول: ارسال مطلب برای کاربر

    سلام
    ممنونم ازتون که وقت میذارید..
    خوبدsoap باشه یا restful بهتره یعنی چی؟
    سعی می کنم روی هاست آپ کنم الان روی iis آپ کردم اما بازم چیزی نشد...کلافم کرده..کتابخونه ای چیزی لازم داره؟؟ که من نمیدونم

    خواستم از اندروید استادیو استفاده کنم اما خیلی دردسر داشت همین اکیلیپس رو هم با مکافات نصب و اجرا کردم
    برا اندروید استادیو وقتی اجراش می کنم این خطا رو میده
    message Gradle sync
    Error:You must specify a URL for a Maven repository.
    محیط دیزاین هم نشون نمیده و این میاد
    Rendering Problems The following classes could not be found:
    - android.support.design.widget.AppBarLayout (Fix Build Path, Edit XML, Create Class)
    - android.support.design.widget.CoordinatorLayout (Fix Build Path, Edit XML, Create Class)
    Tip: Try to build the project. The surrounding layout (@layout/activity_main) did not actually include this layout. Remove tools:showIn=... from the root tag
    که نمیدونم چطور بر طرفشون کنم..

    راستی حالا اگه با فشردن باتن توی اپ اطلاعات رو از وب سرویس گرفت بخوام وقتی گوشی فعال شد (قفلش باز شد )برنامه فعال شه و اطلاعات رو بگیره چکار کنم؟؟
    بازم ممنونم

    ممنون میشم راهنمایی کنید
    ببخشید طولانی شد

  9. #9
    کاربر دائمی آواتار CsharpNevisi
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    تهران
    پست
    1,489

    نقل قول: ارسال مطلب برای کاربر

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

    JDK .. SDK .. رو احتمالا درست نصب نکردی .. یا Environment Variables هم یه سری تغییرات تو متغییر path نیاز داره .. اینارو باید کامل انجام .. اگه باز نتونستی نصب کنی و درست اجرا نشد یه اموزش برات درست میکنم ...

    ما یه مقوله ای داریم با عنوان Broadcast Receiver این یه فضوله که چند نوع داره ... مثلا یکیش میگه وقتی اس.ام.اس اومد فضولی کن .. یکیش میگه تلفن روشن شد فضولی کن .. یکیش میگه نت وصل شد فضولی کن و... یه نوعه دیگش میگه وقتی تلفن ان لاک شد فضولی کن .. دیگه خودت الباقیش رو سرچ کن :)

  10. #10

    نقل قول: ارسال مطلب برای کاربر

    دوباره همه رو remove کردم (sdk, java) اما بازم موقع اجرا همون خطا توی آندروید استادیو میاد .
    درباره فعالیت شدن قفل هم استادمون گفته یه درمانگاه بتونه ساعت حضور پزشک رو مثلا با فعال شدن گوشی به مخاطب (بیمار) اعلام کنه. قصد ساخت برنامه مخرب رو ندارم..! تو نت درباره broadcast reciver هم خیلی سرچ کردم برا sms فقط داشت و درباره قفل گوشی چیزی نبود شما اطلاع ندارید؟
    ممنون

  11. #11
    کاربر دائمی آواتار CsharpNevisi
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    تهران
    پست
    1,489

    نقل قول: ارسال مطلب برای کاربر

    تو منیفست اینو اضافه کن
    <receiver android:name=".UserPresentBroadcastReceiver">  <intent-filter>
    <action android:name="android.intent.action.USER_PRESENT" />
    </intent-filter> </receiver>

    و یه کلاس این شکلی :)
    import android.content.BroadcastReceiver;import android.content.Context;
    import android.content.Intent;

    public class UserPresentBroadcastReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context arg0, Intent intent) {

    /*Sent when the user is present after
    * device wakes up (e.g when the keyguard is gone)
    * */
    if(intent.getAction().equals(Intent.ACTION_USER_PR ESENT)){

    }
    }
    }


    مشکلی چیزی بود تو بخش جاوا اندروید بپرس .. اینجا کسی نیست ک بتونه جواب بده + منم دیگه نمیتونم بیشتر از این وقت بزارم :)))

  12. #12

    نقل قول: ارسال مطلب برای کاربر

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

  13. #13
    کاربر دائمی آواتار CsharpNevisi
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    تهران
    پست
    1,489

    نقل قول: ارسال مطلب برای کاربر

    اونم نزاری مشکلی پیش نمیاد :) .. کداتو تو اون بنویسی مطمئن میشی که با باز شدن قفل گوشی کدات اجرا میشه

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

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