کلیدستان

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

کد پی‌اچ‌پی:
final EditText et = (EditTextfindViewById(R.id.editText1);
    
        
Button btn = (ButtonfindViewById(R.id.button1);

        
btn.setOnClickListener(new OnClickListener() {

        @
Override
        
public void onClick(View v) {
        
// TODO Auto-generated method stub
WebView web = (WebView)findViewById(R.id.webView1);
    
    
web et.getText().toweb();

        }
        });
        } 

 
سلام.
شما متن وارد شده در EditText را دریافت کرده و برابر WebView قرار داده اید :

کد پی‌اچ‌پی:
web et.getText().toweb(); 

روش بالا غلط است. ابتدا کدنویسی رایج برای نمایش یک آدرس URL در یک WebView را در کلید شماره 224 بخوانید.
از EditText ، متن وارد شده را دریافت کرده (کلید شماره 265)(که همان آدرس URL صفحه اینترنتی است) و آن را در یک متغیر از جنس رشته (String) ذخیره نمایید. سپس بر اساس کلیدی که ذکر کردم (کلید شماره 224)، رشته ذخیره شده را به عنوان آدرس URL ، در کدهای مربوط به WebView ، ذکر کنید.

سلام ممنون از راهنماییتون.من کارایی که گفتید رو انجام دادم این بار ارور نداد ولی برنامه کار نکرد!
کدی که تونستم با راهنمایی هاتون بنویسم:
کد پی‌اچ‌پی:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;

public class 
MainActivity extends Activity {

    private 
WebView web;







    @
Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
        
EditText et = (EditText)findViewById(R.id.editText1);
                final 
String editText_input =
                
et.getText().toString();
        
        
        
web = (WebView)findViewById(R.id.webView1);
        
web.setWebViewClient(new WebViewClient());
        
web.getSettings().setLoadWithOverviewMode(true);
        
web.getSettings().setUseWideViewPort(true);
        
web.getSettings().setBuiltInZoomControls(true);
        
        
        
   
            
Button btn=(ButtonfindViewById(R.id.button1);
             
btn.setOnClickListener(new OnClickListener() {
            
            @
Override
            
public void onClick(View arg0) {
                
                
web.loadUrl(editText_input);
                
            }
        });
    
    
    
    
    
     
    
    
    }

اجازه ی دسترسی رو هم تو اندروید منیفست دادم ولی کار نمی کنه! میشه بگید مشکل از کجاست؟؟؟
سلام فک  میکنم مشکلتون از اینجاس که شما قبل از کلیک شدن دکمه متن ادیت تکست رو گرفتید یعنی همون لحظه که اکتیویتی باز میشه پس مقدارتون خالی و نال تعریف میشه
اگه کدوتون رو ب شکل زیر بنویسید درست میشه احتمالا :
کد پی‌اچ‌پی:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;
import android.widget.EditText;

public class 
MainActivity extends Activity {
    private 
WebView web;
    @
Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
        
        final 
EditText et = (EditText)findViewById(R.id.editText1);

        
web = (WebView)findViewById(R.id.webView1);
        
web.setWebViewClient(new WebViewClient());
        
web.getSettings().setLoadWithOverviewMode(true);
        
web.getSettings().setUseWideViewPort(true);
        
web.getSettings().setBuiltInZoomControls(true);
        
            
Button btn=(ButtonfindViewById(R.id.button1);
             
btn.setOnClickListener(new OnClickListener() {
            
            @
Override
            
public void onClick(View arg0) {
                
                
String editText_input et.getText().toString();
                
web.loadUrl(editText_input);
                
            }
        });
    }

موفق باشید
 
سلام ممنون برای راهنماییتون مشکلم  حل شد.
یه سوال دیگه داشتم اینکه وقتی تو edittext مثلا وارد می کنم:google.com نمیره ولی وقتی مینویسم http://google.com میره.میدونید که چجوری میشه کاری کرد که بدون وارد کردن http:// به آدرس بره؟؟؟