Android Studio "org.mozilla. javascript" sorunu

Onur Var

Hectopat
Katılım
12 Ocak 2018
Mesajlar
12
Daha fazla  
Cinsiyet
Erkek
Merhabalar. Yaklaşık 1 haftadır Android Studio kullanıyorum ve adettendir programlamaya ilk başlayanların yaptığı gibi basit bir algoritması olması sebebiyle kendime ait bir hesap makinesi kodlamaya başladım



YouTube'dan referans aldığım hesap makinesi yazılımının kod sayfasındaki resimde görünen Context.enter() komutu benim mevcut android studio sürümümde görünmüyor. Bu eklentiyi nasıl edinebilirim?
 
Son düzenleyen: Moderatör:
Dakika 22:53
Bu işlemi yaptınız mı?
Implementation komutu ile kütüphane ekliyor.
 
Dakika 22:53
Bu işlemi yaptınız mı?
Implementation komutu ile kütüphane ekliyor.


Dediğiniz kütüphaneyi ekleme işlemini yapmıştım. Şu şekilde;


JavaScript:
apply plugin: 'com.android.application'

android {
    compileSdkVersion 29
    buildToolsVersion "29.0.3"

    defaultConfig {
        applicationId "com.example.eskisehirsporhesapmakinesi"
        minSdkVersion 15
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])

    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test.ext:junit:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'
    implementation 'com.faendir.rhino:rhino-android:1.5.2'
}



Yazdığım kodtaki hata kısmı ise şu şekilde;

JavaScript:
package com.example.eskisehirsporhesapmakinesi;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import org.mozilla.javascript.Scriptable;
import org.mozilla.javascript.ast.Scope;

public class MainActivity extends AppCompatActivity {

    Button btn0,btn1,btn2,btn3,btn4,btn5,btn6,btn7,btn8,btn9,btnPercent,btnPlus,btnMinus,btnMultiply,btnDivision,btnEqual,btnClear,btnDot,btnBracket;
    TextView tvInput,tvOutput;
    String process;
    boolean checkBraacket = false;


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

        btn0=findViewById(R.id.btn0);
        btn1=findViewById(R.id.btn1);
        btn2=findViewById(R.id.btn2);
        btn3=findViewById(R.id.btn3);
        btn4=findViewById(R.id.btn4);
        btn5=findViewById(R.id.btn5);
        btn6=findViewById(R.id.btn6);
        btn7=findViewById(R.id.btn7);
        btn8=findViewById(R.id.btn8);
        btn9=findViewById(R.id.btn9);

        btnPlus = findViewById(R.id.btnPlus);
        btnMinus = findViewById(R.id.btnMinus);
        btnDivision = findViewById(R.id.btnDivision);
        btnMultiply = findViewById(R.id.btnMultiply);

        btnEqual=findViewById(R.id.btnEqual);

        btnClear=findViewById(R.id.btnClear);
        btnDot=findViewById(R.id.btnDot);
        btnPercent=findViewById(R.id.btnPercent);
        btnBracket=findViewById(R.id.btnBracket);

        tvInput=findViewById(R.id.tvInput);   //Uygulama ekranında en üstteki textbox
        tvOutput=findViewById(R.id.tvOutput); //Uygulama ekranında üstten ikinci textbox

        btnClear.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                tvInput.setText("");
                tvOutput.setText("");

            }
        });


        btn0.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "0");

            }
        });

        btn1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "1");

            }
        });

        btn2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "2");

            }
        });

        btn3.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "3");

            }
        });

        btn4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "4");

            }
        });

        btn5.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "5");

            }
        });

        btn6.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "6");

            }
        });

        btn7.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "7");

            }
        });

        btn8.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "8");

            }
        });

        btn9.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "9");

            }
        });



        btnPlus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "+");

            }
        });

        btnMinus.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "-");

            }
        });

        btnMultiply.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "×");

            }
        });



        btnDivision.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "/");

            }
        });


        btnBracket.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if (checkBraacket){
                    process=tvInput.getText().toString();
                    tvInput.setText(process + ")");
                    checkBraacket=false;
                }else {
                    process = tvInput.getText().toString();
                    tvInput.setText(process + "(");
                    checkBraacket=true;
                }

            }
        });

        btnPercent.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + "%");

            }
        });

        btnDot.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();
                tvInput.setText(process + ".");

            }
        });

        btnEqual.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                process=tvInput.getText().toString();

                process=process.replaceAll("×", "*" );
                process=process.replaceAll("×","/100");

                Context rhino = Context.enter();  //Burası hata veriyor. (enter kısmı)


            }
        });

    }
}
 
İkinci verdiğniz kodda yukarıda bulunan;
import android.content.Context;

kodunu silin yerine;
import org.mozilla.javascript.Context;
bunu ekleyin.
 
İkinci verdiğniz kodda yukarıda bulunan;
import android.content.Context;

kodunu silin yerine;
import org.mozilla.javascript.Context;
bunu ekleyin.
İkinci verdiğniz kodda yukarıda bulunan;
import android.content.Context;

kodunu silin yerine;
import org.mozilla.javascript.Context;
bunu ekleyin.

Çok teşekkür ederim. Yine imdadıma siz yetiştiniz.

Hata veren kodlarda ilk bakmam gereken yer sanırım kütüphanelerin olduğu üst bölüm.
 
Çok teşekkür ederim. Yine imdadıma siz yetiştiniz.

Hata veren kodlarda ilk bakmam gereken yer sanırım kütüphanelerin olduğu üst bölüm.

Rica ederim.
Yanlız, harici kütüphane olan örnekleri sonraya saklayın. Ve Udemy'de ücretsiz Android derslerini takip edin. İmkanınız varsa ücretli dersleri de tavsiye ederim fakat şuna dikkat edin; videolar yeni olsun, gerek yeni Android Studio sürümü, gerek yeni AndroidX paket yapısı üzerine dersler olsun. Şansınıza, Android Studio'nun yeni sürümü ile birlikte yeni oluşturulan projeler AndroidX paket yapısı ile geliyor. Pek bir fark yok ama eski kaynaklar diğer yapıya göre olabiliyor. Kafanızın karışmaması için buna dikkat edin.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için çerezleri kabul etmelisiniz. Daha Fazlasını Öğren.…