Merhaba bu yayında sizlere DroidScript ile web görüntüleme tekniği, hata yok sayma ve web zoom olayını anlatacağım.
Yerel olarak (sdcard içinde bulunan html dosyası) html dosyası açacağız ve zoom ayarı ile birlikte hata yok sayma kodunu göreceğiz basit bir şekilde aşağıdaki kod da anlatalım.
web = app.CreateWebView( 1, 1,"AllowZoom,Wide,AutoZoom" ,70,"IgnoreErrors");
yukardaki kod içinde zoom teknikleri kullanılmış hangi değer de yada elinizle büyütme işlemini bu kodla yapabilirsiniz.
yine yukardaki kod'da "IgnoreErrors" hata yok sayma kullanılmıstır ,eğer bu terimi kullanmazsanız hataalır uygulamayı kullanamazsınız 1.33b sürümü ile türkçe harf olayı hatası giderilmiştir.( ignore,Ignore)
1.33 versiyonu yayınlanmadığı için ignoreErrors olarak kullanın şimdilik,yeni sürüm yayınlanınca normalini kullanırsınız.
Webview kullanımında bir diğer sorun ise geri tuşuyla sayfa değişimidir genel olarak can sıkıcı aşagıdaki kod'da geri olayı JQuery mobile için kullanılmıştır hatasız çalışıyor siz normal web sayfası kullanacaksanız
kodu şu şekilde değiştirmelisiniz: web.Execute("web.back();")
eğer geri işlemi varsa önceki sayfalara döner baş sayfaya gelince çıkış diyoloğu gelir ekrana yinede we.back terimi yeteri kadar iyi çalışmıyor ileriki sürümlerde daha fonksiyonel olarak düzeltme yapılacaktır.
Bu hataları gidermek için 2 buton ekleyerek 1.butona anasayfaya dönme yada reset fonksiyonu atayın2.butona ise cıkış fonksiyonu aşagıdaki kodu kopyala yapıştır yaparak ds içinde kullanın unutmayın bu kod yerel html dosyası açmak için, canlı yer imi açmak için : web.LoadUrl("http://selosoft.blogspot.com/" );
şeklinde değişim yapmalısınız.
kodumuz şu şekilde:
app.EnableBackKey( false );
//burada geri tuşuna fonksiyon atadık geri tuşuna basınca uygulamadan cıkmaz.
var lastUrl, web;
var script='<script type="text/javascript" src="http://ad.leadbolt.net/show_app_ad.js?section_id=615889805"></script>'
//üstteki kod'da ise leadbolt reklam içeriğimiz var kendi id'nizi yazarak para kazanmaya başlayın.
function OnStart()
{
lay = app.CreateLayout( "Absolute", "" );
lay.SetBackGradient( "#461E62", "#29123A" )
banner=app.CreateLayout("Absolute","Horizontal,FillXY")
banner.SetSize(1,0.06)
banner.SetPosition( 0, 0);
// banner.SetBackGradient( "#461E62", "#29123A" )
banner.SetBackGradient( "#ff222222", "#ff444444" )
lay.AddChild(banner);
//Create some text.
txt = app.CreateText( "DS WEB" );
txt.SetTextSize( 20);
txt.SetPosition( 0, 0.01);
txt.SetFontFile ( "el.ttf" );
banner.AddChild( txt );
web = app.CreateWebView( 1, 1,"AllowZoom,Wide,AutoZoom" ,70,"IgnoreErrors");
web.SetOnProgress( web_OnProgess );
web.SetPosition(0, 0.06);
lay.AddChild( web );
//APK içinde de çalışması için aşagıdaki kodu ekledik.eğer dosya apk ise apk içindeki klasörü açar değilse ds içindeki klasörü denemeler yaparken cok iş görür tekrar düzenleme yapmazsınız.
var isApk = (app.GetAppPath()=="/Assets");
if( isApk ) folder="file:///android_asset/user/html/";
else folder="file://"+app.GetAppPath()+"/html/";
web.LoadUrl( folder + "index.html" );
//reklam için bir banner büyüklüğünde web görüntüleme
webrek=app.CreateWebView(1,.12)
webrek.LoadHtml(script)
webrek.SetOnProgress( webOnProgress );
webrek.SetPosition(0, 0.88);
lay.AddChild(webrek)
//Add layout to app.
app.AddLayout( lay );
}
//Show page load progress.
function web_OnProgess( progress )
{
app.Debug( "progress = " + progress );
if( progress==100 ) app.HideProgress();
}
function webOnProgress()
{
var url=this.GetUrl();;
if(url==lastUrl) return
lastUrl=url;
if(url.slice(0,9)==="market://")
{
this.LoadHtml(script);
app.OpenUrl(url);
}}
//Set action of Back key
function OnBack1()
{
var yesNo = app.CreateYesNoDialog( "Çıkış ?" );
yesNo.SetOnTouch( yesNo_OnTouch );
}
//Way out if normal Back key disabled
function yesNo_OnTouch( result ){
if( result=="Yes" )
app.Exit();
}
function OnBack()
{
if(web.CanGoBack())
{
web.Execute("$.mobile.back();");
//web.Execute("web.back();"); normal html için.
}else
{
OnBack1()
}
}
aşağıdaki ekran resimlerinde bu kodla oluşturulmuş bir Noktalama işaretleri uygulaması yapılmıştır.
web = app.CreateWebView( 1, 1,"AllowZoom,Wide,AutoZoom" ,70,"IgnoreErrors");
yukardaki kod içinde zoom teknikleri kullanılmış hangi değer de yada elinizle büyütme işlemini bu kodla yapabilirsiniz.
yine yukardaki kod'da "IgnoreErrors" hata yok sayma kullanılmıstır ,eğer bu terimi kullanmazsanız hataalır uygulamayı kullanamazsınız 1.33b sürümü ile türkçe harf olayı hatası giderilmiştir.( ignore,Ignore)
1.33 versiyonu yayınlanmadığı için ignoreErrors olarak kullanın şimdilik,yeni sürüm yayınlanınca normalini kullanırsınız.
Webview kullanımında bir diğer sorun ise geri tuşuyla sayfa değişimidir genel olarak can sıkıcı aşagıdaki kod'da geri olayı JQuery mobile için kullanılmıştır hatasız çalışıyor siz normal web sayfası kullanacaksanız
kodu şu şekilde değiştirmelisiniz: web.Execute("web.back();")
eğer geri işlemi varsa önceki sayfalara döner baş sayfaya gelince çıkış diyoloğu gelir ekrana yinede we.back terimi yeteri kadar iyi çalışmıyor ileriki sürümlerde daha fonksiyonel olarak düzeltme yapılacaktır.
Bu hataları gidermek için 2 buton ekleyerek 1.butona anasayfaya dönme yada reset fonksiyonu atayın2.butona ise cıkış fonksiyonu aşagıdaki kodu kopyala yapıştır yaparak ds içinde kullanın unutmayın bu kod yerel html dosyası açmak için, canlı yer imi açmak için : web.LoadUrl("http://selosoft.blogspot.com/" );
şeklinde değişim yapmalısınız.
kodumuz şu şekilde:
app.EnableBackKey( false );
//burada geri tuşuna fonksiyon atadık geri tuşuna basınca uygulamadan cıkmaz.
var lastUrl, web;
var script='<script type="text/javascript" src="http://ad.leadbolt.net/show_app_ad.js?section_id=615889805"></script>'
//üstteki kod'da ise leadbolt reklam içeriğimiz var kendi id'nizi yazarak para kazanmaya başlayın.
function OnStart()
{
lay = app.CreateLayout( "Absolute", "" );
lay.SetBackGradient( "#461E62", "#29123A" )
banner=app.CreateLayout("Absolute","Horizontal,FillXY")
banner.SetSize(1,0.06)
banner.SetPosition( 0, 0);
// banner.SetBackGradient( "#461E62", "#29123A" )
banner.SetBackGradient( "#ff222222", "#ff444444" )
lay.AddChild(banner);
//Create some text.
txt = app.CreateText( "DS WEB" );
txt.SetTextSize( 20);
txt.SetPosition( 0, 0.01);
txt.SetFontFile ( "el.ttf" );
banner.AddChild( txt );
web = app.CreateWebView( 1, 1,"AllowZoom,Wide,AutoZoom" ,70,"IgnoreErrors");
web.SetOnProgress( web_OnProgess );
web.SetPosition(0, 0.06);
lay.AddChild( web );
//APK içinde de çalışması için aşagıdaki kodu ekledik.eğer dosya apk ise apk içindeki klasörü açar değilse ds içindeki klasörü denemeler yaparken cok iş görür tekrar düzenleme yapmazsınız.
var isApk = (app.GetAppPath()=="/Assets");
if( isApk ) folder="file:///android_asset/user/html/";
else folder="file://"+app.GetAppPath()+"/html/";
web.LoadUrl( folder + "index.html" );
//reklam için bir banner büyüklüğünde web görüntüleme
webrek=app.CreateWebView(1,.12)
webrek.LoadHtml(script)
webrek.SetOnProgress( webOnProgress );
webrek.SetPosition(0, 0.88);
lay.AddChild(webrek)
//Add layout to app.
app.AddLayout( lay );
}
//Show page load progress.
function web_OnProgess( progress )
{
app.Debug( "progress = " + progress );
if( progress==100 ) app.HideProgress();
}
function webOnProgress()
{
var url=this.GetUrl();;
if(url==lastUrl) return
lastUrl=url;
if(url.slice(0,9)==="market://")
{
this.LoadHtml(script);
app.OpenUrl(url);
}}
//Set action of Back key
function OnBack1()
{
var yesNo = app.CreateYesNoDialog( "Çıkış ?" );
yesNo.SetOnTouch( yesNo_OnTouch );
}
//Way out if normal Back key disabled
function yesNo_OnTouch( result ){
if( result=="Yes" )
app.Exit();
}
function OnBack()
{
if(web.CanGoBack())
{
web.Execute("$.mobile.back();");
//web.Execute("web.back();"); normal html için.
}else
{
OnBack1()
}
}
aşağıdaki ekran resimlerinde bu kodla oluşturulmuş bir Noktalama işaretleri uygulaması yapılmıştır.
Did you know that you can generate money by locking premium sections of your blog / site?
YanıtlaSilSimply open an account with Mgcash and embed their content locking plugin.
Abi ener bunu okuyarsan bir c3vap verirmisin
YanıtlaSilAbi ener bunu okuyarsan bir c3vap verirmisin
YanıtlaSil