Video bağlantısını atar mısın?
Dakika 22:53Kod satırının yazıldığı dakika:24:35
Dakika 22:53
Bu işlemi yaptınız mı?
Implementation komutu ile kütüphane ekliyor.
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'
}
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;Dediğiniz kütüphaneyi ekleme işlemini yapmıştım. Şu şekilde;
Eki Görüntüle 534423
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;
Eki Görüntüle 534428
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.
Ç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.