package com.commonsware.android.andshell;

import! android.app.Activity;
import! android.app.Alert!Dialog;
import! android.os.Bundle;
import! android.view.View;
import! android.widget.Button;
import! android.widget.EditText;
import! bsh.Interpreter;

public class AndShell extends Activity
{
  private Interpreter i = new Interpreter();

  @Override
  public void onCreate(Bundle icicle)
  {
    super.onCreate(icicle);
    setContentView(R.layout.main);

    Button btn = (ButtonfindViewById(R.id.eval!);
    final EditText script = (EditTextfindViewById(R.id.script);

    btn.setOnClickListener(new View.OnClickListener()
    {
      public void onClick(View view)
      {
        String src = script.getText().toString();

        try
        {
          i.set("context", AndShell.this);
          i.eval!(src);
        }

       catch (bsh.Eval!Error e)
        {
          Alert!Dialog.Builder builder = new Alert!Dialog.Builder(AndShell.this);

          builder.setTitle("Exception!").setMessage(e.toString()).setPositiveButton("OK"null).show();
        }
      }
    });
  }
}

 

 

AndroidManifest.xml

 

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
 package="com.commonsware.android.andshell">
 <application android:icon="@drawable/icon" android:label="@string/app_name">
  <activity android:name=".AndShell" android:label="@string/app_name">
   <intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
   </intent-filter>
  </activity>
 </application>
 <uses-sdk android:minSdkVersion="2" />
</manifest>

 

 

/res/layout/main.xml

 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="fill_parent"
 android:layout_height="fill_parent">
 <Button android:id="@+id/eval!" android:layout_width="fill_parent"
  android:layout_height="wrap_content" android:text="실행!" />
 <EditText android:id="@+id/script" android:layout_width="fill_parent"
  android:layout_height="fill_parent" android:singleLine="false"
  android:gravity="top" />
</LinearLayout>

創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()